Re: Making jsonb_agg() faster
Chao Li <li.evan.chao@gmail.com>
From: Chao Li <li.evan.chao@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: jian he <jian.universality@gmail.com>,
pgsql-hackers@lists.postgresql.org
Date: 2025-12-06T01:35:51Z
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 →
-
Fix jsonb_object_agg crash after eliminating null-valued pairs.
- ef5f559b95e2 19 (unreleased) landed
-
Micro-optimize datatype conversions in datum_to_jsonb_internal.
- 005a2907dc30 19 (unreleased) landed
-
Remove fundamentally-redundant processing in jsonb_agg() et al.
- b61aa76e4585 19 (unreleased) landed
-
Revise APIs for pushJsonbValue() and associated routines.
- 0986e95161ce 19 (unreleased) landed
-
Add a macro for the declared typlen of type timetz.
- 3628af42107d 19 (unreleased) landed
> On Dec 6, 2025, at 07:14, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > v5, rebased over a couple of recent patches. No substantive changes. > > I'd kind of like to get this pushed soon, because it keeps getting > sideswiped ... does anyone have further comments? Actually I traced v4 again this week. I tried to find out something to comment, but ended up I didn’t find anything significant. My only nit commit is still about the hard-coded 12: ``` + case TIMETZOID: + /* pass-by-reference */ + oldcontext = MemoryContextSwitchTo(outcontext); + v->val.datetime.value = datumCopy(v->val.datetime.value, + false, 12); ``` I commented this before and you explained. But I still think it may deserve a comment for why 12 is here, otherwise future reader may also get the same confusion as when I first time read this code. Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/