On Sun, Aug 27, 2023 at 7:53 PM Masahiko Sawada <sawada.m...@gmail.com> wrote: > > I've updated the regression tests for tidstore so that it uses SQL > functions to add blocks/offsets and dump its contents. The new test > covers the same test coverages but it's executed using SQL functions > instead of executing all tests in one SQL function.
This is much nicer and more flexible, thanks! A few questions/comments: tidstore_dump_tids() returns a string -- is it difficult to turn this into a SRF, or is it just a bit more work? The lookup test seems fine for now. The output would look nicer with an "order by tid". I think we could have the SQL function tidstore_create() take a boolean for shared memory. That would allow ad-hoc testing without a recompile, if I'm not mistaken. +SELECT tidstore_set_block_offsets(blk, array_agg(offsets.off)::int2[]) + FROM blocks, offsets + GROUP BY blk; + tidstore_set_block_offsets +---------------------------- + + + + + +(5 rows) Calling a void function multiple times leads to vertical whitespace, which looks a bit strange and may look better with some output, even if irrelevant: -SELECT tidstore_set_block_offsets(blk, array_agg(offsets.off)::int2[]) +SELECT row_number() over(order by blk), tidstore_set_block_offsets(blk, array_agg(offsets.off)::int2[]) row_number | tidstore_set_block_offsets ------------+---------------------------- 1 | 2 | 3 | 4 | 5 | (5 rows) -- John Naylor EDB: http://www.enterprisedb.com