diff options
author | Bruce Momjian <bruce@momjian.us> | 1997-12-29 01:13:37 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1997-12-29 01:13:37 +0000 |
commit | a01b085c78e11838e2058ce032425079ded6edea (patch) | |
tree | 575898e9c06c496b39a66260e62242a2b8aee2d1 /src/backend/parser/parse_clause.c | |
parent | 4ce24c8aa98b26f0b070464ce118ef2a1901064e (diff) | |
download | postgresql-a01b085c78e11838e2058ce032425079ded6edea.tar.gz postgresql-a01b085c78e11838e2058ce032425079ded6edea.zip |
Cleanup of UNION ALL fix. Manual page updates.
Diffstat (limited to 'src/backend/parser/parse_clause.c')
-rw-r--r-- | src/backend/parser/parse_clause.c | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c index ad40222ba6d..5368dc2e269 100644 --- a/src/backend/parser/parse_clause.c +++ b/src/backend/parser/parse_clause.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.3 1997/11/26 03:42:39 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.4 1997/12/29 01:12:58 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -18,6 +18,7 @@ #include "postgres.h" #include "access/heapam.h" #include "catalog/pg_type.h" +#include "parser/analyze.h" #include "parser/parse_clause.h" #include "parser/parse_expr.h" #include "parser/parse_node.h" @@ -371,3 +372,28 @@ transformSortClause(ParseState *pstate, return sortlist; } + +/* + * transformUnionClause - + * transform a Union clause + * + */ +List * +transformUnionClause(List *unionClause, List *targetlist) +{ + List *union_list = NIL; + QueryTreeList *qlist; + int i; +TargetEntry + if (unionClause) + { + qlist = parse_analyze(unionClause); + + for (i=0; i < qlist->len; i++) + union_list = lappend(union_list, qlist->qtrees[i]); + /* we need to check return types are consistent here */ + return union_list; + } + else + return NIL; +} |