1 /* -------------------------------------------------------------------------
4 * definition of the "shared security label" system catalog (pg_shseclabel)
6 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
9 * src/include/catalog/pg_shseclabel.h
12 * The Catalog.pm module reads this file and derives schema
15 * -------------------------------------------------------------------------
17 #ifndef PG_SHSECLABEL_H
18 #define PG_SHSECLABEL_H
20 #include "catalog/genbki.h"
21 #include "catalog/pg_shseclabel_d.h" /* IWYU pragma: export */
24 * pg_shseclabel definition. cpp turns this into
25 * typedef struct FormData_pg_shseclabel
28 CATALOG(pg_shseclabel
,3592,SharedSecLabelRelationId
) BKI_SHARED_RELATION
BKI_ROWTYPE_OID(4066,SharedSecLabelRelation_Rowtype_Id
) BKI_SCHEMA_MACRO
30 Oid objoid
; /* OID of the shared object itself */
31 Oid classoid
BKI_LOOKUP(pg_class
); /* OID of table containing the
34 #ifdef CATALOG_VARLEN /* variable-length fields start here */
35 text provider BKI_FORCE_NOT_NULL
; /* name of label provider */
36 text label BKI_FORCE_NOT_NULL
; /* security label of the object */
38 } FormData_pg_shseclabel
;
40 typedef FormData_pg_shseclabel
* Form_pg_shseclabel
;
42 DECLARE_TOAST_WITH_MACRO(pg_shseclabel
, 4060, 4061, PgShseclabelToastTable
, PgShseclabelToastIndex
);
44 DECLARE_UNIQUE_INDEX_PKEY(pg_shseclabel_object_index
, 3593, SharedSecLabelObjectIndexId
, pg_shseclabel
, btree(objoid oid_ops
, classoid oid_ops
, provider text_ops
));
46 #endif /* PG_SHSECLABEL_H */