=== Applying patches on top of PostgreSQL commit ID 5941946d0934b9eccb0d5bfebd40b155249a0130 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Wed Mar 19 17:16:26 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 === patch: unrecognized option `--no-backup-if-mismatch' usage: patch [-bCcEeflNnRstuv] [-B backup-prefix] [-D symbol] [-d directory] [-F max-fuzz] [-i patchfile] [-o out-file] [-p strip-count] [-r rej-name] [-V t | nil | never | none] [-x number] [-z backup-ext] [--posix] [origfile [patchfile]] patch 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 768b77aa0d2,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 737ad638808,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 1840f04bfbf,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 c0a8833e068,2d65adb22f7..00000000000 --- a/src/backend/access/nbtree/nbtree.c +++ b/src/backend/access/nbtree/nbtree.c @@@ -107,9 -107,7 +107,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 c4a0737731f,21b5d3149f8..00000000000 --- a/src/include/access/amapi.h +++ b/src/include/access/amapi.h @@@ -243,12 -224,12 +243,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? */