Overgenerous parsing of UPDATE targetlist

Started by Tom Laneover 26 years ago3 messages
#1Tom Lane
tgl@sss.pgh.pa.us

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

#2Bruce Momjian
maillist@candle.pha.pa.us
In reply to: Tom Lane (#1)
Re: [HACKERS] Overgenerous parsing of UPDATE targetlist

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).

Anything would be clearer than what is there now. Please give them nice
names too, if possible.

-- 
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#3Thomas Lockhart
lockhart@alumni.caltech.edu
In reply to: Tom Lane (#1)
Re: Overgenerous parsing of UPDATE targetlist

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).

Sounds good. I never poked very far into the usage of these clauses,
but istm that your suggestions would make things clearer.

- Thomas

--
Thomas Lockhart lockhart@alumni.caltech.edu
South Pasadena, California