On Thu, 2024-01-18 at 19:50 -0500, Kirk Wolak wrote:
>   I did a little more checking and the reason I did not see the link MIGHT be 
> because EXPLAIN did not show a JIT attempt.
> I tried to use settings that FORCE a JIT...  But to no avail.
> 
>   I am now concerned that the problem is more hidden in my use case.  Meaning 
> I CANNOT conclude it is fixed.
> But I know of NO WAY to force a JIT (I lowered costs to 1, etc.  ).
> 
>   You don't know a way to force at least the JIT analysis to happen?  
> (because I already knew if JIT was off, the leak wouldn't happen). 

If you set the limits to 0, you can trigger it easily:

SET jit = on;
SET jit_above_cost = 0;
SET jit_inline_above_cost = 0;
SET jit_optimize_above_cost = 0;

EXPLAIN (ANALYZE) SELECT count(*) FROM foo;
                                                                QUERY PLAN      
                                                          
══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
 Finalize Aggregate  (cost=58889.84..58889.85 rows=1 width=8) (actual 
time=400.462..418.214 rows=1 loops=1)
   ->  Gather  (cost=58889.62..58889.83 rows=2 width=8) (actual 
time=400.300..418.190 rows=3 loops=1)
         Workers Planned: 2
         Workers Launched: 2
         ->  Partial Aggregate  (cost=57889.62..57889.64 rows=1 width=8) 
(actual time=384.876..384.878 rows=1 loops=3)
               ->  Parallel Seq Scan on foo  (cost=0.00..52681.30 rows=2083330 
width=0) (actual time=0.028..168.510 rows=1666667 loops=3)
 Planning Time: 0.133 ms
 JIT:
   Functions: 8
   Options: Inlining true, Optimization true, Expressions true, Deforming true
   Timing: Generation 1.038 ms, Inlining 279.779 ms, Optimization 38.395 ms, 
Emission 73.105 ms, Total 392.316 ms
 Execution Time: 478.257 ms

Yours,
Laurenz Albe

Reply via email to