Overgenerous parsing of UPDATE targetlist

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Thomas Lockhart <lockhart(at)alumni(dot)caltech(dot)edu>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Overgenerous parsing of UPDATE targetlist
Date: 1999-07-11 19:37:32
Message-ID: 15861.931721852@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Thomas,

I observe that gram.y's <res_target_list> nonterminal is only used in
UPDATE statements. It accepts a lot too much for that purpose; the
following sorts of things get by the grammar, only to fail later on:

UPDATE table SET *;
UPDATE table SET table.column;
UPDATE table SET table.*;

None of these are valid according to SQL92 or have any visible use.

I propose renaming res_target_list and res_target_el to
update_target_list and update_target_el, and removing the alternatives
that aren't actually valid for UPDATE.

Having done that, we might as well rename res_target_list2 and
res_target_el2 to something clearer (I'm thinking just target_list and
target_el, but if you want to keep the "res_" I won't object).

Comments, objections?

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 1999-07-11 22:06:54 Arrays versus 'type constant' syntax
Previous Message pgsql-hackers 1999-07-11 18:54:06 Re: [ADMIN] Re: [HACKERS] Problems with src/pl/tcl/mkMakefile.tcldefs.sh.in in 6.5