Re: Extract numeric filed in JSONB more effectively
Andy Fan <zhihui.fan1213@gmail.com>
From: Andy Fan <zhihui.fan1213@gmail.com>
To: jian he <jian.universality@gmail.com>
Cc: Pavel Stehule <pavel.stehule@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-08-07T11:51:18Z
Lists: pgsql-hackers
Hi Jian: Thanks for the review! compared with jsonb_numeric. I am wondering if you need a free *jb. > elog(INFO,"jb=%p arg pointer=%p ", jb, PG_GETARG_POINTER(0)); > says there two are not the same. > Thanks for pointing this out, I am not sure what to do right now. Basically the question is that shall we free the memory which is allocated in a function call. The proof to do it is obvious, but the proof to NOT do it may be usually the memory is allocated under ExprContext Memorycontext, it will be reset once the current tuple is proceed, and MemoryContextReset will be more effective than pfrees; I checked most of the functions to free its memory, besides the ones you mentioned, numeric_gt/ne/xxx function also free them directly. But the functions like jsonb_object_field_text, jsonb_array_element, jsonb_array_element_text don't. I'd like to hear more options from more experienced people, this issue also confused me before. and I'm neutral to this now. after we get an agreement on this, I will update the patch accordingly. -- Best Regards Andy Fan
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add trailing commas to enum definitions
- 611806cd726f 17.0 cited