summaryrefslogtreecommitdiff
path: root/src/backend/commands/analyze.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2014-07-11 19:12:45 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2014-07-11 19:12:45 -0400
commit261f954e7a5861e1706a1e77f5d44c57335d37a6 (patch)
tree65059e8872e49e93b162fa03a54103db40c187a0 /src/backend/commands/analyze.c
parent189bd09cbde8e80a188be57c19860384ab627ada (diff)
Fix bug with whole-row references to append subplans.
ExecEvalWholeRowVar incorrectly supposed that it could "bless" the source TupleTableSlot just once per query. But if the input is coming from an Append (or, perhaps, other cases?) more than one slot might be returned over the query run. This led to "record type has not been registered" errors when a composite datum was extracted from a non-blessed slot. This bug has been there a long time; I guess it escaped notice because when dealing with subqueries the planner tends to expand whole-row Vars into RowExprs, which don't have the same problem. It is possible to trigger the problem in all active branches, though, as illustrated by the added regression test.
Diffstat (limited to 'src/backend/commands/analyze.c')
0 files changed, 0 insertions, 0 deletions