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

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: pg_plan_advice: DO_NOT_SCAN is a simple tag, not a generic one.
Date: 2026-05-29 18:02:25
Message-ID: E1wT1XM-0009fG-2x@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(dot)kalinin(at)postgrespro(dot)ru>
Analyzed-by: Tender Wang <tndrwang(at)gmail(dot)com>
Analyzed-by: Ayush Tiwari <ayushtiwari(dot)slg01(at)gmail(dot)com>
Discussion: http://postgr.es/m/19493-5878eac7a2525c23@postgresql.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b1901e2895e08f57a5fedfd27375babd6c633893

Modified Files
--------------
contrib/pg_plan_advice/expected/syntax.out | 3 +++
contrib/pg_plan_advice/pgpa_parser.y | 2 ++
contrib/pg_plan_advice/pgpa_scanner.l | 3 ++-
contrib/pg_plan_advice/sql/syntax.sql | 1 +
4 files changed, 8 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Jacob Champion 2026-05-29 18:45:06 pgsql: libpq: Send users to the wiki during grease failures
Previous Message Robert Haas 2026-05-29 17:25:42 pgsql: pg_stash_advice: Reject overlong stash names in dump file.