=== Applying patches on top of PostgreSQL commit ID 323530e00d279f267265ef32c7e6b40a04c94105 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Fri Jul 17 00:07:28 UTC 2026 On branch cf/6492 nothing to commit, working tree clean === using 'git am' to apply patch ./0001-Provide-support-for-trailing-commas-where-possible-and-practical.patch === Applying: Provide-support-for-trailing-commas-where-possible-and-practical Using index info to reconstruct a base tree... M src/backend/parser/gram.y Falling back to patching base and 3-way merge... Auto-merging src/backend/parser/gram.y CONFLICT (content): Merge conflict in src/backend/parser/gram.y error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 Provide-support-for-trailing-commas-where-possible-and-practical When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". === using patch(1) to apply patch ./0001-Provide-support-for-trailing-commas-where-possible-and-practical.patch === patching file src/backend/parser/gram.y Hunk #1 FAILED at 321. Hunk #2 succeeded at 339 (offset 2 lines). Hunk #3 succeeded at 358 (offset 2 lines). Hunk #4 succeeded at 371 (offset 2 lines). Hunk #5 succeeded at 384 (offset 2 lines). Hunk #6 succeeded at 408 (offset 2 lines). Hunk #7 FAILED at 423. Hunk #8 succeeded at 539 (offset 3 lines). Hunk #9 succeeded at 570 (offset 5 lines). Hunk #10 FAILED at 621. Hunk #11 succeeded at 646 (offset 6 lines). Hunk #12 succeeded at 656 (offset 6 lines). Hunk #13 succeeded at 689 (offset 14 lines). Hunk #14 FAILED at 894. Hunk #15 succeeded at 956 (offset 50 lines). Hunk #16 succeeded at 1187 (offset 52 lines). Hunk #17 succeeded at 1224 (offset 57 lines). Hunk #18 succeeded at 2451 (offset 60 lines). Hunk #19 succeeded at 3261 (offset 60 lines). Hunk #20 succeeded at 3436 (offset 60 lines). Hunk #21 succeeded at 3465 (offset 60 lines). Hunk #22 succeeded at 3757 (offset 64 lines). Hunk #23 succeeded at 3786 (offset 68 lines). Hunk #24 succeeded at 3979 (offset 68 lines). Hunk #25 succeeded at 4605 (offset 68 lines). Hunk #26 succeeded at 4621 (offset 68 lines). Hunk #27 succeeded at 4648 (offset 68 lines). Hunk #28 succeeded at 4675 (offset 68 lines). Hunk #29 succeeded at 4833 (offset 68 lines). Hunk #30 succeeded at 4958 (offset 68 lines). Hunk #31 succeeded at 5734 (offset 70 lines). Hunk #32 succeeded at 5748 (offset 70 lines). Hunk #33 succeeded at 6345 (offset 70 lines). Hunk #34 succeeded at 6431 (offset 70 lines). Hunk #35 succeeded at 6544 (offset 70 lines). Hunk #36 succeeded at 6769 (offset 70 lines). Hunk #37 succeeded at 6820 (offset 70 lines). Hunk #38 succeeded at 6946 (offset 70 lines). Hunk #39 succeeded at 7056 (offset 70 lines). Hunk #40 succeeded at 7361 (offset 71 lines). Hunk #41 succeeded at 7380 (offset 71 lines). Hunk #42 succeeded at 8009 (offset 71 lines). Hunk #43 succeeded at 8017 (offset 71 lines). Hunk #44 succeeded at 8027 (offset 71 lines). Hunk #45 succeeded at 8078 (offset 71 lines). Hunk #46 succeeded at 8303 (offset 80 lines). Hunk #47 succeeded at 8384 (offset 80 lines). Hunk #48 succeeded at 8592 (offset 80 lines). Hunk #49 succeeded at 8659 (offset 80 lines). Hunk #50 succeeded at 8765 (offset 80 lines). Hunk #51 succeeded at 8836 (offset 80 lines). Hunk #52 succeeded at 9040 (offset 80 lines). Hunk #53 succeeded at 9061 (offset 80 lines). Hunk #54 succeeded at 9238 (offset 80 lines). Hunk #55 succeeded at 9267 (offset 80 lines). Hunk #56 succeeded at 9483 (offset 80 lines). Hunk #57 succeeded at 11110 (offset 474 lines). Hunk #58 succeeded at 11533 with fuzz 2 (offset 484 lines). Hunk #59 succeeded at 11562 with fuzz 2 (offset 490 lines). Hunk #60 succeeded at 12139 (offset 550 lines). Hunk #61 succeeded at 12198 (offset 550 lines). Hunk #62 succeeded at 12217 (offset 550 lines). Hunk #63 succeeded at 12433 (offset 550 lines). Hunk #64 succeeded at 12923 (offset 599 lines). Hunk #65 succeeded at 13206 (offset 599 lines). Hunk #66 succeeded at 13461 (offset 646 lines). Hunk #67 succeeded at 13510 (offset 646 lines). Hunk #68 succeeded at 14016 (offset 646 lines). Hunk #69 succeeded at 14042 (offset 646 lines). Hunk #70 succeeded at 14060 (offset 646 lines). Hunk #71 succeeded at 14084 (offset 646 lines). Hunk #72 succeeded at 14218 (offset 646 lines). Hunk #73 succeeded at 14478 (offset 646 lines). Hunk #74 succeeded at 14615 (offset 651 lines). Hunk #75 succeeded at 14988 (offset 662 lines). Hunk #76 succeeded at 15139 (offset 711 lines). Hunk #77 succeeded at 15183 (offset 711 lines). Hunk #78 succeeded at 15241 (offset 711 lines). Hunk #79 succeeded at 15363 (offset 711 lines). Hunk #80 succeeded at 15427 (offset 714 lines). Hunk #81 succeeded at 16849 (offset 806 lines). Hunk #82 succeeded at 16858 (offset 806 lines). Hunk #83 succeeded at 16877 (offset 806 lines). Hunk #84 FAILED at 16686. Hunk #85 succeeded at 17603 (offset 806 lines). Hunk #86 succeeded at 17848 (offset 806 lines). Hunk #87 succeeded at 17922 (offset 808 lines). Hunk #88 succeeded at 17982 (offset 808 lines). Hunk #89 succeeded at 18004 (offset 808 lines). Hunk #90 succeeded at 18477 (offset 808 lines). Hunk #91 succeeded at 18700 (offset 1016 lines). Hunk #92 succeeded at 18755 (offset 1016 lines). Hunk #93 succeeded at 18781 (offset 1016 lines). Hunk #94 succeeded at 18850 (offset 1016 lines). Hunk #95 succeeded at 19007 (offset 1016 lines). 5 out of 95 hunks FAILED -- saving rejects to file src/backend/parser/gram.y.rej Unstaged changes after reset: M src/backend/parser/gram.y Removing src/backend/parser/gram.y.rej === using 'git apply' to apply patch ./0001-Provide-support-for-trailing-commas-where-possible-and-practical.patch === Applied patch to 'src/backend/parser/gram.y' with conflicts. U src/backend/parser/gram.y diff --cc src/backend/parser/gram.y index 9e05a314707,02d3a623703..00000000000 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@@ -323,9 -321,10 +323,10 @@@ static Node *makeRecursiveViewSelect(ch simple_select values_clause PLpgSQL_Expr PLAssignStmt + %type opt_trailing_comma %type opt_single_name %type opt_qualified_name -%type opt_concurrently +%type opt_concurrently opt_usingindex %type opt_drop_behavior %type opt_utility_option_list %type opt_wait_with_clause @@@ -450,14 -456,15 +458,21 @@@ prep_type_clause execute_param_clause using_clause returning_with_clause returning_options - opt_enum_val_list enum_val_list table_func_column_list + opt_enum_val_list enum_val_list enum_val_list_items + table_func_column_list table_func_column_list_items create_generic_options alter_generic_options - relation_expr_list dostmt_opt_list - transform_element_list transform_type_list + relation_expr_list relation_expr_list_items dostmt_opt_list + transform_element_list transform_type_list transform_type_list_items TriggerTransitions TriggerReferencing ++<<<<<<< ours + vacuum_relation_list opt_vacuum_relation_list + drop_option_list pub_obj_list pub_all_obj_type_list + pub_except_obj_list opt_pub_except_clause ++======= + vacuum_relation_list vacuum_relation_list_items opt_vacuum_relation_list + drop_option_list drop_option_list_items + pub_obj_list pub_obj_list_items pub_all_obj_type_list pub_all_obj_type_list_items ++>>>>>>> theirs %type returning_clause %type returning_option @@@ -623,8 -628,8 +639,13 @@@ %type opt_provider security_label ++<<<<<<< ours +%type labeled_expr +%type labeled_expr_list xml_attributes ++======= + %type xml_attribute_el + %type xml_attribute_list xml_attribute_list_items xml_attributes ++>>>>>>> theirs %type xml_root_version opt_xml_root_standalone %type xmlexists_argument %type document_or_content @@@ -940,8 -901,11 +961,16 @@@ */ %nonassoc UNBOUNDED NESTED /* ideally would have same precedence as IDENT */ %nonassoc IDENT PARTITION RANGE ROWS GROUPS PRECEDING FOLLOWING CUBE ROLLUP ++<<<<<<< ours + SET KEYS OBJECT_P SCALAR TO USING VALUE_P WITH WITHOUT PATH +%left Op OPERATOR RIGHT_ARROW '|' /* multi-character ops and user-defined operators */ ++======= + SET KEYS OBJECT_P SCALAR VALUE_P WITH WITHOUT PATH + %nonassoc DEFERRED IMMEDIATE SKIP NOWAIT RESTRICT CASCADE REVOKE REPLACE PERIOD GRANTED + %nonassoc RESTART CONTINUE_P + %nonassoc ADMIN CONNECTION INHERIT ENCRYPTED PASSWORD ROLE SYSID UNENCRYPTED VALID + %left Op OPERATOR /* multi-character ops and user-defined operators */ ++>>>>>>> theirs %left '+' '-' %left '*' '/' '%' %left '^' @@@ -11411,19 -11060,18 +11559,23 @@@ PublicationObjSpec } ; - pub_obj_list: PublicationObjSpec - { $$ = list_make1($1); } - | pub_obj_list ',' PublicationObjSpec - { $$ = lappend($1, $3); } - ; + pub_obj_list: + pub_obj_list_items opt_trailing_comma { $$ = $1; } + ; + + pub_obj_list_items: + PublicationObjSpec { $$ = list_make1($1); } + | pub_obj_list_items ',' PublicationObjSpec { $$ = lappend($1, $3); } + ; + +opt_pub_except_clause: + EXCEPT '(' TABLE pub_except_obj_list ')' { $$ = $4; } + | /*EMPTY*/ { $$ = NIL; } + ; + PublicationAllObjSpec: - ALL TABLES + ALL TABLES opt_pub_except_clause { $$ = makeNode(PublicationAllObjSpec); $$->pubobjtype = PUBLICATION_ALL_TABLES; @@@ -11436,31 -11083,17 +11588,34 @@@ $$->pubobjtype = PUBLICATION_ALL_SEQUENCES; $$->location = @1; } - ; + ; - pub_all_obj_type_list: PublicationAllObjSpec - { $$ = list_make1($1); } - | pub_all_obj_type_list ',' PublicationAllObjSpec - { $$ = lappend($1, $3); } - ; + pub_all_obj_type_list: + pub_all_obj_type_list_items opt_trailing_comma { $$ = $1; } + ; + + pub_all_obj_type_list_items: + PublicationAllObjSpec { $$ = list_make1($1); } + | pub_all_obj_type_list_items ',' PublicationAllObjSpec { $$ = lappend($1, $3); } + ; +PublicationExceptObjSpec: + relation_expr + { + $$ = makeNode(PublicationObjSpec); + $$->pubobjtype = PUBLICATIONOBJ_EXCEPT_TABLE; + $$->pubtable = makeNode(PublicationTable); + $$->pubtable->except = true; + $$->pubtable->relation = $1; + $$->location = @1; + } + ; + +pub_except_obj_list: PublicationExceptObjSpec + { $$ = list_make1($1); } + | pub_except_obj_list ',' opt_table PublicationExceptObjSpec + { $$ = lappend($1, $4); } + ; /***************************************************************************** * @@@ -17281,14 -16694,19 +17515,24 @@@ opt_xml_root_standalone: ',' STANDALONE { $$ = makeIntConst(XML_STANDALONE_OMITTED, -1); } ; -xml_attributes: XMLATTRIBUTES '(' xml_attribute_list ')' { $$ = $3; } +xml_attributes: XMLATTRIBUTES '(' labeled_expr_list ')' { $$ = $3; } ; ++<<<<<<< ours +labeled_expr_list: labeled_expr { $$ = list_make1($1); } + | labeled_expr_list ',' labeled_expr { $$ = lappend($1, $3); } ++======= + xml_attribute_list: + xml_attribute_list_items opt_trailing_comma { $$ = $1; } + ; + + xml_attribute_list_items: + xml_attribute_el { $$ = list_make1($1); } + | xml_attribute_list_items ',' xml_attribute_el { $$ = lappend($1, $3); } ++>>>>>>> theirs ; -xml_attribute_el: a_expr AS ColLabel +labeled_expr: a_expr AS ColLabel { $$ = makeNode(ResTarget); $$->name = $3;