Re: [WIP]Vertical Clustered Index (columnar store extension) - take2
Timur Magomedov <t.magomedov@postgrespro.ru>
From: Timur Magomedov <t.magomedov@postgrespro.ru>
To: Peter Smith <smithpb2250@gmail.com>,
"pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Cc: Tomas Vondra <tomas@vondra.me>, "Aya Iwata (Fujitsu)" <iwata.aya@fujitsu.com>, Japin Li <japinli@hotmail.com>, shveta malik <shveta.malik@gmail.com>
Date: 2025-09-17T15:15:00Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Mark ItemPointer arguments as const throughout
- e1ac846f3d28 19 (unreleased) cited
-
Reorganize GUC structs
- a13833c35f9e 19 (unreleased) cited
-
Eliminate XLOG_HEAP2_VISIBLE from vacuum phase III
- add323da40a6 19 (unreleased) cited
-
Update various forward declarations to use typedef
- d4d1fc527bdb 19 (unreleased) cited
-
Pathify RHS unique-ification for semijoin planning
- 24225ad9aafc 19 (unreleased) cited
-
Revert "Don't lock partitions pruned by initial pruning"
- 1722d5eb05d8 18.0 cited
-
For inplace update, send nontransactional invalidations.
- 243e9b40f1b2 18.0 cited
-
Remove nearly-unused SizeOfIptrData macro.
- 8023b5827fba 10.0 cited
Attachments
- 0001-Assert-corrrect-node-tags-when-casting-to-VciScanSta.patch (text/x-patch) patch 0001
- 0002-Reproducer-of-invalid-cast-to-VciScanState.patch (text/x-patch) patch 0002
Hello Peter! I've found (using valgrind) some cases of reading random garbage after allocated memory. Investigation showed this was caused by converting some nodes to VciScanState* even if they have smaller size allocated originally. So accessing VciScanState fields was accessing memory after palloc'ed memory which could be used by any other allocation. I think converting to VciScanState* is only valid for nodes with tag T_CustomScanState so here is a patch that adds assertions for this: 0001-Assert-corrrect-node-tags-when-casting-to-VciScanSta.patch VCI v23 passes the tests with this patch applied. There are queries that fail unfortunately. I've added one of them to bugs.sql: 0002-Reproducer-of-invalid-cast-to-VciScanState.patch Node with tag 420 (T_NestLoopState) is cast to VciScanState* that fails newly added assertion. I'm not sure where to look next to fix this. Looking forward for you comments and ideas. -- Regards, Timur Magomedov