OSDN Git Service

8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list
[pg-rex/syncrep.git] / src / include / optimizer / plancat.h
index a19ba78..c829ac1 100644 (file)
@@ -4,10 +4,10 @@
  *       prototypes for plancat.c.
  *
  *
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/optimizer/plancat.h,v 1.44 2007/05/25 17:54:25 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/optimizer/plancat.h,v 1.54 2009/06/11 14:49:11 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #define PLANCAT_H
 
 #include "nodes/relation.h"
+#include "utils/relcache.h"
 
 /* Hook for plugins to get control in get_relation_info() */
 typedef void (*get_relation_info_hook_type) (PlannerInfo *root,
-                                                                                        Oid relationObjectId,
-                                                                                        bool inhparent,
-                                                                                        RelOptInfo *rel);
-extern DLLIMPORT get_relation_info_hook_type get_relation_info_hook;
+                                                                                                                Oid relationObjectId,
+                                                                                                                bool inhparent,
+                                                                                                                RelOptInfo *rel);
+extern PGDLLIMPORT get_relation_info_hook_type get_relation_info_hook;
 
 
 extern void get_relation_info(PlannerInfo *root, Oid relationObjectId,
                                  bool inhparent, RelOptInfo *rel);
 
-extern bool relation_excluded_by_constraints(RelOptInfo *rel,
-                                                                RangeTblEntry *rte);
+extern void estimate_rel_size(Relation rel, int32 *attr_widths,
+                                 BlockNumber *pages, double *tuples);
 
-extern List *build_physical_tlist(PlannerInfo *root, RelOptInfo *rel);
-
-extern List *find_inheritance_children(Oid inhparent);
+extern bool relation_excluded_by_constraints(PlannerInfo *root,
+                                                                RelOptInfo *rel, RangeTblEntry *rte);
 
-extern bool has_subclass(Oid relationId);
+extern List *build_physical_tlist(PlannerInfo *root, RelOptInfo *rel);
 
 extern bool has_unique_index(RelOptInfo *rel, AttrNumber attno);
 
@@ -46,6 +46,7 @@ extern Selectivity restriction_selectivity(PlannerInfo *root,
 extern Selectivity join_selectivity(PlannerInfo *root,
                                 Oid operator,
                                 List *args,
-                                JoinType jointype);
+                                JoinType jointype,
+                                SpecialJoinInfo *sjinfo);
 
 #endif   /* PLANCAT_H */