aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_clause.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1997-12-29 01:13:37 +0000
committerBruce Momjian <bruce@momjian.us>1997-12-29 01:13:37 +0000
commita01b085c78e11838e2058ce032425079ded6edea (patch)
tree575898e9c06c496b39a66260e62242a2b8aee2d1 /src/backend/parser/parse_clause.c
parent4ce24c8aa98b26f0b070464ce118ef2a1901064e (diff)
downloadpostgresql-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.c28
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;
+}