pgsql: Fix plpgsql to pass only one copy of any given plpgsql variable

Started by Tom Laneover 20 years ago1 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

Log Message:
-----------
Fix plpgsql to pass only one copy of any given plpgsql variable into a SQL
command or expression, rather than one copy for each textual occurrence as
it did before. This might result in some small performance improvement,
but the compelling reason to do it is that not doing so can result in
unexpected grouping failures because the main SQL parser won't see different
parameter numbers as equivalent. Add a regression test for the failure case.
Per report from Robert Davidson.

Tags:
----
REL8_1_STABLE

Modified Files:
--------------
pgsql/src/pl/plpgsql/src:
gram.y (r1.82 -> r1.82.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/gram.y.diff?r1=1.82&r2=1.82.2.1)
pgsql/src/test/regress/expected:
plpgsql.out (r1.40 -> r1.40.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/plpgsql.out.diff?r1=1.40&r2=1.40.2.1)
pgsql/src/test/regress/sql:
plpgsql.sql (r1.34 -> r1.34.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/plpgsql.sql.diff?r1=1.34&r2=1.34.2.1)