Thread: pgsql/src/backend/optimizer/prep (preptlist.c)

pgsql/src/backend/optimizer/prep (preptlist.c)

From
Tom Lane
Date:
  Date: Saturday, July 22, 2000 @ 02:19:04
Author: tgl

Update of /home/projects/pgsql/cvsroot/pgsql/src/backend/optimizer/prep
     from hub.org:/home/projects/pgsql/tmp/cvs-serv64116

Modified Files:
    preptlist.c

-----------------------------  Log Message  -----------------------------

Make update lists like 'UPDATE tab SET foo[1] = bar, foo[3] = baz'
work as expected.  THe underlying implementation is essentially
'SET foo = array_set(foo, 1, bar)', so we have to turn the items
into nested invocations of array_set() to make it work correctly.
Side effect: we now complain about 'UPDATE tab SET foo = bar, foo = baz'
which is illegal per SQL92 but we didn't detect it before.