]> granicus.if.org Git - postgresql/blobdiff - src/include/catalog/pg_rewrite.h
Add some not null constraints to catalogs
[postgresql] / src / include / catalog / pg_rewrite.h
index d9df02ec97acf6e23e98d215c3d60f5d4d7db77a..0e50b87926542ce7068ffb1f2871850d37b34061 100644 (file)
@@ -1,47 +1,46 @@
 /*-------------------------------------------------------------------------
  *
  * pg_rewrite.h
- *       definition of the system "rewrite-rule" relation (pg_rewrite)
- *       along with the relation's initial contents.
+ *       definition of the "rewrite rule" system catalog (pg_rewrite)
  *
+ * As of Postgres 7.3, the primary key for this table is <ev_class, rulename>
+ * --- ie, rule names are only unique among the rules of a given table.
  *
- * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
+ *
+ * Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_rewrite.h,v 1.14 2001/03/22 04:00:40 momjian Exp $
+ * src/include/catalog/pg_rewrite.h
  *
  * NOTES
- *       the genbki.sh script reads this file and generates .bki
- *       information from the DATA() statements.
+ *       The Catalog.pm module reads this file and derives schema
+ *       information.
  *
  *-------------------------------------------------------------------------
  */
 #ifndef PG_REWRITE_H
 #define PG_REWRITE_H
 
-/* ----------------
- *             postgres.h contains the system type definintions and the
- *             CATALOG(), BOOTSTRAP and DATA() sugar words so this file
- *             can be read by both genbki.sh and the C compiler.
- * ----------------
- */
+#include "catalog/genbki.h"
+#include "catalog/pg_rewrite_d.h"
 
 /* ----------------
- *             pg_rewrite definition.  cpp turns this into
+ *             pg_rewrite definition.  cpp turns this into
  *             typedef struct FormData_pg_rewrite
  * ----------------
  */
-CATALOG(pg_rewrite)
+CATALOG(pg_rewrite,2618,RewriteRelationId)
 {
        NameData        rulename;
-       char            ev_type;
        Oid                     ev_class;
-       int2            ev_attr;
+       char            ev_type;
+       char            ev_enabled;
        bool            is_instead;
 
-       /* NB: remaining fields must be accessed via heap_getattr */
-       text            ev_qual;
-       text            ev_action;
+#ifdef CATALOG_VARLEN                  /* variable-length fields start here */
+       pg_node_tree ev_qual BKI_FORCE_NOT_NULL;
+       pg_node_tree ev_action BKI_FORCE_NOT_NULL;
+#endif
 } FormData_pg_rewrite;
 
 /* ----------------
@@ -51,17 +50,4 @@ CATALOG(pg_rewrite)
  */
 typedef FormData_pg_rewrite *Form_pg_rewrite;
 
-/* ----------------
- *             compiler constants for pg_rewrite
- * ----------------
- */
-#define Natts_pg_rewrite                               7
-#define Anum_pg_rewrite_rulename               1
-#define Anum_pg_rewrite_ev_type                        2
-#define Anum_pg_rewrite_ev_class               3
-#define Anum_pg_rewrite_ev_attr                        4
-#define Anum_pg_rewrite_is_instead             5
-#define Anum_pg_rewrite_ev_qual                        6
-#define Anum_pg_rewrite_ev_action              7
-
-#endif  /* PG_REWRITE_H */
+#endif                                                 /* PG_REWRITE_H */