aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2012-07-20 21:25:26 -0400
committerRobert Haas <rhaas@postgresql.org>2012-07-20 21:28:26 -0400
commit0635c0b524368862da08271fbca626faf44290a2 (patch)
tree743703035e0eda08ec28bc19cd8038a6fec554bf
parenta1e5705c9fa6a46d5f284101765085182d3eb600 (diff)
downloadpostgresql-0635c0b524368862da08271fbca626faf44290a2.tar.gz
postgresql-0635c0b524368862da08271fbca626faf44290a2.zip
Repair plpgsql_validator breakage.
Commit 3a0e4d36ebd7f477822d5bae41ba121a40d22ccc arranged to reference stack-allocated variables after they were out of scope. That's no good, so let's arrange to not do that after all.
-rw-r--r--src/pl/plpgsql/src/pl_handler.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/pl/plpgsql/src/pl_handler.c b/src/pl/plpgsql/src/pl_handler.c
index 2adf166164e..905fff0b31d 100644
--- a/src/pl/plpgsql/src/pl_handler.c
+++ b/src/pl/plpgsql/src/pl_handler.c
@@ -280,6 +280,8 @@ plpgsql_validator(PG_FUNCTION_ARGS)
FunctionCallInfoData fake_fcinfo;
FmgrInfo flinfo;
int rc;
+ TriggerData trigdata;
+ EventTriggerData etrigdata;
/*
* Connect to SPI manager (is this needed for compilation?)
@@ -298,17 +300,15 @@ plpgsql_validator(PG_FUNCTION_ARGS)
flinfo.fn_mcxt = CurrentMemoryContext;
if (is_dml_trigger)
{
- TriggerData trigdata;
MemSet(&trigdata, 0, sizeof(trigdata));
trigdata.type = T_TriggerData;
fake_fcinfo.context = (Node *) &trigdata;
}
else if (is_event_trigger)
{
- EventTriggerData trigdata;
- MemSet(&trigdata, 0, sizeof(trigdata));
- trigdata.type = T_EventTriggerData;
- fake_fcinfo.context = (Node *) &trigdata;
+ MemSet(&etrigdata, 0, sizeof(etrigdata));
+ etrigdata.type = T_EventTriggerData;
+ fake_fcinfo.context = (Node *) &etrigdata;
}
/* Test-compile the function */