summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2000-03-16 03:23:18 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2000-03-16 03:23:18 +0000
commite64a331179607fece8cfaef4f2a3ffb6a481f4f2 (patch)
tree2ae8c01838944d14215fa2655c3609dbd64ae320 /src/include
parent4a3a1e2cf15bdb4c0cad08043bec3111cd700113 (diff)
downloadpostgresql-e64a331179607fece8cfaef4f2a3ffb6a481f4f2.tar.gz
Fix some (more) problems with subselects in rules. Rewriter failed to
mark query as having subselects if a subselect was added from a rule WHERE condition (as opposed to a rule action). Also, fix adjustment of varlevelsup so that it actually has some prospect of working when inserting an expression containing a subselect into a subquery.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/rewrite/rewriteManip.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/include/rewrite/rewriteManip.h b/src/include/rewrite/rewriteManip.h
index 35997e5878..33ea824cf2 100644
--- a/src/include/rewrite/rewriteManip.h
+++ b/src/include/rewrite/rewriteManip.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: rewriteManip.h,v 1.19 2000/01/26 05:58:30 momjian Exp $
+ * $Id: rewriteManip.h,v 1.20 2000/03/16 03:23:17 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -20,11 +20,16 @@
extern void OffsetVarNodes(Node *node, int offset, int sublevels_up);
extern void ChangeVarNodes(Node *node, int old_varno, int new_varno,
int sublevels_up);
+extern void IncrementVarSublevelsUp(Node *node, int delta_sublevels_up,
+ int min_sublevels_up);
extern void AddQual(Query *parsetree, Node *qual);
extern void AddHavingQual(Query *parsetree, Node *havingQual);
extern void AddNotQual(Query *parsetree, Node *qual);
extern void AddGroupClause(Query *parsetree, List *group_by, List *tlist);
+extern bool checkExprHasAggs(Node *node);
+extern bool checkExprHasSubLink(Node *node);
+
extern void FixNew(RewriteInfo *info, Query *parsetree);
extern void HandleRIRAttributeRule(Query *parsetree, List *rtable,