diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2004-06-09 19:08:20 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2004-06-09 19:08:20 +0000 |
commit | 7e64dbc6b5e516a2510ae41c8c7999d1d8d25872 (patch) | |
tree | c819b78903b490e720b4c20969ed6cf8816889d1 /src/include/parser | |
parent | 3a0df651da253879bf133a8556853acfb1f664fd (diff) | |
download | postgresql-7e64dbc6b5e516a2510ae41c8c7999d1d8d25872.tar.gz postgresql-7e64dbc6b5e516a2510ae41c8c7999d1d8d25872.zip |
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.
Diffstat (limited to 'src/include/parser')
-rw-r--r-- | src/include/parser/parse_node.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/include/parser/parse_node.h b/src/include/parser/parse_node.h index 8bb595c7098..de7b4766559 100644 --- a/src/include/parser/parse_node.h +++ b/src/include/parser/parse_node.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/parser/parse_node.h,v 1.38 2003/11/29 22:41:09 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/parser/parse_node.h,v 1.39 2004/06/09 19:08:19 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -67,12 +67,13 @@ typedef struct ParseState extern ParseState *make_parsestate(ParseState *parentParseState); extern Var *make_var(ParseState *pstate, RangeTblEntry *rte, int attrno); +extern Oid transformArrayType(Oid arrayType); extern ArrayRef *transformArraySubscripts(ParseState *pstate, Node *arrayBase, Oid arrayType, - int32 arrayTypMod, + Oid elementType, + int32 elementTypMod, List *indirection, - bool forceSlice, Node *assignFrom); extern Const *make_const(Value *value); |