Overgenerous parsing of UPDATE targetlist - Mailing list pgsql-hackers

From Tom Lane
Subject Overgenerous parsing of UPDATE targetlist
Date
Msg-id 15861.931721852@sss.pgh.pa.us
Whole thread Raw
Responses Re: [HACKERS] Overgenerous parsing of UPDATE targetlist
List 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


pgsql-hackers by date:

Previous
From: pgsql-hackers@thewrittenword.com
Date:
Subject: Re: [ADMIN] Re: [HACKERS] Problems with src/pl/tcl/mkMakefile.tcldefs.sh.in in 6.5
Next
From: Tom Lane
Date:
Subject: Arrays versus 'type constant' syntax