pg_shdescription.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /*-------------------------------------------------------------------------
  2. *
  3. * pg_shdescription.h
  4. * definition of the system "shared description" relation
  5. * (pg_shdescription)
  6. *
  7. * NOTE: an object is identified by the OID of the row that primarily
  8. * defines the object, plus the OID of the table that that row appears in.
  9. * For example, a database is identified by the OID of its pg_database row
  10. * plus the pg_class OID of table pg_database. This allows unique
  11. * identification of objects without assuming that OIDs are unique
  12. * across tables.
  13. *
  14. *
  15. * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
  16. * Portions Copyright (c) 1994, Regents of the University of California
  17. *
  18. * src/include/catalog/pg_shdescription.h
  19. *
  20. * NOTES
  21. * the genbki.pl script reads this file and generates .bki
  22. * information from the DATA() statements.
  23. *
  24. * XXX do NOT break up DATA() statements into multiple lines!
  25. * the scripts are not as smart as you might think...
  26. *
  27. *-------------------------------------------------------------------------
  28. */
  29. #ifndef PG_SHDESCRIPTION_H
  30. #define PG_SHDESCRIPTION_H
  31. #include "catalog/genbki.h"
  32. /* ----------------
  33. * pg_shdescription definition. cpp turns this into
  34. * typedef struct FormData_pg_shdescription
  35. * ----------------
  36. */
  37. #define SharedDescriptionRelationId 2396
  38. CATALOG(pg_shdescription,2396) BKI_SHARED_RELATION BKI_WITHOUT_OIDS
  39. {
  40. Oid objoid; /* OID of object itself */
  41. Oid classoid; /* OID of table containing object */
  42. #ifdef CATALOG_VARLEN /* variable-length fields start here */
  43. text description BKI_FORCE_NOT_NULL; /* description of object */
  44. #endif
  45. } FormData_pg_shdescription;
  46. /* ----------------
  47. * Form_pg_shdescription corresponds to a pointer to a tuple with
  48. * the format of pg_shdescription relation.
  49. * ----------------
  50. */
  51. typedef FormData_pg_shdescription *Form_pg_shdescription;
  52. /* ----------------
  53. * compiler constants for pg_shdescription
  54. * ----------------
  55. */
  56. #define Natts_pg_shdescription 3
  57. #define Anum_pg_shdescription_objoid 1
  58. #define Anum_pg_shdescription_classoid 2
  59. #define Anum_pg_shdescription_description 3
  60. /* ----------------
  61. * initial contents of pg_shdescription
  62. * ----------------
  63. */
  64. /*
  65. * Because the contents of this table are taken from the other *.h files,
  66. * there is no initialization here. The initial contents are extracted
  67. * by genbki.pl and loaded during initdb.
  68. */
  69. #endif /* PG_SHDESCRIPTION_H */