PostgreSQL Source Code  git master
pg_attrdef.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * pg_attrdef.h
4  * definition of the "attribute defaults" system catalog (pg_attrdef)
5  *
6  *
7  * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/catalog/pg_attrdef.h
11  *
12  * NOTES
13  * The Catalog.pm module reads this file and derives schema
14  * information.
15  *
16  *-------------------------------------------------------------------------
17  */
18 #ifndef PG_ATTRDEF_H
19 #define PG_ATTRDEF_H
20 
21 #include "catalog/genbki.h"
22 #include "catalog/pg_attrdef_d.h"
23 
24 /* ----------------
25  * pg_attrdef definition. cpp turns this into
26  * typedef struct FormData_pg_attrdef
27  * ----------------
28  */
29 CATALOG(pg_attrdef,2604,AttrDefaultRelationId)
30 {
31  Oid oid; /* oid */
32 
33  Oid adrelid BKI_LOOKUP(pg_class); /* OID of table containing
34  * attribute */
35  int16 adnum; /* attnum of attribute */
36 
37 #ifdef CATALOG_VARLEN /* variable-length fields start here */
38  pg_node_tree adbin BKI_FORCE_NOT_NULL; /* nodeToString representation of
39  * default */
40 #endif
42 
43 /* ----------------
44  * Form_pg_attrdef corresponds to a pointer to a tuple with
45  * the format of pg_attrdef relation.
46  * ----------------
47  */
49 
50 DECLARE_TOAST(pg_attrdef, 2830, 2831);
51 
52 DECLARE_UNIQUE_INDEX(pg_attrdef_adrelid_adnum_index, 2656, AttrDefaultIndexId, on pg_attrdef using btree(adrelid oid_ops, adnum int2_ops));
53 DECLARE_UNIQUE_INDEX_PKEY(pg_attrdef_oid_index, 2657, AttrDefaultOidIndexId, on pg_attrdef using btree(oid oid_ops));
54 
55 DECLARE_FOREIGN_KEY((adrelid, adnum), pg_attribute, (attrelid, attnum));
56 
57 #endif /* PG_ATTRDEF_H */
signed short int16
Definition: c.h:428
DECLARE_UNIQUE_INDEX_PKEY(pg_attrdef_oid_index, 2657, AttrDefaultOidIndexId, on pg_attrdef using btree(oid oid_ops))
unsigned int Oid
Definition: postgres_ext.h:31
#define BKI_FORCE_NOT_NULL
Definition: genbki.h:33
#define BKI_LOOKUP(catalog)
Definition: genbki.h:46
CATALOG(pg_attrdef, 2604, AttrDefaultRelationId)
Definition: pg_attrdef.h:29
DECLARE_UNIQUE_INDEX(pg_attrdef_adrelid_adnum_index, 2656, AttrDefaultIndexId, on pg_attrdef using btree(adrelid oid_ops, adnum int2_ops))
FormData_pg_attrdef * Form_pg_attrdef
Definition: pg_attrdef.h:48
int16 attnum
Definition: pg_attribute.h:83
FormData_pg_attrdef
Definition: pg_attrdef.h:41
DECLARE_FOREIGN_KEY((adrelid, adnum), pg_attribute,(attrelid, attnum))
DECLARE_TOAST(pg_attrdef, 2830, 2831)