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 <[email protected]> Analyzed-by: Tender Wang <[email protected]> Analyzed-by: Ayush Tiwari <[email protected]> Discussion: http://postgr.es/m/[email protected] 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(-)
