1 /*-------------------------------------------------------------------------
7 * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * $Id: rewriteManip.h,v 1.20 2000/03/16 03:23:17 tgl Exp $
12 *-------------------------------------------------------------------------
14 #ifndef REWRITEMANIP_H
15 #define REWRITEMANIP_H
17 #include "rewrite/rewriteHandler.h"
20 extern void OffsetVarNodes(Node *node, int offset, int sublevels_up);
21 extern void ChangeVarNodes(Node *node, int old_varno, int new_varno,
23 extern void IncrementVarSublevelsUp(Node *node, int delta_sublevels_up,
24 int min_sublevels_up);
25 extern void AddQual(Query *parsetree, Node *qual);
26 extern void AddHavingQual(Query *parsetree, Node *havingQual);
27 extern void AddNotQual(Query *parsetree, Node *qual);
28 extern void AddGroupClause(Query *parsetree, List *group_by, List *tlist);
30 extern bool checkExprHasAggs(Node *node);
31 extern bool checkExprHasSubLink(Node *node);
33 extern void FixNew(RewriteInfo *info, Query *parsetree);
35 extern void HandleRIRAttributeRule(Query *parsetree, List *rtable,
36 List *targetlist, int rt_index,
37 int attr_num, int *modified, int *badsql);
39 #endif /* REWRITEMANIP_H */