PostgreSQL Source Code git master
Loading...
Searching...
No Matches
pg_propgraph_element.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * pg_propgraph_element.h
4 * definition of the "property graph elements" system catalog (pg_propgraph_element)
5 *
6 * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
8 *
9 * src/include/catalog/pg_propgraph_element.h
10 *
11 * NOTES
12 * The Catalog.pm module reads this file and derives schema
13 * information.
14 *
15 *-------------------------------------------------------------------------
16 */
17#ifndef PG_PROPGRAPH_ELEMENT_H
18#define PG_PROPGRAPH_ELEMENT_H
19
20#include "catalog/genbki.h"
21#include "catalog/pg_propgraph_element_d.h"
22
23/* ----------------
24 * pg_propgraph_element definition. cpp turns this into
25 * typedef struct FormData_pg_propgraph_element
26 * ----------------
27 */
29
31{
32 Oid oid;
33
34 /* OID of the property graph relation */
36
37 /* OID of the element table */
39
40 /* element alias */
42
43 /* vertex or edge? -- see PGEKIND_* below */
44 char pgekind;
45
46 /* for edges: source vertex */
48
49 /* for edges: destination vertex */
51
52#ifdef CATALOG_VARLEN /* variable-length fields start here */
53 /* element key (column numbers in pgerelid relation) */
55
56 /*
57 * for edges: source vertex key (column numbers in pgerelid relation)
58 */
60
61 /*
62 * for edges: source vertex table referenced columns (column numbers in
63 * relation reached via pgesrcvertexid)
64 */
66
67 /*
68 * for edges: Oids of the equality operators for comparing source keys
69 */
70 Oid pgesrceqop[1];
71
72 /*
73 * for edges: destination vertex key (column numbers in pgerelid relation)
74 */
76
77 /*
78 * for edges: destination vertex table referenced columns (column numbers
79 * in relation reached via pgedestvertexid)
80 */
82
83 /*
84 * for edges: Oids of the equality operators for comparing destination
85 * keys
86 */
88#endif
90
92
93/* ----------------
94 * Form_pg_propgraph_element corresponds to a pointer to a tuple with
95 * the format of pg_propgraph_element relation.
96 * ----------------
97 */
99
101
104
107
108#ifdef EXPOSE_TO_CLIENT_CODE
109
110/*
111 * Symbolic values for pgekind column
112 */
113#define PGEKIND_VERTEX 'v'
114#define PGEKIND_EDGE 'e'
115
116#endif /* EXPOSE_TO_CLIENT_CODE */
117
118#endif /* PG_PROPGRAPH_ELEMENT_H */
int16_t int16
Definition c.h:610
#define BEGIN_CATALOG_STRUCT
Definition genbki.h:37
#define DECLARE_UNIQUE_INDEX_PKEY(name, oid, oidmacro, tblname, decl)
Definition genbki.h:105
#define BKI_LOOKUP(catalog)
Definition genbki.h:65
#define END_CATALOG_STRUCT
Definition genbki.h:38
#define BKI_LOOKUP_OPT(catalog)
Definition genbki.h:66
#define DECLARE_UNIQUE_INDEX(name, oid, oidmacro, tblname, decl)
Definition genbki.h:104
#define BKI_FORCE_NOT_NULL
Definition genbki.h:52
#define DECLARE_TOAST(name, toastoid, indexoid)
Definition genbki.h:82
#define CATALOG(name, oid, oidmacro)
Definition genbki.h:42
#define MAKE_SYSCACHE(name, idxname, nbuckets)
Definition genbki.h:146
END_CATALOG_STRUCT typedef FormData_pg_propgraph_element * Form_pg_propgraph_element
FormData_pg_propgraph_element
unsigned int Oid
static int fb(int x)
Definition c.h:829