OSDN Git Service

e7fb5cf98f2c128d9ee99ad666637cb19cb275d1
[pg-rex/syncrep.git] / src / include / optimizer / restrictinfo.h
1 /*-------------------------------------------------------------------------
2  *
3  * restrictinfo.h
4  *        prototypes for restrictinfo.c.
5  *
6  *
7  * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * $PostgreSQL: pgsql/src/include/optimizer/restrictinfo.h,v 1.24 2004/08/29 04:13:09 momjian Exp $
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef RESTRICTINFO_H
15 #define RESTRICTINFO_H
16
17 #include "nodes/relation.h"
18
19 extern RestrictInfo *make_restrictinfo(Expr *clause, bool is_pushed_down,
20                                                                            bool valid_everywhere);
21 extern List *make_restrictinfo_from_indexclauses(List *indexclauses,
22                                                                                                  bool is_pushed_down,
23                                                                                                  bool valid_everywhere);
24 extern bool restriction_is_or_clause(RestrictInfo *restrictinfo);
25 extern List *get_actual_clauses(List *restrictinfo_list);
26 extern void get_actual_join_clauses(List *restrictinfo_list,
27                                                 List **joinquals, List **otherquals);
28 extern List *remove_redundant_join_clauses(Query *root,
29                                                           List *restrictinfo_list,
30                                                           JoinType jointype);
31 extern List *select_nonredundant_join_clauses(Query *root,
32                                                                  List *restrictinfo_list,
33                                                                  List *reference_list,
34                                                                  JoinType jointype);
35
36 #endif   /* RESTRICTINFO_H */