On Thu, Aug 22, 2024 at 11:28 AM Mark Dilger <mark.dil...@enterprisedb.com> wrote: > > On Aug 22, 2024, at 1:36 AM, Alexandra Wang <alexandra.wang....@gmail.com> > > wrote: > > "make installcheck" for treeb is causing issues on my end. I can > > investigate further if it’s not a problem for others. > > The test module index AMs are not intended for use in any installed database, > so 'make installcheck' is unnecessary. A mere 'make check' should suffice. > However, if you want to run it, you can install the modules, edit > postgresql.conf to add 'treeb' to shared_preload_libraries, restart the > server, and run 'make installcheck'. This is necessary for 'treeb' because > it requests shared memory, and that needs to be done at startup.
Thanks, Mark. This works, and I can run treeb now. > The v18 patch set includes the changes your patches suggest, though I > modified the approach a bit. Specifically, rather than standardizing on > '1.0.0' for the module versions, as your patches do, I went with '1.0', as is > standard in other modules in neighboring directories. The '1.0.0' numbering > was something I had been using in versions 1..16 of this patch, and I only > partially converted to '1.0' before posting v17, so sorry about that. The > v18 patch also has some whitespace fixes. > > To address your comments about the noise in the test failures, v18 modifies > the clone_tests.pl script to do a little more work translating the expected > output to expect the module's AM name ("xash", "xtree", "treeb", or whatnot) > beyond what that script did in v17. Thanks! I see fewer failures now. There are a few occurrences of the following error when I run "make check" in the xtree module: +ERROR: bogus RowCompare index qualification I needed to specify `amroutine->amcancrosscompare = true;` in xtree.c to eliminate them, as below: diff --git a/src/test/modules/xtree/access/xtree.c b/src/test/modules/xtree/access/xtree.c index bd472edb04..960966801d 100644 --- a/src/test/modules/xtree/access/xtree.c +++ b/src/test/modules/xtree/access/xtree.c @@ -33,6 +33,7 @@ xtree_indexam_handler(PG_FUNCTION_ARGS) amroutine->amoptsprocnum = BTOPTIONS_PROC; amroutine->amcanorder = true; amroutine->amcanhash = false; + amroutine->amcancrosscompare = true; amroutine->amcanorderbyop = false; amroutine->amcanbackward = true; amroutine->amcanunique = true; After adding that, the regression.diffs for the xtree and treeb modules are identical in content, with only plan diffs remaining. I think this change should be either part of v18-0008-Generalize-hash-and-ordering-support-in-amapi.patch or a separate commit, similar to v18-0009-Adjust-treeb-to-use-amcanhash-and-amcancrosscomp.patch. Best, Alex