pg_language.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*-------------------------------------------------------------------------
  2. *
  3. * pg_language.h
  4. * definition of the "language" system catalog (pg_language)
  5. *
  6. *
  7. * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
  8. * Portions Copyright (c) 1994, Regents of the University of California
  9. *
  10. * src/include/catalog/pg_language.h
  11. *
  12. * NOTES
  13. * The Catalog.pm module reads this file and derives schema
  14. * information.
  15. *
  16. *-------------------------------------------------------------------------
  17. */
  18. #ifndef PG_LANGUAGE_H
  19. #define PG_LANGUAGE_H
  20. #include "catalog/genbki.h"
  21. #include "catalog/pg_language_d.h"
  22. /* ----------------
  23. * pg_language definition. cpp turns this into
  24. * typedef struct FormData_pg_language
  25. * ----------------
  26. */
  27. CATALOG(pg_language,2612,LanguageRelationId)
  28. {
  29. Oid oid; /* oid */
  30. /* Language name */
  31. NameData lanname;
  32. /* Language's owner */
  33. Oid lanowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
  34. /* Is a procedural language */
  35. bool lanispl BKI_DEFAULT(f);
  36. /* PL is trusted */
  37. bool lanpltrusted BKI_DEFAULT(f);
  38. /* Call handler, if it's a PL */
  39. Oid lanplcallfoid BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc);
  40. /* Optional anonymous-block handler function */
  41. Oid laninline BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc);
  42. /* Optional validation function */
  43. Oid lanvalidator BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc);
  44. #ifdef CATALOG_VARLEN /* variable-length fields start here */
  45. /* Access privileges */
  46. aclitem lanacl[1] BKI_DEFAULT(_null_);
  47. #endif
  48. } FormData_pg_language;
  49. /* ----------------
  50. * Form_pg_language corresponds to a pointer to a tuple with
  51. * the format of pg_language relation.
  52. * ----------------
  53. */
  54. typedef FormData_pg_language *Form_pg_language;
  55. DECLARE_TOAST(pg_language, 4157, 4158);
  56. DECLARE_UNIQUE_INDEX(pg_language_name_index, 2681, LanguageNameIndexId, on pg_language using btree(lanname name_ops));
  57. DECLARE_UNIQUE_INDEX_PKEY(pg_language_oid_index, 2682, LanguageOidIndexId, on pg_language using btree(oid oid_ops));
  58. #endif /* PG_LANGUAGE_H */