mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-02-14 02:17:02 +08:00
a new PlannerInfo struct, which is passed around instead of the bare Query in all the planning code. This commit is essentially just a code-beautification exercise, but it does open the door to making larger changes to the planner data structures without having to muck with the widely-known Query struct.
31 lines
1017 B
C
31 lines
1017 B
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* var.h
|
|
* prototypes for optimizer/util/var.c.
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* $PostgreSQL: pgsql/src/include/optimizer/var.h,v 1.33 2005/06/05 22:32:58 tgl Exp $
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef VAR_H
|
|
#define VAR_H
|
|
|
|
#include "nodes/relation.h"
|
|
|
|
|
|
extern Relids pull_varnos(Node *node);
|
|
extern bool contain_var_reference(Node *node, int varno, int varattno,
|
|
int levelsup);
|
|
extern bool contain_var_clause(Node *node);
|
|
extern bool contain_vars_of_level(Node *node, int levelsup);
|
|
extern bool contain_vars_above_level(Node *node, int levelsup);
|
|
extern int find_minimum_var_level(Node *node);
|
|
extern List *pull_var_clause(Node *node, bool includeUpperVars);
|
|
extern Node *flatten_join_alias_vars(PlannerInfo *root, Node *node);
|
|
|
|
#endif /* VAR_H */
|