summaryrefslogtreecommitdiff
path: root/src/include/optimizer
diff options
context:
space:
mode:
authorTom Lane1999-05-03 00:38:44 +0000
committerTom Lane1999-05-03 00:38:44 +0000
commitda5f1dd7227bd507cc8d5b088fd3f5e53e932722 (patch)
treeebdc3dd24c7fc2541ae9cd84a0dfb8d393e90eac /src/include/optimizer
parent605d84941dec8179a9680e9757dc9985272c57ce (diff)
Revise union_planner and associated routines to clean up breakage
from EXCEPT/HAVING patch. Cases involving nontrivial GROUP BY expressions now work again. Also, the code is at least somewhat better documented...
Diffstat (limited to 'src/include/optimizer')
-rw-r--r--src/include/optimizer/planmain.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/include/optimizer/planmain.h b/src/include/optimizer/planmain.h
index 44dad8cfd66..002238571c0 100644
--- a/src/include/optimizer/planmain.h
+++ b/src/include/optimizer/planmain.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: planmain.h,v 1.23 1999/04/19 01:43:10 tgl Exp $
+ * $Id: planmain.h,v 1.24 1999/05/03 00:38:42 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -54,9 +54,14 @@ extern List *join_references(List *clauses, List *outer_tlist,
List *inner_tlist);
extern List *index_outerjoin_references(List *inner_indxqual,
List *outer_tlist, Index inner_relid);
+extern void replace_tlist_with_subplan_refs(List *tlist,
+ Index subvarno,
+ List *subplanTargetList);
+extern void replace_vars_with_subplan_refs(Node *clause,
+ Index subvarno,
+ List *subplanTargetList);
extern bool set_agg_tlist_references(Agg *aggNode);
extern void del_agg_tlist_references(List *tlist);
-extern List *check_having_qual_for_vars(Node *clause, List *targetlist_so_far);
extern void check_having_for_ungrouped_vars(Node *clause, List *groupClause);
extern void transformKeySetQuery(Query *origNode);