> We could also use palloc_extended() with MCXT_ALLOC_NO_OOM to avoid erroring > out on OOM and be able to return NULL?
Oh, it seems palloc_extended() would be a better fix.
--
Gaurav
On Fri, Mar 27, 2026 at 2:21 PM Daniel Gustafsson <daniel@yesql.se> wrote:
> On 27 Mar 2026, at 09:21, Lukas Fittl <lukas@fittl.com> wrote:
> But I think you're correct about qbuffer - because that buffer is > using malloc (not palloc), its not part of any memory context, and so > it will happily leak on abort. > > It appears our use of malloc in pg_stat_statements is so that we can > fail on OOM and return NULL without a jump. I think that makes sense > for when a GC cycle was triggered during regular query execution > (since we don't want to error the original query), but it seems like > just bubbling up the OOM if needed when querying the > pg_stat_statements function seems fine.
We could also use palloc_extended() with MCXT_ALLOC_NO_OOM to avoid erroring out on OOM and be able to return NULL?