On 5/2/14, 10:10 PM, Merlin Moncure wrote:
On Fri, May 2, 2014 at 3:03 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
Meh.  Then you could have a query that works fine until you add a column
to the table, and it stops working.  If nobody ever used column names
identical to table names it'd be all right, but unfortunately people
seem to do that a lot...

That's already the case with select statements

I don't think that's true if you table-qualify your column references and don't use SELECT *.

and, if a user were
concerned about that, always have the option of aliasing the table as
nearly 100% of professional developers do:

SELECT f FROM foo f;
etc.

So e.g.:

  UPDATE foo f SET f = ..;

would resolve to the table, despite there being a column called "f"? That would break backwards compatibility.

How about:

  UPDATE foo SET ROW(foo) = (1,2,3);

ISTM that this could be parsed unambiguously, though it's perhaps a bit ugly.


Regards,
Marko Tiikkaja


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to