]> granicus.if.org Git - postgresql/blobdiff - src/include/catalog/heap.h
Ok. Updated patch attached.
[postgresql] / src / include / catalog / heap.h
index ac13ab6d75aa2fca627ed353b8d692b7a087b48e..79c9e0b23a78f45b98f761693e57d44d4741a98b 100644 (file)
@@ -1,29 +1,64 @@
 /*-------------------------------------------------------------------------
  *
- * heap.h--
- *       prototypes for functions in lib/catalog/heap.c
+ * heap.h
+ *       prototypes for functions in backend/catalog/heap.c
  *
  *
- * Copyright (c) 1994, Regents of the University of California
+ * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: heap.h,v 1.8 1997/11/21 18:11:56 momjian Exp $
+ * $Id: heap.h,v 1.42 2002/03/06 20:34:55 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #ifndef HEAP_H
 #define HEAP_H
 
-#include <utils/rel.h>
+#include "catalog/pg_attribute.h"
+#include "nodes/parsenodes.h"
+#include "parser/parse_node.h"
+#include "utils/rel.h"
 
-extern Relation heap_creatr(char *relname, TupleDesc att);
+typedef struct RawColumnDefault
+{
+       AttrNumber      attnum;                 /* attribute to attach default to */
+       Node       *raw_default;        /* default value (untransformed parse
+                                                                * tree) */
+} RawColumnDefault;
 
-extern Oid
-heap_create(char relname[],    TupleDesc tupdesc);
+extern Oid     RelnameFindRelid(const char *relname);
 
-extern void heap_destroy(char relname[]);
-extern void heap_destroyr(Relation r);
+extern Relation heap_create(char *relname, TupleDesc tupDesc,
+                       bool istemp, bool storage_create,
+                       bool allow_system_table_mods);
 
-extern void InitTempRelList(void);
-extern void DestroyTempRels(void);
+extern void heap_storage_create(Relation rel);
 
-#endif                                                 /* HEAP_H */
+extern Oid heap_create_with_catalog(char *relname, TupleDesc tupdesc,
+                                                char relkind, bool relhasoids, bool istemp,
+                                                bool allow_system_table_mods);
+
+extern void heap_drop_with_catalog(const char *relname,
+                                          bool allow_system_table_mods);
+
+extern void heap_truncate(char *relname);
+
+extern void AddRelationRawConstraints(Relation rel,
+                                                 List *rawColDefaults,
+                                                 List *rawConstraints);
+
+extern Node *cookDefault(ParseState *pstate
+                                               , Node *raw_default
+                                               , Oid atttypid
+                                               , int32 atttypmod
+                                               , char *attname);
+
+extern int     RemoveCheckConstraint(Relation rel, const char *constrName, bool inh);
+
+extern Form_pg_attribute SystemAttributeDefinition(AttrNumber attno,
+                                                 bool relhasoids);
+
+extern Form_pg_attribute SystemAttributeByName(const char *attname,
+                                         bool relhasoids);
+
+#endif   /* HEAP_H */