Re: WIP: Allow SQL-language functions to reference parameters by parameter name
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Merlin Moncure <mmoncure@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Andrew Dunstan <andrew@dunslane.net>, Peter Eisentraut <peter_e@gmx.net>, "David E. Wheeler" <david@kineticode.com>, Pavel Stehule <pavel.stehule@gmail.com>, Matthew Draper <matthew@trebex.net>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2011-04-08T16:11:37Z
Lists: pgsql-hackers
Merlin Moncure <mmoncure@gmail.com> writes: > On Thu, Apr 7, 2011 at 8:58 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Well, if we're going to consider 100% backwards compatibility a "must", >> then we should just stick with what the submitted patch does, ie, >> unqualified names are matched first to query columns, and to parameters >> only if there's no column match. This is also per spec if I interpreted >> Peter's comments correctly. The whole thread started because I >> suggested that throwing an error for ambiguous cases might be a better >> design in the long run, but apparently long term ease of code >> maintenance is far down our list of priorities ... > +1, as long as you are 100.0% sure this is not going to break any > existing code. For example, what happens if the argument is named the > same as a table? I was a bit sloppy in my statement above --- what the code is actually doing (or should be doing) is matching to parameters only after the core parser fails to find any match. So "unqualified reference to whole-row" would take precedence too. regards, tom lane