]> granicus.if.org Git - postgresql/blobdiff - src/include/catalog/heap.h
Ok. Updated patch attached.
[postgresql] / src / include / catalog / heap.h
index 5e8fd47ba3a945a72ea0703364f0aeb78d75b027..79c9e0b23a78f45b98f761693e57d44d4741a98b 100644 (file)
@@ -1,43 +1,64 @@
 /*-------------------------------------------------------------------------
  *
  * heap.h
- *       prototypes for functions in lib/catalog/heap.c
+ *       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.27 2000/01/22 14:20:53 petere Exp $
+ * $Id: heap.h,v 1.42 2002/03/06 20:34:55 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #ifndef HEAP_H
 #define HEAP_H
 
+#include "catalog/pg_attribute.h"
+#include "nodes/parsenodes.h"
+#include "parser/parse_node.h"
 #include "utils/rel.h"
 
 typedef struct RawColumnDefault
 {
        AttrNumber      attnum;                 /* attribute to attach default to */
-       Node       *raw_default;        /* default value (untransformed parse tree) */
+       Node       *raw_default;        /* default value (untransformed parse
+                                                                * tree) */
 } RawColumnDefault;
 
-extern Oid RelnameFindRelid(const char *relname);
-extern Relation heap_create(char *relname, TupleDesc att,
-                           bool isnoname, bool istemp, bool storage_create);
-extern bool heap_storage_create(Relation rel);
+extern Oid     RelnameFindRelid(const char *relname);
 
-extern Oid heap_create_with_catalog(char *relname, TupleDesc tupdesc, 
-                                   char relkind, bool istemp);
+extern Relation heap_create(char *relname, TupleDesc tupDesc,
+                       bool istemp, bool storage_create,
+                       bool allow_system_table_mods);
+
+extern void heap_storage_create(Relation rel);
+
+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_drop_with_catalog(const char *relname);
 extern void heap_truncate(char *relname);
-extern void heap_drop(Relation rel);
 
 extern void AddRelationRawConstraints(Relation rel,
-                                     List *rawColDefaults,
-                                     List *rawConstraints);
+                                                 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 void InitNoNameRelList(void);
-extern void DropNoNameRels(void);
+extern Form_pg_attribute SystemAttributeByName(const char *attname,
+                                         bool relhasoids);
 
-#endif  /* HEAP_H */
+#endif   /* HEAP_H */