OSDN Git Service

Remove planner's private fields from Query struct, and put them into
[pg-rex/syncrep.git] / src / include / optimizer / plancat.h
1 /*-------------------------------------------------------------------------
2  *
3  * plancat.h
4  *        prototypes for plancat.c.
5  *
6  *
7  * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * $PostgreSQL: pgsql/src/include/optimizer/plancat.h,v 1.36 2005/06/05 22:32:58 tgl Exp $
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef PLANCAT_H
15 #define PLANCAT_H
16
17 #include "nodes/relation.h"
18
19
20 extern void get_relation_info(Oid relationObjectId, RelOptInfo *rel);
21
22 extern List *build_physical_tlist(PlannerInfo *root, RelOptInfo *rel);
23
24 extern List *find_inheritance_children(Oid inhparent);
25
26 extern bool has_subclass(Oid relationId);
27
28 extern bool has_unique_index(RelOptInfo *rel, AttrNumber attno);
29
30 extern Selectivity restriction_selectivity(PlannerInfo *root,
31                                                 Oid operator,
32                                                 List *args,
33                                                 int varRelid);
34
35 extern Selectivity join_selectivity(PlannerInfo *root,
36                                  Oid operator,
37                                  List *args,
38                                  JoinType jointype);
39
40 #endif   /* PLANCAT_H */