aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/spgist/spgutils.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2018-11-09 22:04:14 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2018-11-09 22:04:14 -0500
commit8e02ee788fb5a4aa8be9deb5c0af5ab5ac40007b (patch)
tree384756016935ed0f40ee8af7b9205ded14a470aa /src/backend/access/spgist/spgutils.c
parent1b55acb2cf48341822261bf9c36785be5ee275db (diff)
downloadpostgresql-8e02ee788fb5a4aa8be9deb5c0af5ab5ac40007b.tar.gz
postgresql-8e02ee788fb5a4aa8be9deb5c0af5ab5ac40007b.zip
Fix error-cleanup mistakes in exec_stmt_call().
Commit 15c729347 was a couple bricks shy of a load: we need to ensure that expr->plan gets reset to NULL on any error exit, if it's not supposed to be saved. Also ensure that the stmt->target calculation gets redone if needed. The easy way to exhibit a problem is to set up code that violates the writable-argument restriction and then execute it twice. But error exits out of, eg, setup_param_list() could also break it. Make the existing PG_TRY block cover all of that code to be sure. Per report from Pavel Stehule. Discussion: https://postgr.es/m/CAFj8pRAeXNTO43W2Y0Cn0YOVFPv1WpYyOqQrrzUiN6s=dn7gCg@mail.gmail.com
Diffstat (limited to 'src/backend/access/spgist/spgutils.c')
0 files changed, 0 insertions, 0 deletions