aboutsummaryrefslogtreecommitdiff
path: root/src/backend/rewrite/rewriteHandler.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/rewrite/rewriteHandler.c')
-rw-r--r--src/backend/rewrite/rewriteHandler.c101
1 files changed, 5 insertions, 96 deletions
diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c
index 1ba1a5dd56e..654f7310805 100644
--- a/src/backend/rewrite/rewriteHandler.c
+++ b/src/backend/rewrite/rewriteHandler.c
@@ -6,7 +6,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.38 1999/05/09 23:31:46 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.39 1999/05/12 15:01:53 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -170,15 +170,7 @@ rangeTableEntry_used(Node *node, int rt_index, int sublevels_up)
break;
case T_GroupClause:
- {
- GroupClause *grp = (GroupClause *)node;
-
- return rangeTableEntry_used(
- (Node *)(grp->entry),
- rt_index,
- sublevels_up);
- }
- break;
+ return FALSE;
case T_Expr:
{
@@ -348,12 +340,6 @@ rangeTableEntry_used(Node *node, int rt_index, int sublevels_up)
sublevels_up))
return TRUE;
- if (rangeTableEntry_used(
- (Node *)(qry->groupClause),
- rt_index,
- sublevels_up))
- return TRUE;
-
return FALSE;
}
break;
@@ -407,16 +393,7 @@ attribute_used(Node *node, int rt_index, int attno, int sublevels_up)
break;
case T_GroupClause:
- {
- GroupClause *grp = (GroupClause *)node;
-
- return attribute_used(
- (Node *)(grp->entry),
- rt_index,
- attno,
- sublevels_up);
- }
- break;
+ return FALSE;
case T_Expr:
{
@@ -558,13 +535,6 @@ attribute_used(Node *node, int rt_index, int attno, int sublevels_up)
sublevels_up))
return TRUE;
- if (attribute_used(
- (Node *)(qry->groupClause),
- rt_index,
- attno,
- sublevels_up))
- return TRUE;
-
return FALSE;
}
break;
@@ -697,8 +667,6 @@ modifyAggrefUplevel(Node *node)
modifyAggrefUplevel(
(Node *)(qry->havingQual));
- modifyAggrefUplevel(
- (Node *)(qry->groupClause));
}
break;
@@ -752,15 +720,6 @@ modifyAggrefChangeVarnodes(Node **nodePtr, int rt_index, int new_index, int subl
break;
case T_GroupClause:
- {
- GroupClause *grp = (GroupClause *)node;
-
- modifyAggrefChangeVarnodes(
- (Node **)(&(grp->entry)),
- rt_index,
- new_index,
- sublevels_up);
- }
break;
case T_Expr:
@@ -894,12 +853,6 @@ modifyAggrefChangeVarnodes(Node **nodePtr, int rt_index, int new_index, int subl
rt_index,
new_index,
sublevels_up);
-
- modifyAggrefChangeVarnodes(
- (Node **)(&(qry->groupClause)),
- rt_index,
- new_index,
- sublevels_up);
}
break;
@@ -1186,13 +1139,6 @@ modifyAggrefQual(Node **nodePtr, Query *parsetree)
break;
case T_GroupClause:
- {
- GroupClause *grp = (GroupClause *)node;
-
- modifyAggrefQual(
- (Node **)(&(grp->entry)),
- parsetree);
- }
break;
case T_Expr:
@@ -1386,13 +1332,6 @@ apply_RIR_adjust_sublevel(Node *node, int sublevels_up)
break;
case T_GroupClause:
- {
- GroupClause *grp = (GroupClause *)node;
-
- apply_RIR_adjust_sublevel(
- (Node *)(grp->entry),
- sublevels_up);
- }
break;
case T_Expr:
@@ -1539,17 +1478,6 @@ apply_RIR_view(Node **nodePtr, int rt_index, RangeTblEntry *rte, List *tlist, in
break;
case T_GroupClause:
- {
- GroupClause *grp = (GroupClause *)node;
-
- apply_RIR_view(
- (Node **)(&(grp->entry)),
- rt_index,
- rte,
- tlist,
- modified,
- sublevels_up);
- }
break;
case T_Expr:
@@ -1724,14 +1652,6 @@ apply_RIR_view(Node **nodePtr, int rt_index, RangeTblEntry *rte, List *tlist, in
tlist,
modified,
sublevels_up);
-
- apply_RIR_view(
- (Node **)(&(qry->groupClause)),
- rt_index,
- rte,
- tlist,
- modified,
- sublevels_up);
}
break;
@@ -1898,10 +1818,8 @@ ApplyRetrieveRule(Query *parsetree,
}
if (*modified && !badsql) {
AddQual(parsetree, rule_action->qual);
- /* This will only work if the query made to the view defined by the following
- * groupClause groups by the same attributes or does not use group at all! */
- if (parsetree->groupClause == NULL)
- parsetree->groupClause=rule_action->groupClause;
+ AddGroupClause(parsetree, rule_action->groupClause,
+ rule_action->targetList);
AddHavingQual(parsetree, rule_action->havingQual);
parsetree->hasAggs = (rule_action->hasAggs || parsetree->hasAggs);
parsetree->hasSubLinks = (rule_action->hasSubLinks || parsetree->hasSubLinks);
@@ -1935,12 +1853,6 @@ fireRIRonSubselect(Node *node)
break;
case T_GroupClause:
- {
- GroupClause *grp = (GroupClause *)node;
-
- fireRIRonSubselect(
- (Node *)(grp->entry));
- }
break;
case T_Expr:
@@ -2048,9 +1960,6 @@ fireRIRonSubselect(Node *node)
fireRIRonSubselect(
(Node *)(qry->havingQual));
-
- fireRIRonSubselect(
- (Node *)(qry->groupClause));
}
break;