aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/trigger.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2010-07-28 04:50:50 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2010-07-28 04:50:50 +0000
commit133924e13e004db8979424bf5436e21b0a09a069 (patch)
tree873e884862ef6b7aa849d42cf2b6aa7227b70b17 /src/backend/commands/trigger.c
parent4ff9c8dd48b265d925be8bf90ac65c34a249c7b5 (diff)
downloadpostgresql-133924e13e004db8979424bf5436e21b0a09a069.tar.gz
postgresql-133924e13e004db8979424bf5436e21b0a09a069.zip
Fix potential failure when hashing the output of a subplan that produces
a pass-by-reference datatype with a nontrivial projection step. We were using the same memory context for the projection operation as for the temporary context used by the hashtable routines in execGrouping.c. However, the hashtable routines feel free to reset their temp context at any time, which'd lead to destroying input data that was still needed. Report and diagnosis by Tao Ma. Back-patch to 8.1, where the problem was introduced by the changes that allowed us to work with "virtual" tuples instead of materializing intermediate tuple values everywhere. The earlier code looks quite similar, but it doesn't suffer the problem because the data gets copied into another context as a result of having to materialize ExecProject's output tuple.
Diffstat (limited to 'src/backend/commands/trigger.c')
0 files changed, 0 insertions, 0 deletions