Josh Berkus <josh@agliodbs.com> writes:
>>> How much of this pain would go away if we changed over to the arguably
>>> correct (as in Or*cle does it that way) scoping for names, wherein the
>>> parser first tries to match a name against column names of tables of the
>>> current SQL statement, and only failing that looks to see if they are
>>> plpgsql variables?
> -1 on this. If we're to have definite rules, I would prefer that stuff
> gets assumed to be a variable *first*, and then object definitions are
> only examined after the system fails to find a matching variable name.
Well, we have boatloads of bug reports that say you're wrong on that,
not to mention the Oracle precedent.
regards, tom lane