Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

nodeFunctionscan.c

  • Tom Lane's avatar
    45b0f357
    Avoid leaking memory while evaluating arguments for a table function. · 45b0f357
    Tom Lane authored
    ExecMakeTableFunctionResult evaluated the arguments for a function-in-FROM
    in the query-lifespan memory context.  This is insignificant in simple
    cases where the function relation is scanned only once; but if the function
    is in a sub-SELECT or is on the inside of a nested loop, any memory
    consumed during argument evaluation can add up quickly.  (The potential for
    trouble here had been foreseen long ago, per existing comments; but we'd
    not previously seen a complaint from the field about it.)  To fix, create
    an additional temporary context just for this purpose.
    
    Per an example from MauMau.  Back-patch to all active branches.
    45b0f357
    History
    Avoid leaking memory while evaluating arguments for a table function.
    Tom Lane authored
    ExecMakeTableFunctionResult evaluated the arguments for a function-in-FROM
    in the query-lifespan memory context.  This is insignificant in simple
    cases where the function relation is scanned only once; but if the function
    is in a sub-SELECT or is on the inside of a nested loop, any memory
    consumed during argument evaluation can add up quickly.  (The potential for
    trouble here had been foreseen long ago, per existing comments; but we'd
    not previously seen a complaint from the field about it.)  To fix, create
    an additional temporary context just for this purpose.
    
    Per an example from MauMau.  Back-patch to all active branches.