| /*------------------------------------------------------------------------- |
| * |
| * pg_largeobject.h |
| * definition of the "large object" system catalog (pg_largeobject) |
| * |
| * |
| * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group |
| * Portions Copyright (c) 1994, Regents of the University of California |
| * |
| * src/include/catalog/pg_largeobject.h |
| * |
| * NOTES |
| * The Catalog.pm module reads this file and derives schema |
| * information. |
| * |
| *------------------------------------------------------------------------- |
| */ |
| #ifndef PG_LARGEOBJECT_H |
| #define PG_LARGEOBJECT_H |
| |
| #include "catalog/genbki.h" |
| #include "catalog/pg_largeobject_d.h" |
| |
| /* ---------------- |
| * pg_largeobject definition. cpp turns this into |
| * typedef struct FormData_pg_largeobject |
| * ---------------- |
| */ |
| CATALOG(pg_largeobject,2613,LargeObjectRelationId) |
| { |
| Oid loid BKI_LOOKUP(pg_largeobject_metadata); /* Identifier of large |
| * object */ |
| int32 pageno; /* Page number (starting from 0) */ |
| |
| /* data has variable length, but we allow direct access; see inv_api.c */ |
| bytea data BKI_FORCE_NOT_NULL; /* Data for page (may be |
| * zero-length) */ |
| } FormData_pg_largeobject; |
| |
| /* GPDB added foreign key definitions for gpcheckcat. */ |
| /* none */ |
| |
| /* ---------------- |
| * Form_pg_largeobject corresponds to a pointer to a tuple with |
| * the format of pg_largeobject relation. |
| * ---------------- |
| */ |
| typedef FormData_pg_largeobject *Form_pg_largeobject; |
| |
| DECLARE_UNIQUE_INDEX_PKEY(pg_largeobject_loid_pn_index, 2683, on pg_largeobject using btree(loid oid_ops, pageno int4_ops)); |
| #define LargeObjectLOidPNIndexId 2683 |
| |
| extern Oid LargeObjectCreate(Oid loid); |
| extern void LargeObjectDrop(Oid loid); |
| extern bool LargeObjectExists(Oid loid); |
| |
| #endif /* PG_LARGEOBJECT_H */ |