]> granicus.if.org Git - postgresql/commit
Support assignment to subfields of composite columns in UPDATE and INSERT.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 9 Jun 2004 19:08:20 +0000 (19:08 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 9 Jun 2004 19:08:20 +0000 (19:08 +0000)
commit7e64dbc6b5e516a2510ae41c8c7999d1d8d25872
treec819b78903b490e720b4c20969ed6cf8816889d1
parent3a0df651da253879bf133a8556853acfb1f664fd
Support assignment to subfields of composite columns in UPDATE and INSERT.
As a side effect, cause subscripts in INSERT targetlists to do something
more or less sensible; previously we evaluated such subscripts and then
effectively ignored them.  Another side effect is that UPDATE-ing an
element or slice of an array value that is NULL now produces a non-null
result, namely an array containing just the assigned-to positions.
27 files changed:
doc/src/sgml/ref/insert.sgml
doc/src/sgml/ref/update.sgml
doc/src/sgml/rowtypes.sgml
src/backend/executor/execQual.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/util/clauses.c
src/backend/parser/analyze.c
src/backend/parser/gram.y
src/backend/parser/parse_clause.c
src/backend/parser/parse_expr.c
src/backend/parser/parse_node.c
src/backend/parser/parse_target.c
src/backend/rewrite/rewriteHandler.c
src/backend/utils/adt/ruleutils.c
src/include/nodes/execnodes.h
src/include/nodes/nodes.h
src/include/nodes/parsenodes.h
src/include/nodes/primnodes.h
src/include/parser/parse_node.h
src/pl/plpgsql/src/pl_exec.c
src/test/regress/expected/arrays.out
src/test/regress/expected/rowtypes.out
src/test/regress/sql/arrays.sql
src/test/regress/sql/rowtypes.sql