diff options
| author | Robert Haas | 2012-07-21 01:25:26 +0000 |
|---|---|---|
| committer | Robert Haas | 2012-07-21 01:28:26 +0000 |
| commit | 0635c0b524368862da08271fbca626faf44290a2 (patch) | |
| tree | 743703035e0eda08ec28bc19cd8038a6fec554bf /src/pl | |
| parent | a1e5705c9fa6a46d5f284101765085182d3eb600 (diff) | |
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.
Diffstat (limited to 'src/pl')
| -rw-r--r-- | src/pl/plpgsql/src/pl_handler.c | 10 |
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 */ |
