On Wed, 30 Jul 2025 at 19:07, Japin Li <japinli@hotmail.com> wrote:
> On Tue, 29 Jul 2025 at 06:57, Peter Smith <smithpb2250@gmail.com> wrote:
>> Here are the latest v15 patches.
>>
>> Changes include:
>>
>> PATCH 0002.
>> - README now says user should not tamper with VCI internal relations
>> - fixes/test the VACUUM bug -- fix provided by Japin [1]
>> - fixes/tests the reported segv for attempted REFRESH of VCI internal
>> relation -- see [2 comment#1]
>> - fixes/tests VCI internal relation dependency on the indexed table
>> - simplifies code for PG_TEMP_FILES_DIR -- see [2 comment#2]
>>
>
> Hi Peter,
>
> Thanks for updating the patches.
>
> 1.
> I've identified another TRAP failure. Here are the reproduction steps:
>
> rm -rf demo
> initdb -D demo
> cat <<EOF >>demo/postgresql.auto.conf
> shared_preload_libraries = 'vci'
> max_worker_processes = '20'
> EOF
>
> pg_ctl -D demo start
>
> cat <<EOF | psql postgres
> CREATE EXTENSION vci;
> CREATE TABLE t (id int, info text);
> CREATE INDEX ON t USING vci (id);
> INSERT INTO t SELECT id, md5(random()::text) FROM generate_series(1, 1000) id;
> REINDEX TABLE t;
> REINDEX TABLE t;
> EOF
>
> The current VCI design doesn't support REINDEX, which is expected. But I've
> discovered an unexpected issue: running REINDEX on a table a second time causes
> an assertion failure.
>
It appears VCI doesn't support reindexing; add_reindex_index_hook() returns
false, and reindex_index() exits without restoring the security context.
PFA.
--
Regards,
Japin Li
ChengDu WenWu Information Technology Co., Ltd.