PostgreSQL Source Code
git master
Loading...
Searching...
No Matches
pg_depend.h
Go to the documentation of this file.
1
/*-------------------------------------------------------------------------
2
*
3
* pg_depend.h
4
* definition of the "dependency" system catalog (pg_depend)
5
*
6
* pg_depend has no preloaded contents, so there is no pg_depend.dat
7
* file; dependencies for system-defined objects are loaded into it
8
* on-the-fly during initdb. Most built-in objects are pinned anyway,
9
* and hence need no explicit entries in pg_depend.
10
*
11
* NOTE: we do not represent all possible dependency pairs in pg_depend;
12
* for example, there's not much value in creating an explicit dependency
13
* from an attribute to its relation. Usually we make a dependency for
14
* cases where the relationship is conditional rather than essential
15
* (for example, not all triggers are dependent on constraints, but all
16
* attributes are dependent on relations) or where the dependency is not
17
* convenient to find from the contents of other catalogs.
18
*
19
*
20
* Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
21
* Portions Copyright (c) 1994, Regents of the University of California
22
*
23
* src/include/catalog/pg_depend.h
24
*
25
* NOTES
26
* The Catalog.pm module reads this file and derives schema
27
* information.
28
*
29
*-------------------------------------------------------------------------
30
*/
31
#ifndef PG_DEPEND_H
32
#define PG_DEPEND_H
33
34
#include "
catalog/genbki.h
"
35
#include "catalog/pg_depend_d.h"
/* IWYU pragma: export */
36
37
/* ----------------
38
* pg_depend definition. cpp turns this into
39
* typedef struct FormData_pg_depend
40
* ----------------
41
*/
42
CATALOG
(
pg_depend
,2608,
DependRelationId
)
43
{
44
/*
45
* Identification of the dependent (referencing) object.
46
*/
47
Oid
classid
BKI_LOOKUP
(
pg_class
);
/* OID of table containing
48
* object */
49
Oid
objid;
/* OID of object itself */
50
int32
objsubid;
/* column number, or 0 if not used */
51
52
/*
53
* Identification of the independent (referenced) object.
54
*/
55
Oid
refclassid
BKI_LOOKUP
(
pg_class
);
/* OID of table containing
56
* object */
57
Oid
refobjid;
/* OID of object itself */
58
int32
refobjsubid
;
/* column number, or 0 if not used */
59
60
/*
61
* Precise semantics of the relationship are specified by the deptype
62
* field. See DependencyType in catalog/dependency.h.
63
*/
64
char
deptype;
/* see codes in dependency.h */
65
}
FormData_pg_depend
;
66
67
/* ----------------
68
* Form_pg_depend corresponds to a pointer to a row with
69
* the format of pg_depend relation.
70
* ----------------
71
*/
72
typedef
FormData_pg_depend
*
Form_pg_depend
;
73
74
DECLARE_INDEX
(
pg_depend_depender_index
, 2673,
DependDependerIndexId
,
pg_depend
, btree(classid
oid_ops
, objid
oid_ops
, objsubid
int4_ops
));
75
DECLARE_INDEX
(
pg_depend_reference_index
, 2674,
DependReferenceIndexId
,
pg_depend
, btree(
refclassid
oid_ops
, refobjid
oid_ops
,
refobjsubid
int4_ops
));
76
77
#endif
/* PG_DEPEND_H */
int32
int32_t int32
Definition
c.h:542
genbki.h
BKI_LOOKUP
#define BKI_LOOKUP(catalog)
Definition
genbki.h:46
CATALOG
#define CATALOG(name, oid, oidmacro)
Definition
genbki.h:23
DECLARE_INDEX
#define DECLARE_INDEX(name, oid, oidmacro, tblname, decl)
Definition
genbki.h:84
FormData_pg_depend
FormData_pg_depend
Definition
pg_depend.h:65
Form_pg_depend
FormData_pg_depend * Form_pg_depend
Definition
pg_depend.h:72
Oid
unsigned int Oid
Definition
postgres_ext.h:32
fb
static int fb(int x)
Definition
preproc-init.c:92
src
include
catalog
pg_depend.h
Generated on Tue Jan 27 2026 06:13:16 for PostgreSQL Source Code by
1.9.8