diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2016-11-06 12:09:36 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2016-11-06 12:09:36 -0500 |
commit | 674877e93a1b9217c692a5671e1118136959ee74 (patch) | |
tree | c2f5a46de324400b77df0c6bfb7dd8f6da377cf3 /src/backend/executor/nodeFunctionscan.c | |
parent | 6e377ef0cc88851f9d077ae93f529701af81170d (diff) | |
download | postgresql-674877e93a1b9217c692a5671e1118136959ee74.tar.gz postgresql-674877e93a1b9217c692a5671e1118136959ee74.zip |
Need to do SPI_push/SPI_pop around expression evaluation in plpgsql.
We must do this in case the expression evaluation results in calling
another plpgsql function (or, really, anything using SPI). I missed
the need for this when I converted exec_cast_value() from doing a
simple InputFunctionCall() to doing ExecEvalExpr() in commit 1345cc67b.
There is a SPI_push_conditional in InputFunctionCall(), so that there
was no bug before that.
Per bug #14414 from Marcos Castedo. Add a regression test based on his
example, which was that a plpgsql function in a domain check constraint
didn't work when assigning to a domain-type variable within plpgsql.
Report: <20161106010947.1387.66380@wrigleys.postgresql.org>
Diffstat (limited to 'src/backend/executor/nodeFunctionscan.c')
0 files changed, 0 insertions, 0 deletions