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>
Cc: "pgsql-hackers@lists.postgresql.org"
<pgsql-hackers@lists.postgresql.org>, 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-26T14:09:32Z
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
- startup_segfault_backtrace.txt (text/plain)
- 0001-Initialize-in-place-update-struct.patch (text/x-patch) patch 0001
Hello Peter! There is a code in vci_ros.c that initializes xl_heap_inplace xlrec. Comment says this code was taken from src/backend/access/heap/heapam.c. It was fine for Postgres 17 and earlier however struct xl_heap_inplace has 6 fields, not one since commit 243e9b40f1b2. So nmsgs field of xlrec has some random uninitialized value from stack. It goes to WAL and in case of big nmsgs it can cause segfault during server startup. Here are backtrace of a segfault while applying WAL on server startup and a patch that initializes all necessary fields of xlrec to avoid bad WAL records. -- Regards, Timur Magomedov