From 7e64dbc6b5e516a2510ae41c8c7999d1d8d25872 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 9 Jun 2004 19:08:20 +0000 Subject: 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. --- src/include/parser/parse_node.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/include/parser/parse_node.h') 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); -- cgit v1.2.3