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 just found Andres's opinion on this, it looks like he would suggest
not free it [1], and the reason is similar here [2], so I would like to