Thread: Overgenerous parsing of UPDATE targetlist

Overgenerous parsing of UPDATE targetlist

From
Tom Lane
Date:
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


Re: [HACKERS] Overgenerous parsing of UPDATE targetlist

From
Bruce Momjian
Date:
> 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,
Pennsylvania19026
 


Re: Overgenerous parsing of UPDATE targetlist

From
Thomas Lockhart
Date:
> 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