pgsql: Fix plpgsql to not lookup block labels except in contexts where a

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix plpgsql to not lookup block labels except in contexts where a
Date: 2007-11-27 19:58:44
Message-ID: 20071127195844.58F247540F0@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Fix plpgsql to not lookup block labels except in contexts where a block label
is sane (eg, EXIT argument or first part of a qualified identifier), and cause
more-closely-nested record variables to take precedence over outer block
labels. This cures the breakage exhibited by Marko Kreen that 8.3 no longer
allowed a function's name to be used for a variable within the function, and
makes plpgsql's handling of block labels more like Oracle's. It's important
to fix this now because we are documenting the use of block labels as variable
qualifiers for the first time in 8.3.

Modified Files:
--------------
pgsql/src/pl/plpgsql/src:
gram.y (r1.106 -> r1.107)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/gram.y?r1=1.106&r2=1.107)
pl_comp.c (r1.119 -> r1.120)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c?r1=1.119&r2=1.120)
pl_funcs.c (r1.65 -> r1.66)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_funcs.c?r1=1.65&r2=1.66)
plpgsql.h (r1.93 -> r1.94)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/plpgsql.h?r1=1.93&r2=1.94)

Browse pgsql-committers by date

  From Date Subject
Next Message User Dim 2007-11-27 21:52:58 pgloader - pgloader: Fix default reformat_path checking; Fix template
Previous Message Tom Lane 2007-11-27 19:13:30 pgsql: Fix pg_regress to check the directory it is actually reading