Re: terminate called after throwing an instance of 'std::bad_alloc'
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: pgsql-hackers@postgresql.org, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2021-04-21T01:16:28Z
Lists: pgsql-hackers
Hi, On 2021-04-20 20:03:13 -0500, Justin Pryzby wrote: > That's a query over a 2 day period (midnight to midnight+2), so it's not hard > for me to believe it sometimes exceeds 100k cost units (jit_inline_above_cost), > depending on where we are in that interval, and on planner statistics. It > might've been different when I first reported the problem, too. > > I'm not sure what you mean about expensive enough to be jited ? > I think our custom functions don't have a COST set. What get's JITed is queries. Unless your functions are fully inlinable SQL functions that means that query executions in functions are separately JITed. And need to separately pass the cost minimums. > explain analyze is showing: > > JIT: > Functions: 201 Note that this isn't about how many plpsql functions or such are called, but about how many JITed functions are generated. Typically there's one function per expression, and one for each table accessed. Greetings, Andres Freund
Commits
-
llvmjit: Use explicit LLVMContextRef for inlining
- 3b991f81c457 12.18 landed
- 10912f7d4ff0 13.14 landed
- 75a20a4b4b44 14.11 landed
- aef521849b68 15.6 landed
- 2cf50585e54a 16.2 landed
- 9dce22033d5d 17.0 landed