gooderp18绿色标准版
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

119 lines
2.5KB

  1. /* contrib/pageinspect/pageinspect--1.3--1.4.sql */
  2. -- complain if script is sourced in psql, rather than via ALTER EXTENSION
  3. \echo Use "ALTER EXTENSION pageinspect UPDATE TO '1.4'" to load this file. \quit
  4. --
  5. -- heap_page_items()
  6. --
  7. DROP FUNCTION heap_page_items(bytea);
  8. CREATE FUNCTION heap_page_items(IN page bytea,
  9. OUT lp smallint,
  10. OUT lp_off smallint,
  11. OUT lp_flags smallint,
  12. OUT lp_len smallint,
  13. OUT t_xmin xid,
  14. OUT t_xmax xid,
  15. OUT t_field3 int4,
  16. OUT t_ctid tid,
  17. OUT t_infomask2 integer,
  18. OUT t_infomask integer,
  19. OUT t_hoff smallint,
  20. OUT t_bits text,
  21. OUT t_oid oid,
  22. OUT t_data bytea)
  23. RETURNS SETOF record
  24. AS 'MODULE_PATHNAME', 'heap_page_items'
  25. LANGUAGE C STRICT;
  26. --
  27. -- tuple_data_split()
  28. --
  29. CREATE FUNCTION tuple_data_split(rel_oid oid,
  30. t_data bytea,
  31. t_infomask integer,
  32. t_infomask2 integer,
  33. t_bits text)
  34. RETURNS bytea[]
  35. AS 'MODULE_PATHNAME','tuple_data_split'
  36. LANGUAGE C;
  37. CREATE FUNCTION tuple_data_split(rel_oid oid,
  38. t_data bytea,
  39. t_infomask integer,
  40. t_infomask2 integer,
  41. t_bits text,
  42. do_detoast bool)
  43. RETURNS bytea[]
  44. AS 'MODULE_PATHNAME','tuple_data_split'
  45. LANGUAGE C;
  46. --
  47. -- heap_page_item_attrs()
  48. --
  49. CREATE FUNCTION heap_page_item_attrs(
  50. IN page bytea,
  51. IN rel_oid regclass,
  52. IN do_detoast bool,
  53. OUT lp smallint,
  54. OUT lp_off smallint,
  55. OUT lp_flags smallint,
  56. OUT lp_len smallint,
  57. OUT t_xmin xid,
  58. OUT t_xmax xid,
  59. OUT t_field3 int4,
  60. OUT t_ctid tid,
  61. OUT t_infomask2 integer,
  62. OUT t_infomask integer,
  63. OUT t_hoff smallint,
  64. OUT t_bits text,
  65. OUT t_oid oid,
  66. OUT t_attrs bytea[]
  67. )
  68. RETURNS SETOF record AS $$
  69. SELECT lp,
  70. lp_off,
  71. lp_flags,
  72. lp_len,
  73. t_xmin,
  74. t_xmax,
  75. t_field3,
  76. t_ctid,
  77. t_infomask2,
  78. t_infomask,
  79. t_hoff,
  80. t_bits,
  81. t_oid,
  82. tuple_data_split(
  83. rel_oid,
  84. t_data,
  85. t_infomask,
  86. t_infomask2,
  87. t_bits,
  88. do_detoast)
  89. AS t_attrs
  90. FROM heap_page_items(page);
  91. $$ LANGUAGE SQL;
  92. CREATE FUNCTION heap_page_item_attrs(
  93. IN page bytea,
  94. IN rel_oid regclass,
  95. OUT lp smallint,
  96. OUT lp_off smallint,
  97. OUT lp_flags smallint,
  98. OUT lp_len smallint,
  99. OUT t_xmin xid,
  100. OUT t_xmax xid,
  101. OUT t_field3 int4,
  102. OUT t_ctid tid,
  103. OUT t_infomask2 integer,
  104. OUT t_infomask integer,
  105. OUT t_hoff smallint,
  106. OUT t_bits text,
  107. OUT t_oid oid,
  108. OUT t_attrs bytea[]
  109. )
  110. RETURNS SETOF record AS $$
  111. SELECT * from heap_page_item_attrs(page, rel_oid, false);
  112. $$ LANGUAGE SQL;
上海开阖软件有限公司 沪ICP备12045867号-1