commit 6b2affcc0cf4f7badb47892037e392fe12288995
Author: Robert Haas <rhaas@postgresql.org>
Date:   Mon Jan 19 13:53:19 2026 -0500

    generic_sublist should contain a simple_target_list, not a generic_target_list

diff --git a/contrib/pg_plan_advice/expected/syntax.out b/contrib/pg_plan_advice/expected/syntax.out
index cc760d5574a..3a943a8c608 100644
--- a/contrib/pg_plan_advice/expected/syntax.out
+++ b/contrib/pg_plan_advice/expected/syntax.out
@@ -111,6 +111,12 @@ DETAIL:  Could not parse advice: syntax error at or near "("
 SET pg_plan_advice.advice = '123';
 ERROR:  invalid value for parameter "pg_plan_advice.advice": "123"
 DETAIL:  Could not parse advice: syntax error at or near "123"
+SET pg_plan_advice.advice = 'SEQ_SCAN((x))';
+ERROR:  invalid value for parameter "pg_plan_advice.advice": "SEQ_SCAN((x))"
+DETAIL:  Could not parse advice: syntax error at or near "("
+SET pg_plan_advice.advice = 'GATHER(((x)))';
+ERROR:  invalid value for parameter "pg_plan_advice.advice": "GATHER(((x)))"
+DETAIL:  Could not parse advice: syntax error at or near "("
 -- Legal comments.
 SET pg_plan_advice.advice = '/**/';
 EXPLAIN SELECT 1;
diff --git a/contrib/pg_plan_advice/pgpa_parser.y b/contrib/pg_plan_advice/pgpa_parser.y
index 6197d1773c9..bf33724de02 100644
--- a/contrib/pg_plan_advice/pgpa_parser.y
+++ b/contrib/pg_plan_advice/pgpa_parser.y
@@ -262,7 +262,7 @@ generic_target_list: generic_target_list relation_identifier
 		{ $$ = NIL; }
 	;
 
-generic_sublist: '(' generic_target_list ')'
+generic_sublist: '(' simple_target_list ')'
 		{
 			$$ = palloc0_object(pgpa_advice_target);
 			$$->ttype = PGPA_TARGET_ORDERED_LIST;
diff --git a/contrib/pg_plan_advice/sql/syntax.sql b/contrib/pg_plan_advice/sql/syntax.sql
index 429f4679819..195ed694ee9 100644
--- a/contrib/pg_plan_advice/sql/syntax.sql
+++ b/contrib/pg_plan_advice/sql/syntax.sql
@@ -35,6 +35,8 @@ SET pg_plan_advice.advice = 'SEQ_SCAN("a"';
 SET pg_plan_advice.advice = 'SEQ_SCAN(#';
 SET pg_plan_advice.advice = '()';
 SET pg_plan_advice.advice = '123';
+SET pg_plan_advice.advice = 'SEQ_SCAN((x))';
+SET pg_plan_advice.advice = 'GATHER(((x)))';
 
 -- Legal comments.
 SET pg_plan_advice.advice = '/**/';
