Header And Logo

PostgreSQL
| The world's most advanced open source database.

cluster.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * cluster.h
00004  *    header file for postgres cluster command stuff
00005  *
00006  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00007  * Portions Copyright (c) 1994-5, Regents of the University of California
00008  *
00009  * src/include/commands/cluster.h
00010  *
00011  *-------------------------------------------------------------------------
00012  */
00013 #ifndef CLUSTER_H
00014 #define CLUSTER_H
00015 
00016 #include "nodes/parsenodes.h"
00017 #include "storage/lock.h"
00018 #include "utils/relcache.h"
00019 
00020 
00021 extern void cluster(ClusterStmt *stmt, bool isTopLevel);
00022 extern void cluster_rel(Oid tableOid, Oid indexOid, bool recheck,
00023             bool verbose, int freeze_min_age, int freeze_table_age);
00024 extern void check_index_is_clusterable(Relation OldHeap, Oid indexOid,
00025                            bool recheck, LOCKMODE lockmode);
00026 extern void mark_index_clustered(Relation rel, Oid indexOid, bool is_internal);
00027 
00028 extern Oid  make_new_heap(Oid OIDOldHeap, Oid NewTableSpace);
00029 extern void finish_heap_swap(Oid OIDOldHeap, Oid OIDNewHeap,
00030                  bool is_system_catalog,
00031                  bool swap_toast_by_content,
00032                  bool check_constraints,
00033                  bool is_internal,
00034                  TransactionId frozenXid,
00035                  MultiXactId frozenMulti);
00036 
00037 #endif   /* CLUSTER_H */