1 /*------------------------------------------------------------------------- 2 * 3 * pg_am.h 4 * definition of the "access method" system catalog (pg_am) 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_am.h 11 * 12 * NOTES 13 * The Catalog.pm module reads this file and derives schema 14 * information. 15 * 16 *------------------------------------------------------------------------- 17 */ 18 #ifndef PG_AM_H 19 #define PG_AM_H 20 21 #include "catalog/genbki.h" 22 #include "catalog/pg_am_d.h" 23 24 /* ---------------- 25 * pg_am definition. cpp turns this into 26 * typedef struct FormData_pg_am 27 * ---------------- 28 */ 29 CATALOG(pg_am,2601,AccessMethodRelationId) 30 { 31 Oid oid; /* oid */ 32 33 /* access method name */ 34 NameData amname; 35 36 /* handler function */ 37 regproc amhandler BKI_LOOKUP(pg_proc); 38 39 /* see AMTYPE_xxx constants below */ 40 char amtype; 41 } FormData_pg_am; 42 43 /* ---------------- 44 * Form_pg_am corresponds to a pointer to a tuple with 45 * the format of pg_am relation. 46 * ---------------- 47 */ 48 typedef FormData_pg_am *Form_pg_am; 49 50 DECLARE_UNIQUE_INDEX(pg_am_name_index, 2651, on pg_am using btree(amname name_ops)); 51 #define AmNameIndexId 2651 52 DECLARE_UNIQUE_INDEX_PKEY(pg_am_oid_index, 2652, on pg_am using btree(oid oid_ops)); 53 #define AmOidIndexId 2652 54 55 #ifdef EXPOSE_TO_CLIENT_CODE 56 57 /* 58 * Allowed values for amtype 59 */ 60 #define AMTYPE_INDEX 'i' /* index access method */ 61 #define AMTYPE_TABLE 't' /* table access method */ 62 63 #endif /* EXPOSE_TO_CLIENT_CODE */ 64 65 #endif /* PG_AM_H */ 66