]> git.ipfire.org Git - thirdparty/postgresql.git/commit
pg_plan_advice: DO_NOT_SCAN is a simple tag, not a generic one.
authorRobert Haas <rhaas@postgresql.org>
Fri, 29 May 2026 17:51:09 +0000 (13:51 -0400)
committerRobert Haas <rhaas@postgresql.org>
Fri, 29 May 2026 17:51:09 +0000 (13:51 -0400)
commitb1901e2895e08f57a5fedfd27375babd6c633893
tree480ddddc292ec2ce597ca92fe61488d8697258e2
parent878839bafe259e6df355e7adc5a040a1541b63b8
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
contrib/pg_plan_advice/expected/syntax.out
contrib/pg_plan_advice/pgpa_parser.y
contrib/pg_plan_advice/pgpa_scanner.l
contrib/pg_plan_advice/sql/syntax.sql