1 /*-------------------------------------------------------------------------
4 * prototypes for restrictinfo.c.
7 * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * $PostgreSQL: pgsql/src/include/optimizer/restrictinfo.h,v 1.24 2004/08/29 04:13:09 momjian Exp $
12 *-------------------------------------------------------------------------
14 #ifndef RESTRICTINFO_H
15 #define RESTRICTINFO_H
17 #include "nodes/relation.h"
19 extern RestrictInfo *make_restrictinfo(Expr *clause, bool is_pushed_down,
20 bool valid_everywhere);
21 extern List *make_restrictinfo_from_indexclauses(List *indexclauses,
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,
31 extern List *select_nonredundant_join_clauses(Query *root,
32 List *restrictinfo_list,
36 #endif /* RESTRICTINFO_H */