Hi, On Tue, Apr 07, 2026 at 02:27:40PM +0300, Heikki Linnakangas wrote: > On 03/03/2026 19:31, David Geier wrote: > > > Attached are the patches rebased on latest master. > > > > > > I've removed the ASCII fast-path patch 0006 as it turned out to be more > > > complicated to make work than expected. > > > > > > I kept the radix sort patch because it gives a decent speedup but I > > > would like to focus for now on getting patches 0001 - 0004 merged. > > > They're all simple and, the way I see it, uncontroversial. > > > > > > I remeasured the savings of 0001 - 0004, which comes on top of the > > > already committed patch that inlined the comparison function, which gave > > > another ~5%: > > > > > > Data set | Patched (ms) | Master (ms) | Speedup > > > --------------------|--------------|--------------|---------- > > > movies(plot) | 8,058 | 10,311 | 1.27x > > > lineitem(l_comment) | 223,233 | 256,986 | 1.19x > > > > > > I've also registered the change at the commit fest, see > > > https://commitfest.postgresql.org/patch/6418/. > > > > Attached is v5 that removes an incorrect assertion from the radix sort code. > > > > v5-0001-Optimize-sort-and-deduplication-in-ginExtractEntr.patch > > v5-0002-Optimize-generate_trgm-with-sort_template.h.patch > > v5-0003-Make-btint4cmp-branchless.patch > > v5-0004-Faster-qunique-comparator-in-generate_trgm.patch > > v5-0005-Optimize-generate_trgm-with-radix-sort.patch > > Pushed 0001 as commit 6f5ad00ab7.
This commit makes use of StaticAssertStmt() that has been deprecated in d50c86e74375. The attached, fixes it. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
>From a2289b5c7db807592e470b525ac71cfea2a7cba3 Mon Sep 17 00:00:00 2001 From: Bertrand Drouvot <[email protected]> Date: Thu, 9 Apr 2026 11:10:33 +0000 Subject: [PATCH v1] gin: change remaining StaticAssertStmt() to StaticAssertDecl() d50c86e74375 added a comment mentioning that StaticAssertStmt is deprecated but 6f5ad00ab763 made use of it. Fixing by replacing the StaticAssertStmt() by StaticAssertDecl() at file scope. Author: Bertrand Drouvot <[email protected]> --- src/backend/access/gin/ginutil.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 100.0% src/backend/access/gin/ diff --git a/src/backend/access/gin/ginutil.c b/src/backend/access/gin/ginutil.c index d3351fbe8a3..45d1a8fac9f 100644 --- a/src/backend/access/gin/ginutil.c +++ b/src/backend/access/gin/ginutil.c @@ -30,6 +30,8 @@ #include "utils/typcache.h" #include "lib/qunique.h" +/* GIN_CAT_NORM_KEY must be equal to 0 */ +StaticAssertDecl(GIN_CAT_NORM_KEY == 0, "Assuming GIN_CAT_NORM_KEY=0"); /* * GIN handler function: return IndexAmRoutine with access method parameters @@ -534,7 +536,6 @@ ginExtractEntries(GinState *ginstate, OffsetNumber attnum, /* * Create GinNullCategory representation. */ - StaticAssertStmt(GIN_CAT_NORM_KEY == 0, "Assuming GIN_CAT_NORM_KEY=0"); categories = palloc0_array(GinNullCategory, nentries + (hasNull ? 1 : 0)); /* Put back a NULL entry, if there were any */ -- 2.34.1
