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: Tomas Vondra <tomas@vondra.me>, "Aya Iwata (Fujitsu)" <iwata.aya@fujitsu.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2025-06-19T18:09:27Z
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-Avoid-magic-numbers-in-vci_is_supported_type.patch (text/x-patch) patch 0001
- 0002-Updated-supported-funcs-SQL-for-recent-PostgreSQL.patch (text/x-patch) patch 0002
On Thu, 2025-06-19 at 14:14 +1000, Peter Smith wrote: > Here are the v8 patches. The main changes are as follows: > > v8-0001 VCI - changes to postgres core > - same > > v8-0002 VCI module - main > - extracted "compression" related code from this main patch > - applied Timur's top-up patch [1] re "session_preload_libraries" > - removed some dead code > > v8-0003 VCI module - documentation > - removed mentions about compression Hello Peter! Thank you for working on VCI updates. Here are some proposals for small improvements: Since hothash feature lives in separate patch now, vci_hothash.o should be removed from vci/executor/Makefile of VCI-module-main patch. 0001-Avoid-magic-numbers-in-vci_is_supported_type.patch I've looked at vci_supported_types.c and tried to rewrite it without using magic constants. Removed call to vci_check_supported_types() from SQL code since there is no need now to check that OID constants still match same types. Using defined constants for OIDs seems more robust than plain numbers. There were 23 type OIDs supported by VCI, all of them are there in a new version of code. I've replaced binary search by simple switch-case since compilers optimize it into nice binary decision tree. Previous version was binary searching among 87 structs. New version only searches among 23 integers. 0002-Updated-supported-funcs-SQL-for-recent-PostgreSQL.patch I wonder if it is possible to rewrite vci_supported_funcs.c in a similar way. There is a vci_supported_funcs.sql which I updated so it can be executed at master version of PostgreSQL. I don't know if it is intentional, but safe_types list from vci_supported_funcs.sql have some differences to the types list from vci_supported_types.c. Specifically, it doesn't include varchar, varbit and uuid. -- Regards, Timur Magomedov