-
- Downloads
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.
Showing
- doc/src/sgml/ref/insert.sgml 7 additions, 6 deletionsdoc/src/sgml/ref/insert.sgml
- doc/src/sgml/ref/update.sgml 5 additions, 2 deletionsdoc/src/sgml/ref/update.sgml
- doc/src/sgml/rowtypes.sgml 65 additions, 1 deletiondoc/src/sgml/rowtypes.sgml
- src/backend/executor/execQual.c 190 additions, 48 deletionssrc/backend/executor/execQual.c
- src/backend/nodes/copyfuncs.c 25 additions, 10 deletionssrc/backend/nodes/copyfuncs.c
- src/backend/nodes/equalfuncs.c 18 additions, 8 deletionssrc/backend/nodes/equalfuncs.c
- src/backend/nodes/outfuncs.c 74 additions, 11 deletionssrc/backend/nodes/outfuncs.c
- src/backend/nodes/readfuncs.c 19 additions, 28 deletionssrc/backend/nodes/readfuncs.c
- src/backend/optimizer/util/clauses.c 32 additions, 1 deletionsrc/backend/optimizer/util/clauses.c
- src/backend/parser/analyze.c 2 additions, 1 deletionsrc/backend/parser/analyze.c
- src/backend/parser/gram.y 169 additions, 106 deletionssrc/backend/parser/gram.y
- src/backend/parser/parse_clause.c 2 additions, 3 deletionssrc/backend/parser/parse_clause.c
- src/backend/parser/parse_expr.c 62 additions, 43 deletionssrc/backend/parser/parse_expr.c
- src/backend/parser/parse_node.c 68 additions, 57 deletionssrc/backend/parser/parse_node.c
- src/backend/parser/parse_target.c 323 additions, 77 deletionssrc/backend/parser/parse_target.c
- src/backend/rewrite/rewriteHandler.c 109 additions, 21 deletionssrc/backend/rewrite/rewriteHandler.c
- src/backend/utils/adt/ruleutils.c 157 additions, 79 deletionssrc/backend/utils/adt/ruleutils.c
- src/include/nodes/execnodes.h 13 additions, 1 deletionsrc/include/nodes/execnodes.h
- src/include/nodes/nodes.h 4 additions, 2 deletionssrc/include/nodes/nodes.h
- src/include/nodes/parsenodes.h 36 additions, 26 deletionssrc/include/nodes/parsenodes.h
Loading
Please register or sign in to comment