@@ -1752,51 +1752,101 @@ CREATE FUNCTION rum_page_opaque_info(
1752
1752
AS ' MODULE_PATHNAME' , ' rum_page_opaque_info'
1753
1753
LANGUAGE C STRICT PARALLEL SAFE;
1754
1754
1755
- CREATE FUNCTION rum_leaf_data_page_items (
1756
- IN rel_name text ,
1757
- IN blk_num int4,
1758
- OUT is_high_key bool,
1759
- OUT tuple_id tid,
1760
- OUT add_info_is_null bool,
1761
- OUT add_info varchar )
1755
+ CREATE OR REPLACE FUNCTION
1756
+ rum_page_items_info(rel_name text , blk_num int4, page_type int4)
1762
1757
RETURNS SETOF record
1763
- AS ' MODULE_PATHNAME' , ' rum_leaf_data_page_items'
1764
- LANGUAGE C STRICT PARALLEL SAFE;
1758
+ AS ' MODULE_PATHNAME' , ' rum_page_items_info'
1759
+ LANGUAGE C STRICT;
1760
+
1761
+ CREATE FUNCTION rum_leaf_data_page_items (
1762
+ rel_name text ,
1763
+ blk_num int4
1764
+ )
1765
+ RETURNS TABLE(
1766
+ is_high_key bool,
1767
+ tuple_id tid,
1768
+ add_info_is_null bool,
1769
+ add_info varchar
1770
+ )
1771
+ AS $$
1772
+ SELECT *
1773
+ FROM rum_page_items_info(rel_name, blk_num, 0 )
1774
+ AS rum_page_items_info(
1775
+ is_high_key bool,
1776
+ tuple_id tid,
1777
+ add_info_is_null bool,
1778
+ add_info varchar
1779
+ );
1780
+ $$ LANGUAGE sql;
1765
1781
1766
1782
CREATE FUNCTION rum_internal_data_page_items (
1767
- IN rel_name text ,
1768
- IN blk_num int4,
1769
- OUT is_high_key bool,
1770
- OUT block_number int4,
1771
- OUT tuple_id tid,
1772
- OUT add_info_is_null bool,
1773
- OUT add_info varchar )
1774
- RETURNS SETOF record
1775
- AS ' MODULE_PATHNAME' , ' rum_internal_data_page_items'
1776
- LANGUAGE C STRICT PARALLEL SAFE;
1783
+ rel_name text ,
1784
+ blk_num int4
1785
+ )
1786
+ RETURNS TABLE(
1787
+ is_high_key bool,
1788
+ block_number int4,
1789
+ tuple_id tid,
1790
+ add_info_is_null bool,
1791
+ add_info varchar
1792
+ )
1793
+ AS $$
1794
+ SELECT *
1795
+ FROM rum_page_items_info(rel_name, blk_num, 1 )
1796
+ AS rum_page_items_info(
1797
+ is_high_key bool,
1798
+ block_number int4,
1799
+ tuple_id tid,
1800
+ add_info_is_null bool,
1801
+ add_info varchar
1802
+ );
1803
+ $$ LANGUAGE sql;
1777
1804
1778
1805
CREATE FUNCTION rum_leaf_entry_page_items (
1779
- IN rel_name text ,
1780
- IN blk_num int4,
1781
- OUT key varchar ,
1782
- OUT attrnum int4,
1783
- OUT category varchar ,
1784
- OUT tuple_id tid,
1785
- OUT add_info_is_null bool,
1786
- OUT add_info varchar ,
1787
- OUT is_postring_tree bool,
1788
- OUT postring_tree_root int4)
1789
- RETURNS SETOF record
1790
- AS ' MODULE_PATHNAME' , ' rum_leaf_entry_page_items'
1791
- LANGUAGE C STRICT PARALLEL SAFE;
1806
+ rel_name text ,
1807
+ blk_num int4
1808
+ )
1809
+ RETURNS TABLE(
1810
+ key varchar ,
1811
+ attrnum int4,
1812
+ category varchar ,
1813
+ tuple_id tid,
1814
+ add_info_is_null bool,
1815
+ add_info varchar ,
1816
+ is_postring_tree bool,
1817
+ postring_tree_root int4
1818
+ )
1819
+ AS $$
1820
+ SELECT *
1821
+ FROM rum_page_items_info(rel_name, blk_num, 2 )
1822
+ AS rum_page_items_info(
1823
+ key varchar ,
1824
+ attrnum int4,
1825
+ category varchar ,
1826
+ tuple_id tid,
1827
+ add_info_is_null bool,
1828
+ add_info varchar ,
1829
+ is_postring_tree bool,
1830
+ postring_tree_root int4
1831
+ );
1832
+ $$ LANGUAGE sql;
1792
1833
1793
1834
CREATE FUNCTION rum_internal_entry_page_items (
1794
- IN rel_name text ,
1795
- IN blk_num int4,
1796
- OUT key varchar ,
1797
- OUT attrnum int4,
1798
- OUT category varchar ,
1799
- OUT down_link int4)
1800
- RETURNS SETOF record
1801
- AS ' MODULE_PATHNAME' , ' rum_internal_entry_page_items'
1802
- LANGUAGE C STRICT PARALLEL SAFE;
1835
+ rel_name text ,
1836
+ blk_num int4
1837
+ )
1838
+ RETURNS TABLE(
1839
+ key varchar ,
1840
+ attrnum int4,
1841
+ category varchar ,
1842
+ down_link int4)
1843
+ AS $$
1844
+ SELECT *
1845
+ FROM rum_page_items_info(rel_name, blk_num, 3 )
1846
+ AS rum_page_items_info(
1847
+ key varchar ,
1848
+ attrnum int4,
1849
+ category varchar ,
1850
+ down_link int4
1851
+ );
1852
+ $$ LANGUAGE sql;
0 commit comments