summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/nodes/parsenodes.h4
-rw-r--r--src/include/nodes/primnodes.h4
-rw-r--r--src/include/nodes/relation.h3
-rw-r--r--src/include/optimizer/planmain.h6
-rw-r--r--src/include/rewrite/rewriteManip.h3
5 files changed, 13 insertions, 7 deletions
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h
index c55a8cf93b6..fed516ccfb8 100644
--- a/src/include/nodes/parsenodes.h
+++ b/src/include/nodes/parsenodes.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: parsenodes.h,v 1.71 1999/02/23 07:55:24 thomas Exp $
+ * $Id: parsenodes.h,v 1.72 1999/05/12 15:02:04 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -960,8 +960,8 @@ typedef struct SortClause
typedef struct GroupClause
{
NodeTag type;
- TargetEntry *entry; /* attributes to group on */
Oid grpOpoid; /* the sort operator to use */
+ Index tleGroupref; /* reference into targetlist */
} GroupClause;
#define ROW_MARK_FOR_UPDATE (1 << 0)
diff --git a/src/include/nodes/primnodes.h b/src/include/nodes/primnodes.h
index 981bd61f32c..93eafbe72c7 100644
--- a/src/include/nodes/primnodes.h
+++ b/src/include/nodes/primnodes.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: primnodes.h,v 1.25 1999/02/13 23:21:40 momjian Exp $
+ * $Id: primnodes.h,v 1.26 1999/05/12 15:02:07 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -30,6 +30,7 @@
* resname - name of the resdom (could be NULL)
* reskey - order of key in a sort (for those > 0)
* reskeyop - sort operator Oid
+ * resgroupref - set to nonzero if referenced from a group by clause
* resjunk - set to nonzero to eliminate the attribute
* from final target list e.g., ctid for replace
* and delete
@@ -45,6 +46,7 @@ typedef struct Resdom
char *resname;
Index reskey;
Oid reskeyop;
+ Index resgroupref;
int resjunk;
} Resdom;
diff --git a/src/include/nodes/relation.h b/src/include/nodes/relation.h
index d52960903e2..2d47243c405 100644
--- a/src/include/nodes/relation.h
+++ b/src/include/nodes/relation.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: relation.h,v 1.29 1999/02/22 19:55:44 momjian Exp $
+ * $Id: relation.h,v 1.30 1999/05/12 15:02:08 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -103,6 +103,7 @@ typedef struct RelOptInfo
} RelOptInfo;
extern Var *get_expr(TargetEntry *foo);
+extern Var *get_groupclause_expr(GroupClause *groupClause, List *targetList);
typedef struct MergeOrder
{
diff --git a/src/include/optimizer/planmain.h b/src/include/optimizer/planmain.h
index 002238571c0..e3848330dbc 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.24 1999/05/03 00:38:42 tgl Exp $
+ * $Id: planmain.h,v 1.25 1999/05/12 15:02:22 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -62,7 +62,9 @@ extern void replace_vars_with_subplan_refs(Node *clause,
List *subplanTargetList);
extern bool set_agg_tlist_references(Agg *aggNode);
extern void del_agg_tlist_references(List *tlist);
-extern void check_having_for_ungrouped_vars(Node *clause, List *groupClause);
+extern void check_having_for_ungrouped_vars(Node *clause,
+ List *groupClause,
+ List *targetList);
extern void transformKeySetQuery(Query *origNode);
#endif /* PLANMAIN_H */
diff --git a/src/include/rewrite/rewriteManip.h b/src/include/rewrite/rewriteManip.h
index 317dae8ea0d..e41a2267083 100644
--- a/src/include/rewrite/rewriteManip.h
+++ b/src/include/rewrite/rewriteManip.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: rewriteManip.h,v 1.13 1999/02/13 23:22:00 momjian Exp $
+ * $Id: rewriteManip.h,v 1.14 1999/05/12 15:02:28 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -26,6 +26,7 @@ void AddHavingQual(Query *parsetree, Node *havingQual);
void AddNotQual(Query *parsetree, Node *qual);
void AddNotHavingQual(Query *parsetree, Node *havingQual);
+void AddGroupClause(Query *parsetree, List *group_by, List *tlist);
void FixNew(RewriteInfo *info, Query *parsetree);