=== Applying patches on top of PostgreSQL commit ID 2c0d8b95080e1d51c60d9c6f6a2e4460d6dfaf77 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Mon Jun 23 09:17:25 UTC 2025 On branch cf/4871 nothing to commit, working tree clean === using 'git am' to apply patch ./v19_0001-Introduce-IndexAmRoutine.ammorderbyopfirstcol.patch === Applying: Introduce IndexAmRoutine.ammorderbyopfirstcol Using index info to reconstruct a base tree... M contrib/bloom/blutils.c M doc/src/sgml/indexam.sgml M src/backend/access/brin/brin.c M src/backend/access/gin/ginutil.c M src/backend/access/gist/gist.c M src/backend/access/hash/hash.c M src/backend/access/nbtree/nbtree.c M src/backend/access/spgist/spgutils.c M src/backend/optimizer/path/indxpath.c M src/include/access/amapi.h M src/include/nodes/pathnodes.h Falling back to patching base and 3-way merge... Auto-merging src/include/nodes/pathnodes.h Auto-merging src/include/access/amapi.h CONFLICT (content): Merge conflict in src/include/access/amapi.h Auto-merging src/backend/optimizer/path/indxpath.c Auto-merging src/backend/access/spgist/spgutils.c CONFLICT (content): Merge conflict in src/backend/access/spgist/spgutils.c Auto-merging src/backend/access/nbtree/nbtree.c CONFLICT (content): Merge conflict in src/backend/access/nbtree/nbtree.c Auto-merging src/backend/access/hash/hash.c CONFLICT (content): Merge conflict in src/backend/access/hash/hash.c Auto-merging src/backend/access/gist/gist.c CONFLICT (content): Merge conflict in src/backend/access/gist/gist.c Auto-merging src/backend/access/gin/ginutil.c CONFLICT (content): Merge conflict in src/backend/access/gin/ginutil.c Auto-merging src/backend/access/brin/brin.c CONFLICT (content): Merge conflict in src/backend/access/brin/brin.c Auto-merging doc/src/sgml/indexam.sgml CONFLICT (content): Merge conflict in doc/src/sgml/indexam.sgml Auto-merging contrib/bloom/blutils.c CONFLICT (content): Merge conflict in contrib/bloom/blutils.c error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 Introduce IndexAmRoutine.ammorderbyopfirstcol 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". Unstaged changes after reset: M contrib/bloom/blutils.c M doc/src/sgml/indexam.sgml M src/backend/access/brin/brin.c M src/backend/access/gin/ginutil.c M src/backend/access/gist/gist.c M src/backend/access/hash/hash.c M src/backend/access/nbtree/nbtree.c M src/backend/access/spgist/spgutils.c M src/backend/optimizer/path/indxpath.c M src/include/access/amapi.h M src/include/nodes/pathnodes.h === using patch(1) to apply patch ./v19_0001-Introduce-IndexAmRoutine.ammorderbyopfirstcol.patch === patching file contrib/bloom/blutils.c Hunk #1 FAILED at 112. 1 out of 1 hunk FAILED -- saving rejects to file contrib/bloom/blutils.c.rej patching file doc/src/sgml/indexam.sgml Hunk #1 FAILED at 103. Hunk #2 succeeded at 981 (offset 49 lines). 1 out of 2 hunks FAILED -- saving rejects to file doc/src/sgml/indexam.sgml.rej patching file src/backend/access/brin/brin.c Hunk #1 FAILED at 253. 1 out of 1 hunk FAILED -- saving rejects to file src/backend/access/brin/brin.c.rej patching file src/backend/access/gin/ginutil.c Hunk #1 FAILED at 43. 1 out of 1 hunk FAILED -- saving rejects to file src/backend/access/gin/ginutil.c.rej patching file src/backend/access/gist/gist.c Hunk #1 FAILED at 65. 1 out of 1 hunk FAILED -- saving rejects to file src/backend/access/gist/gist.c.rej patching file src/backend/access/hash/hash.c Hunk #1 FAILED at 63. 1 out of 1 hunk FAILED -- saving rejects to file src/backend/access/hash/hash.c.rej patching file src/backend/access/nbtree/nbtree.c Hunk #1 FAILED at 107. 1 out of 1 hunk FAILED -- saving rejects to file src/backend/access/nbtree/nbtree.c.rej patching file src/backend/access/spgist/spgutils.c Hunk #1 FAILED at 50. 1 out of 1 hunk FAILED -- saving rejects to file src/backend/access/spgist/spgutils.c.rej patching file src/backend/optimizer/path/indxpath.c Hunk #1 succeeded at 3751 (offset 721 lines). Hunk #2 succeeded at 3784 with fuzz 2 (offset 722 lines). patching file src/include/access/amapi.h Hunk #1 FAILED at 224. 1 out of 1 hunk FAILED -- saving rejects to file src/include/access/amapi.h.rej patching file src/include/nodes/pathnodes.h Hunk #1 succeeded at 1222 (offset 34 lines). Unstaged changes after reset: M doc/src/sgml/indexam.sgml M src/backend/optimizer/path/indxpath.c M src/include/nodes/pathnodes.h Removing contrib/bloom/blutils.c.rej Removing doc/src/sgml/indexam.sgml.rej Removing src/backend/access/brin/brin.c.rej Removing src/backend/access/gin/ginutil.c.rej Removing src/backend/access/gist/gist.c.rej Removing src/backend/access/hash/hash.c.rej Removing src/backend/access/nbtree/nbtree.c.rej Removing src/backend/access/spgist/spgutils.c.rej Removing src/include/access/amapi.h.rej === using 'git apply' to apply patch ./v19_0001-Introduce-IndexAmRoutine.ammorderbyopfirstcol.patch === Applied patch to 'contrib/bloom/blutils.c' with conflicts. Applied patch to 'doc/src/sgml/indexam.sgml' with conflicts. Applied patch to 'src/backend/access/brin/brin.c' with conflicts. Applied patch to 'src/backend/access/gin/ginutil.c' with conflicts. Applied patch to 'src/backend/access/gist/gist.c' with conflicts. Applied patch to 'src/backend/access/hash/hash.c' with conflicts. Applied patch to 'src/backend/access/nbtree/nbtree.c' with conflicts. Applied patch to 'src/backend/access/spgist/spgutils.c' with conflicts. Applied patch to 'src/backend/optimizer/path/indxpath.c' cleanly. Applied patch to 'src/include/access/amapi.h' with conflicts. Applied patch to 'src/include/nodes/pathnodes.h' cleanly. U contrib/bloom/blutils.c U doc/src/sgml/indexam.sgml U src/backend/access/brin/brin.c U src/backend/access/gin/ginutil.c U src/backend/access/gist/gist.c U src/backend/access/hash/hash.c U src/backend/access/nbtree/nbtree.c U src/backend/access/spgist/spgutils.c U src/include/access/amapi.h diff --cc contrib/bloom/blutils.c index 2c0e71eedc6,916734f675c..00000000000 --- a/contrib/bloom/blutils.c +++ b/contrib/bloom/blutils.c @@@ -109,9 -112,7 +109,13 @@@ blhandler(PG_FUNCTION_ARGS amroutine->amoptsprocnum = BLOOM_OPTIONS_PROC; amroutine->amcanorder = false; amroutine->amcanorderbyop = false; ++<<<<<<< ours + amroutine->amcanhash = false; + amroutine->amconsistentequality = false; + amroutine->amconsistentordering = false; ++======= + amroutine->amorderbyopfirstcol = false; ++>>>>>>> theirs amroutine->amcanbackward = false; amroutine->amcanunique = false; amroutine->amcanmulticol = true; diff --cc doc/src/sgml/indexam.sgml index 1aa4741a8ea,a69135cb780..00000000000 --- a/doc/src/sgml/indexam.sgml +++ b/doc/src/sgml/indexam.sgml @@@ -103,12 -103,11 +103,20 @@@ typedef struct IndexAmRoutin bool amcanorder; /* does AM support ORDER BY result of an operator on indexed column? */ bool amcanorderbyop; ++<<<<<<< ours + /* does AM support hashing using API consistent with the hash AM? */ + bool amcanhash; + /* do operators within an opfamily have consistent equality semantics? */ + bool amconsistentequality; + /* do operators within an opfamily have consistent ordering semantics? */ + bool amconsistentordering; ++======= + /* + * Does AM support only the one ORDER BY operator on first indexed column? + * amcanorderbyop is implied. + */ + bool amorderbyopfirstcol; ++>>>>>>> theirs /* does AM support backward scanning? */ bool amcanbackward; /* does AM support UNIQUE indexes? */ diff --cc src/backend/access/brin/brin.c index 4204088fa0d,c371f726979..00000000000 --- a/src/backend/access/brin/brin.c +++ b/src/backend/access/brin/brin.c @@@ -256,9 -253,7 +256,13 @@@ brinhandler(PG_FUNCTION_ARGS amroutine->amoptsprocnum = BRIN_PROCNUM_OPTIONS; amroutine->amcanorder = false; amroutine->amcanorderbyop = false; ++<<<<<<< ours + amroutine->amcanhash = false; + amroutine->amconsistentequality = false; + amroutine->amconsistentordering = false; ++======= + amroutine->amorderbyopfirstcol = false; ++>>>>>>> theirs amroutine->amcanbackward = false; amroutine->amcanunique = false; amroutine->amcanmulticol = true; diff --cc src/backend/access/gin/ginutil.c index 78f7b7a2495,e9536fd9238..00000000000 --- a/src/backend/access/gin/ginutil.c +++ b/src/backend/access/gin/ginutil.c @@@ -44,9 -43,7 +44,13 @@@ ginhandler(PG_FUNCTION_ARGS amroutine->amoptsprocnum = GIN_OPTIONS_PROC; amroutine->amcanorder = false; amroutine->amcanorderbyop = false; ++<<<<<<< ours + amroutine->amcanhash = false; + amroutine->amconsistentequality = false; + amroutine->amconsistentordering = false; ++======= + amroutine->amorderbyopfirstcol = false; ++>>>>>>> theirs amroutine->amcanbackward = false; amroutine->amcanunique = false; amroutine->amcanmulticol = true; diff --cc src/backend/access/gist/gist.c index 7b24380c978,f6ed5023ef0..00000000000 --- a/src/backend/access/gist/gist.c +++ b/src/backend/access/gist/gist.c @@@ -65,9 -65,7 +65,13 @@@ gisthandler(PG_FUNCTION_ARGS amroutine->amoptsprocnum = GIST_OPTIONS_PROC; amroutine->amcanorder = false; amroutine->amcanorderbyop = true; ++<<<<<<< ours + amroutine->amcanhash = false; + amroutine->amconsistentequality = false; + amroutine->amconsistentordering = false; ++======= + amroutine->amorderbyopfirstcol = false; ++>>>>>>> theirs amroutine->amcanbackward = false; amroutine->amcanunique = false; amroutine->amcanmulticol = true; diff --cc src/backend/access/hash/hash.c index 53061c819fb,5a090907bb3..00000000000 --- a/src/backend/access/hash/hash.c +++ b/src/backend/access/hash/hash.c @@@ -64,9 -63,7 +64,13 @@@ hashhandler(PG_FUNCTION_ARGS amroutine->amoptsprocnum = HASHOPTIONS_PROC; amroutine->amcanorder = false; amroutine->amcanorderbyop = false; ++<<<<<<< ours + amroutine->amcanhash = true; + amroutine->amconsistentequality = true; + amroutine->amconsistentordering = false; ++======= + amroutine->amorderbyopfirstcol = false; ++>>>>>>> theirs amroutine->amcanbackward = true; amroutine->amcanunique = false; amroutine->amcanmulticol = false; diff --cc src/backend/access/nbtree/nbtree.c index fdff960c130,2d65adb22f7..00000000000 --- a/src/backend/access/nbtree/nbtree.c +++ b/src/backend/access/nbtree/nbtree.c @@@ -121,9 -107,7 +121,13 @@@ bthandler(PG_FUNCTION_ARGS amroutine->amoptsprocnum = BTOPTIONS_PROC; amroutine->amcanorder = true; amroutine->amcanorderbyop = false; ++<<<<<<< ours + amroutine->amcanhash = false; + amroutine->amconsistentequality = true; + amroutine->amconsistentordering = true; ++======= + amroutine->amorderbyopfirstcol = false; ++>>>>>>> theirs amroutine->amcanbackward = true; amroutine->amcanunique = true; amroutine->amcanmulticol = true; diff --cc src/backend/access/spgist/spgutils.c index 95fea74e296,2ba8cbc966b..00000000000 --- a/src/backend/access/spgist/spgutils.c +++ b/src/backend/access/spgist/spgutils.c @@@ -50,9 -50,7 +50,13 @@@ spghandler(PG_FUNCTION_ARGS amroutine->amoptsprocnum = SPGIST_OPTIONS_PROC; amroutine->amcanorder = false; amroutine->amcanorderbyop = true; ++<<<<<<< ours + amroutine->amcanhash = false; + amroutine->amconsistentequality = false; + amroutine->amconsistentordering = false; ++======= + amroutine->amorderbyopfirstcol = false; ++>>>>>>> theirs amroutine->amcanbackward = false; amroutine->amcanunique = false; amroutine->amcanmulticol = false; diff --cc src/include/access/amapi.h index 52916bab7a3,21b5d3149f8..00000000000 --- a/src/include/access/amapi.h +++ b/src/include/access/amapi.h @@@ -244,12 -224,12 +244,21 @@@ typedef struct IndexAmRoutin bool amcanorder; /* does AM support ORDER BY result of an operator on indexed column? */ bool amcanorderbyop; ++<<<<<<< ours + /* does AM support hashing using API consistent with the hash AM? */ + bool amcanhash; + /* do operators within an opfamily have consistent equality semantics? */ + bool amconsistentequality; + /* do operators within an opfamily have consistent ordering semantics? */ + bool amconsistentordering; ++======= + + /* + * Does AM support only the one ORDER BY operator on first indexed column? + * amcanorderbyop is implied. + */ + bool amorderbyopfirstcol; ++>>>>>>> theirs /* does AM support backward scanning? */ bool amcanbackward; /* does AM support UNIQUE indexes? */