Skip to content

Commit 9f6309f

Browse files
author
Arseny Kositsyn
committed
[PGPRO-12159] Added a script for updating RUM to version 1.4.
Tags: rum
1 parent 1a671b1 commit 9f6309f

File tree

5 files changed

+140
-4
lines changed

5 files changed

+140
-4
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
MODULE_big = rum
44
EXTENSION = rum
5-
EXTVERSION = 1.3
5+
EXTVERSION = 1.4
66
PGFILEDESC = "RUM index access method"
77

88
OBJS = src/rumsort.o src/rum_ts_utils.o src/rumtsquery.o \
@@ -12,7 +12,7 @@ OBJS = src/rumsort.o src/rum_ts_utils.o src/rumtsquery.o \
1212
src/btree_rum.o src/rum_arr_utils.o src/rum_debug_funcs.o $(WIN32RES)
1313

1414
DATA_updates = rum--1.0--1.1.sql rum--1.1--1.2.sql \
15-
rum--1.2--1.3.sql
15+
rum--1.2--1.3.sql rum--1.3--1.4.sql
1616

1717
DATA_built = $(EXTENSION)--$(EXTVERSION).sql
1818

meson.build

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# of the contrib source tree.
55

66
extension = 'rum'
7-
extversion = '1.3'
7+
extversion = '1.4'
88

99
rum_sources = files(
1010
'src/btree_rum.c',
@@ -49,6 +49,7 @@ install_data(
4949
'rum--1.0--1.1.sql',
5050
'rum--1.1--1.2.sql',
5151
'rum--1.2--1.3.sql',
52+
'rum--1.3--1.4.sql',
5253
kwargs: contrib_data_args,
5354
)
5455

rum--1.3--1.4.sql

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
/*
2+
* RUM version 1.4
3+
*/
4+
5+
/*--------------------RUM debug functions-----------------------*/
6+
7+
CREATE FUNCTION rum_metapage_info(
8+
IN rel_name text,
9+
IN blk_num int4,
10+
OUT pending_head bigint,
11+
OUT pending_tail bigint,
12+
OUT tail_free_size int4,
13+
OUT n_pending_pages bigint,
14+
OUT n_pending_tuples bigint,
15+
OUT n_total_pages bigint,
16+
OUT n_entry_pages bigint,
17+
OUT n_data_pages bigint,
18+
OUT n_entries bigint,
19+
OUT version varchar)
20+
AS 'MODULE_PATHNAME', 'rum_metapage_info'
21+
LANGUAGE C STRICT PARALLEL SAFE;
22+
23+
CREATE FUNCTION rum_page_opaque_info(
24+
IN rel_name text,
25+
IN blk_num int4,
26+
OUT leftlink bigint,
27+
OUT rightlink bigint,
28+
OUT maxoff int4,
29+
OUT freespace int4,
30+
OUT flags text[])
31+
AS 'MODULE_PATHNAME', 'rum_page_opaque_info'
32+
LANGUAGE C STRICT PARALLEL SAFE;
33+
34+
CREATE OR REPLACE FUNCTION
35+
rum_page_items_info(rel_name text, blk_num int4, page_type int4)
36+
RETURNS SETOF record
37+
AS 'MODULE_PATHNAME', 'rum_page_items_info'
38+
LANGUAGE C STRICT;
39+
40+
CREATE FUNCTION rum_leaf_data_page_items(
41+
rel_name text,
42+
blk_num int4
43+
)
44+
RETURNS TABLE(
45+
is_high_key bool,
46+
tuple_id tid,
47+
add_info_is_null bool,
48+
add_info varchar
49+
)
50+
AS $$
51+
SELECT *
52+
FROM rum_page_items_info(rel_name, blk_num, 0)
53+
AS rum_page_items_info(
54+
is_high_key bool,
55+
tuple_id tid,
56+
add_info_is_null bool,
57+
add_info varchar
58+
);
59+
$$ LANGUAGE sql;
60+
61+
CREATE FUNCTION rum_internal_data_page_items(
62+
rel_name text,
63+
blk_num int4
64+
)
65+
RETURNS TABLE(
66+
is_high_key bool,
67+
block_number int4,
68+
tuple_id tid,
69+
add_info_is_null bool,
70+
add_info varchar
71+
)
72+
AS $$
73+
SELECT *
74+
FROM rum_page_items_info(rel_name, blk_num, 1)
75+
AS rum_page_items_info(
76+
is_high_key bool,
77+
block_number int4,
78+
tuple_id tid,
79+
add_info_is_null bool,
80+
add_info varchar
81+
);
82+
$$ LANGUAGE sql;
83+
84+
CREATE FUNCTION rum_leaf_entry_page_items(
85+
rel_name text,
86+
blk_num int4
87+
)
88+
RETURNS TABLE(
89+
key varchar,
90+
attrnum int4,
91+
category varchar,
92+
tuple_id tid,
93+
add_info_is_null bool,
94+
add_info varchar,
95+
is_postring_tree bool,
96+
postring_tree_root int4
97+
)
98+
AS $$
99+
SELECT *
100+
FROM rum_page_items_info(rel_name, blk_num, 2)
101+
AS rum_page_items_info(
102+
key varchar,
103+
attrnum int4,
104+
category varchar,
105+
tuple_id tid,
106+
add_info_is_null bool,
107+
add_info varchar,
108+
is_postring_tree bool,
109+
postring_tree_root int4
110+
);
111+
$$ LANGUAGE sql;
112+
113+
CREATE FUNCTION rum_internal_entry_page_items(
114+
rel_name text,
115+
blk_num int4
116+
)
117+
RETURNS TABLE(
118+
key varchar,
119+
attrnum int4,
120+
category varchar,
121+
down_link int4)
122+
AS $$
123+
SELECT *
124+
FROM rum_page_items_info(rel_name, blk_num, 3)
125+
AS rum_page_items_info(
126+
key varchar,
127+
attrnum int4,
128+
category varchar,
129+
down_link int4
130+
);
131+
$$ LANGUAGE sql;

rum.control

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# RUM extension
22
comment = 'RUM index access method'
3-
default_version = '1.3'
3+
default_version = '1.4'
44
module_pathname = '$libdir/rum'
55
relocatable = true

rum_init.sql

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1723,6 +1723,10 @@ RETURNS float4
17231723
AS 'MODULE_PATHNAME', 'rum_ts_score_td'
17241724
LANGUAGE C IMMUTABLE STRICT;
17251725

1726+
/*
1727+
* RUM version 1.4
1728+
*/
1729+
17261730
/*--------------------RUM debug functions-----------------------*/
17271731

17281732
CREATE FUNCTION rum_metapage_info(

0 commit comments

Comments
 (0)