]> granicus.if.org Git - postgresql/blob - src/include/optimizer/var.h
c478259bcdb058bd2f8b4d3c1552f4408a28af2e
[postgresql] / src / include / optimizer / var.h
1 /*-------------------------------------------------------------------------
2  *
3  * var.h
4  *        prototypes for optimizer/util/var.c.
5  *
6  *
7  * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * $PostgreSQL: pgsql/src/include/optimizer/var.h,v 1.39 2008/10/21 20:42:53 tgl Exp $
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef VAR_H
15 #define VAR_H
16
17 #include "nodes/relation.h"
18
19
20 extern Relids pull_varnos(Node *node);
21 extern void pull_varattnos(Node *node, Bitmapset **varattnos);
22 extern bool contain_var_clause(Node *node);
23 extern bool contain_vars_of_level(Node *node, int levelsup);
24 extern int      locate_var_of_level(Node *node, int levelsup);
25 extern int      locate_var_of_relation(Node *node, int relid, int levelsup);
26 extern int      find_minimum_var_level(Node *node);
27 extern List *pull_var_clause(Node *node, bool includePlaceHolderVars);
28 extern Node *flatten_join_alias_vars(PlannerInfo *root, Node *node);
29
30 #endif   /* VAR_H */