blob: 2bd9d4f81b1fcca0904f0599869ef4ef3f49acd6 [file] [log] [blame]
/*-------------------------------------------------------------------------
*
* pg_rewrite.h
* definition of the system "rewrite-rule" relation (pg_rewrite)
* along with the relation's initial contents.
*
* 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-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/include/catalog/pg_rewrite.h,v 1.26 2006/03/05 15:58:55 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
* information from the DATA() statements.
*
*-------------------------------------------------------------------------
*/
#ifndef PG_REWRITE_H
#define PG_REWRITE_H
#include "catalog/genbki.h"
/* TIDYCAT_BEGINFAKEDEF
CREATE TABLE pg_rewrite
with (relid=2618, toast_oid=2838, toast_index=2839)
(
rulename name,
ev_class oid,
ev_attr smallint,
ev_type "char",
is_instead boolean,
ev_qual text,
ev_action text
);
create unique index on pg_rewrite(oid) with (indexid=2692, CamelCase=RewriteOid);
create unique index on pg_rewrite(ev_class, rulename) with (indexid=2693, CamelCase=RewriteRelRulename, syscacheid=RULERELNAME, syscache_nbuckets=1024);
alter table pg_rewrite add fk ev_class on pg_attribute(attrelid);
TIDYCAT_ENDFAKEDEF
*/
/* ----------------
* pg_rewrite definition. cpp turns this into
* typedef struct FormData_pg_rewrite
* ----------------
*/
#define RewriteRelationId 2618
CATALOG(pg_rewrite,2618)
{
NameData rulename;
Oid ev_class;
int2 ev_attr;
char ev_type;
bool is_instead;
/* NB: remaining fields must be accessed via heap_getattr */
text ev_qual;
text ev_action;
} FormData_pg_rewrite;
/* ----------------
* Form_pg_rewrite corresponds to a pointer to a tuple with
* the format of pg_rewrite relation.
* ----------------
*/
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_class 2
#define Anum_pg_rewrite_ev_attr 3
#define Anum_pg_rewrite_ev_type 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 */