pg_plan_advice: DO_NOT_SCAN is a simple tag, not a generic one.

Robert Haas <rhaas@postgresql.org>

Commit: b1901e2895e08f57a5fedfd27375babd6c633893
Author: Robert Haas <rhaas@postgresql.org>
Date: 2026-05-29T17:51:09Z
pg_plan_advice: DO_NOT_SCAN is a simple tag, not a generic one.

Generic tags allow sublists, e.g. MERGE_JOIN((x y)), but simple
tags do not, e.g. SEQ_SCAN(x) is valid but SEQ_SCAN((x)) is not.
DO_NOT_SCAN was intended to be simple tag, but was accidentally
implemented as a generic one. This could result in assertion
failures. Repair.

Reported-by: Nikita Kalinin <n.kalinin@postgrespro.ru>
Analyzed-by: Tender Wang <tndrwang@gmail.com>
Analyzed-by: Ayush Tiwari <ayushtiwari.slg01@gmail.com>
Discussion: http://postgr.es/m/19493-5878eac7a2525c23@postgresql.org

Files

Discussion