]> granicus.if.org Git - postgresql/commit
Add control knobs for plpgsql's variable resolution behavior, and make the
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 13 Nov 2009 22:43:42 +0000 (22:43 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 13 Nov 2009 22:43:42 +0000 (22:43 +0000)
commit631760998626e8fcc9d9d1ac6e7a2a5c5153b575
treefc94e4360b89cade3895a95a5bccc21d30d86588
parent01038d4ad77eec8cdf16a39c69fc902bf30c4072
Add control knobs for plpgsql's variable resolution behavior, and make the
default be "throw error on conflict", as per discussions.  The GUC variable
is plpgsql.variable_conflict, with values "error", "use_variable",
"use_column".  The behavior can also be specified per-function by inserting
one of
#variable_conflict error
#variable_conflict use_variable
#variable_conflict use_column
at the start of the function body.

The 8.5 release notes will need to mention using "use_variable" to retain
backward-compatible behavior, although we should encourage people to migrate
to the much less mistake-prone "error" setting.

Update the plpgsql documentation to match this and other recent changes.
doc/src/sgml/config.sgml
doc/src/sgml/plpgsql.sgml
src/pl/plpgsql/src/gram.y
src/pl/plpgsql/src/pl_comp.c
src/pl/plpgsql/src/pl_handler.c
src/pl/plpgsql/src/pl_scanner.c
src/pl/plpgsql/src/plpgsql.h
src/test/regress/expected/plpgsql.out
src/test/regress/sql/plpgsql.sql