Thread: pgsql: Add control knobs for plpgsql's variable resolution behavior, and
pgsql: Add control knobs for plpgsql's variable resolution behavior, and
From
tgl@postgresql.org (Tom Lane)
Date:
Log Message: ----------- 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. Modified Files: -------------- pgsql/doc/src/sgml: config.sgml (r1.232 -> r1.233) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/config.sgml?r1=1.232&r2=1.233) plpgsql.sgml (r1.146 -> r1.147) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/plpgsql.sgml?r1=1.146&r2=1.147) pgsql/src/pl/plpgsql/src: gram.y (r1.135 -> r1.136) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/gram.y?r1=1.135&r2=1.136) pl_comp.c (r1.145 -> r1.146) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c?r1=1.145&r2=1.146) pl_handler.c (r1.47 -> r1.48) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_handler.c?r1=1.47&r2=1.48) pl_scanner.c (r1.1 -> r1.2) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_scanner.c?r1=1.1&r2=1.2) plpgsql.h (r1.124 -> r1.125) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/plpgsql.h?r1=1.124&r2=1.125) pgsql/src/test/regress/expected: plpgsql.out (r1.81 -> r1.82) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/plpgsql.out?r1=1.81&r2=1.82) pgsql/src/test/regress/sql: plpgsql.sql (r1.68 -> r1.69) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/plpgsql.sql?r1=1.68&r2=1.69)