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

postgres_fdw

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Tom Lane authored
    While converting expressions in an upper-level plan node so that they
    reference Vars and expressions provided by the input plan node(s),
    don't convert plain Const items, even if there happens to be a matching
    Const in the input.  It's silly to do so because a Var is more expensive to
    execute than a Const.  Moreover, converting can fool ExecCheckPlanOutput's
    check that an insert or update query inserts nulls into dropped columns,
    leading to "query provides a value for a dropped column" errors during
    INSERT or UPDATE on a table with a dropped column.  We could solve this
    by making that check more complicated, but I don't see the point; this fix
    should save a marginal number of cycles, and it also makes for less messy
    EXPLAIN output, as shown by the ensuing regression test result changes.
    
    Per report from Pavel Hanák.  I have not incorporated a test case based
    on that example, as there doesn't seem to be a simple way of checking
    this in isolation without making a bunch of assumptions about other
    planner and SQL-function behavior.
    
    Back-patch to 9.6.  This setrefs.c behavior exists much further back,
    but there is not currently reason to think that it causes problems
    before 9.6.
    
    Discussion: <83shraampf.fsf@is-it.eu>
    da8f3ebf
    History
    Name Last commit Last update
    ..