aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/arrayfuncs.c
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2011-05-18 23:56:18 -0400
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2011-05-18 23:56:18 -0400
commit6b449d9051651d3accfdce73e21cfd5e3d0e09a3 (patch)
tree1bed394d1921154258d08a7a4ee263805893f416 /src/backend/utils/adt/arrayfuncs.c
parentea896da394cbb0fb32a4b41065ea04b81c4b03f6 (diff)
downloadpostgresql-6b449d9051651d3accfdce73e21cfd5e3d0e09a3.tar.gz
postgresql-6b449d9051651d3accfdce73e21cfd5e3d0e09a3.zip
Fix declaration of $_TD in "strict" trigger functions
This was broken in commit ef19dc6d39dd2490ff61489da55d95d6941140bf by the Bunce/Hunsaker/Dunstan team, which moved the declaration from plperl_create_sub to plperl_call_perl_trigger_func. This doesn't actually work because the validator code would not find the variable declared; and even if you manage to get past the validator, it still doesn't work because get_sv("_TD", GV_ADD) doesn't have the expected effect. The only reason this got beyond testing is that it only fails in strict mode. We need to declare it as a global just like %_SHARED; it is simpler than trying to actually do what the patch initially intended, and is said to have the same performance benefit. As a more serious issue, fix $_TD not being properly local()ized, meaning nested trigger functions would clobber $_TD. Alex Hunsaker, per test report from Greg Mullane
Diffstat (limited to 'src/backend/utils/adt/arrayfuncs.c')
0 files changed, 0 insertions, 0 deletions