Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite3b607c

Browse files
committed
Update pageinspect extension for parallel query.
All functions provided by this extension are PARALLEL SAFE.Andreas Karlsson
1 parent749a787 commite3b607c

File tree

4 files changed

+49
-24
lines changed

4 files changed

+49
-24
lines changed

‎contrib/pageinspect/Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ OBJS= rawpage.o heapfuncs.o btreefuncs.o fsmfuncs.o \
55
brinfuncs.o ginfuncs.o$(WIN32RES)
66

77
EXTENSION = pageinspect
8-
DATA = pageinspect--1.4.sql pageinspect--1.3--1.4.sql\
9-
pageinspect--1.2--1.3.sql pageinspect--1.1--1.2.sql\
10-
pageinspect--1.0--1.1.sql pageinspect--unpackaged--1.0.sql
8+
DATA = pageinspect--1.5.sql pageinspect--1.4--1.5.sql\
9+
pageinspect--1.3--1.4.sql pageinspect--1.2--1.3.sql\
10+
pageinspect--1.1--1.2.sql pageinspect--1.0--1.1.sql\
11+
pageinspect--unpackaged--1.0.sql
1112
PGFILEDESC = "pageinspect - functions to inspect contents of database pages"
1213

1314
ifdefUSE_PGXS
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/* contrib/pageinspect/pageinspect--1.4--1.5.sql*/
2+
3+
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
4+
\echo Use"ALTER EXTENSION pageinspect UPDATE TO '1.5'" to load this file. \quit
5+
6+
ALTERFUNCTION get_raw_page(text, int4) PARALLEL SAFE;
7+
ALTERFUNCTION get_raw_page(text,text, int4) PARALLEL SAFE;
8+
ALTERFUNCTION page_header(bytea) PARALLEL SAFE;
9+
ALTERFUNCTION heap_page_items(bytea) PARALLEL SAFE;
10+
ALTERFUNCTION tuple_data_split(oid,bytea,integer,integer,text) PARALLEL SAFE;
11+
ALTERFUNCTION tuple_data_split(oid,bytea,integer,integer,text, bool) PARALLEL SAFE;
12+
ALTERFUNCTION heap_page_item_attrs(bytea, regclass, bool) PARALLEL SAFE;
13+
ALTERFUNCTION heap_page_item_attrs(bytea, regclass) PARALLEL SAFE;
14+
ALTERFUNCTION bt_metap(text) PARALLEL SAFE;
15+
ALTERFUNCTION bt_page_stats(text, int4) PARALLEL SAFE;
16+
ALTERFUNCTION bt_page_items(text, int4) PARALLEL SAFE;
17+
ALTERFUNCTION brin_page_type(bytea) PARALLEL SAFE;
18+
ALTERFUNCTION brin_metapage_info(bytea) PARALLEL SAFE;
19+
ALTERFUNCTION brin_revmap_data(bytea) PARALLEL SAFE;
20+
ALTERFUNCTION brin_page_items(bytea, regclass) PARALLEL SAFE;
21+
ALTERFUNCTION fsm_page_contents(bytea) PARALLEL SAFE;
22+
ALTERFUNCTION gin_metapage_info(bytea) PARALLEL SAFE;
23+
ALTERFUNCTION gin_page_opaque_info(bytea) PARALLEL SAFE;
24+
ALTERFUNCTION gin_leafpage_items(bytea) PARALLEL SAFE;

‎contrib/pageinspect/pageinspect--1.4.sqlrenamed to‎contrib/pageinspect/pageinspect--1.5.sql

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* contrib/pageinspect/pageinspect--1.4.sql*/
1+
/* contrib/pageinspect/pageinspect--1.5.sql*/
22

33
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
44
\echo Use"CREATE EXTENSION pageinspect" to load this file. \quit
@@ -9,12 +9,12 @@
99
CREATEFUNCTIONget_raw_page(text, int4)
1010
RETURNSbytea
1111
AS'MODULE_PATHNAME','get_raw_page'
12-
LANGUAGE C STRICT;
12+
LANGUAGE C STRICT PARALLEL SAFE;
1313

1414
CREATEFUNCTIONget_raw_page(text,text, int4)
1515
RETURNSbytea
1616
AS'MODULE_PATHNAME','get_raw_page_fork'
17-
LANGUAGE C STRICT;
17+
LANGUAGE C STRICT PARALLEL SAFE;
1818

1919
--
2020
-- page_header()
@@ -30,7 +30,7 @@ CREATE FUNCTION page_header(IN page bytea,
3030
OUT versionsmallint,
3131
OUT prune_xid xid)
3232
AS'MODULE_PATHNAME','page_header'
33-
LANGUAGE C STRICT;
33+
LANGUAGE C STRICT PARALLEL SAFE;
3434

3535
--
3636
-- heap_page_items()
@@ -52,7 +52,7 @@ CREATE FUNCTION heap_page_items(IN page bytea,
5252
OUT t_databytea)
5353
RETURNS SETOF record
5454
AS'MODULE_PATHNAME','heap_page_items'
55-
LANGUAGE C STRICT;
55+
LANGUAGE C STRICT PARALLEL SAFE;
5656

5757
--
5858
-- tuple_data_split()
@@ -64,7 +64,7 @@ CREATE FUNCTION tuple_data_split(rel_oid oid,
6464
t_bitstext)
6565
RETURNSbytea[]
6666
AS'MODULE_PATHNAME','tuple_data_split'
67-
LANGUAGE C;
67+
LANGUAGE C PARALLEL SAFE;
6868

6969
CREATEFUNCTIONtuple_data_split(rel_oidoid,
7070
t_databytea,
@@ -74,7 +74,7 @@ CREATE FUNCTION tuple_data_split(rel_oid oid,
7474
do_detoast bool)
7575
RETURNSbytea[]
7676
AS'MODULE_PATHNAME','tuple_data_split'
77-
LANGUAGE C;
77+
LANGUAGE C PARALLEL SAFE;
7878

7979
--
8080
-- heap_page_item_attrs()
@@ -121,7 +121,7 @@ SELECT lp,
121121
do_detoast)
122122
AS t_attrs
123123
FROM heap_page_items(page);
124-
$$ LANGUAGE SQL;
124+
$$ LANGUAGE SQL PARALLEL SAFE;
125125

126126
CREATEFUNCTIONheap_page_item_attrs(IN pagebytea,IN rel_oid regclass,
127127
OUT lpsmallint,
@@ -141,7 +141,7 @@ CREATE FUNCTION heap_page_item_attrs(IN page bytea, IN rel_oid regclass,
141141
)
142142
RETURNS SETOF recordAS $$
143143
SELECT*from heap_page_item_attrs(page, rel_oid, false);
144-
$$ LANGUAGE SQL;
144+
$$ LANGUAGE SQL PARALLEL SAFE;
145145

146146
--
147147
-- bt_metap()
@@ -154,7 +154,7 @@ CREATE FUNCTION bt_metap(IN relname text,
154154
OUT fastroot int4,
155155
OUT fastlevel int4)
156156
AS'MODULE_PATHNAME','bt_metap'
157-
LANGUAGE C STRICT;
157+
LANGUAGE C STRICT PARALLEL SAFE;
158158

159159
--
160160
-- bt_page_stats()
@@ -172,7 +172,7 @@ CREATE FUNCTION bt_page_stats(IN relname text, IN blkno int4,
172172
OUT btpo int4,
173173
OUT btpo_flags int4)
174174
AS'MODULE_PATHNAME','bt_page_stats'
175-
LANGUAGE C STRICT;
175+
LANGUAGE C STRICT PARALLEL SAFE;
176176

177177
--
178178
-- bt_page_items()
@@ -186,23 +186,23 @@ CREATE FUNCTION bt_page_items(IN relname text, IN blkno int4,
186186
OUT datatext)
187187
RETURNS SETOF record
188188
AS'MODULE_PATHNAME','bt_page_items'
189-
LANGUAGE C STRICT;
189+
LANGUAGE C STRICT PARALLEL SAFE;
190190

191191
--
192192
-- brin_page_type()
193193
--
194194
CREATEFUNCTIONbrin_page_type(IN pagebytea)
195195
RETURNStext
196196
AS'MODULE_PATHNAME','brin_page_type'
197-
LANGUAGE C STRICT;
197+
LANGUAGE C STRICT PARALLEL SAFE;
198198

199199
--
200200
-- brin_metapage_info()
201201
--
202202
CREATEFUNCTIONbrin_metapage_info(IN pagebytea, OUT magictext,
203203
OUT versioninteger, OUT pagesperrangeinteger, OUT lastrevmappagebigint)
204204
AS'MODULE_PATHNAME','brin_metapage_info'
205-
LANGUAGE C STRICT;
205+
LANGUAGE C STRICT PARALLEL SAFE;
206206

207207
--
208208
-- brin_revmap_data()
@@ -211,7 +211,7 @@ CREATE FUNCTION brin_revmap_data(IN page bytea,
211211
OUT pages tid)
212212
RETURNS SETOF tid
213213
AS'MODULE_PATHNAME','brin_revmap_data'
214-
LANGUAGE C STRICT;
214+
LANGUAGE C STRICT PARALLEL SAFE;
215215

216216
--
217217
-- brin_page_items()
@@ -226,15 +226,15 @@ CREATE FUNCTION brin_page_items(IN page bytea, IN index_oid regclass,
226226
OUT valuetext)
227227
RETURNS SETOF record
228228
AS'MODULE_PATHNAME','brin_page_items'
229-
LANGUAGE C STRICT;
229+
LANGUAGE C STRICT PARALLEL SAFE;
230230

231231
--
232232
-- fsm_page_contents()
233233
--
234234
CREATEFUNCTIONfsm_page_contents(IN pagebytea)
235235
RETURNStext
236236
AS'MODULE_PATHNAME','fsm_page_contents'
237-
LANGUAGE C STRICT;
237+
LANGUAGE C STRICT PARALLEL SAFE;
238238

239239
--
240240
-- GIN functions
@@ -255,7 +255,7 @@ CREATE FUNCTION gin_metapage_info(IN page bytea,
255255
OUT n_entriesbigint,
256256
OUT version int4)
257257
AS'MODULE_PATHNAME','gin_metapage_info'
258-
LANGUAGE C STRICT;
258+
LANGUAGE C STRICT PARALLEL SAFE;
259259

260260
--
261261
-- gin_page_opaque_info()
@@ -265,7 +265,7 @@ CREATE FUNCTION gin_page_opaque_info(IN page bytea,
265265
OUT maxoff int4,
266266
OUT flagstext[])
267267
AS'MODULE_PATHNAME','gin_page_opaque_info'
268-
LANGUAGE C STRICT;
268+
LANGUAGE C STRICT PARALLEL SAFE;
269269

270270
--
271271
-- gin_leafpage_items()
@@ -276,4 +276,4 @@ CREATE FUNCTION gin_leafpage_items(IN page bytea,
276276
OUT tids tid[])
277277
RETURNS SETOF record
278278
AS'MODULE_PATHNAME','gin_leafpage_items'
279-
LANGUAGE C STRICT;
279+
LANGUAGE C STRICT PARALLEL SAFE;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# pageinspect extension
22
comment = 'inspect the contents of database pages at a low level'
3-
default_version = '1.4'
3+
default_version = '1.5'
44
module_pathname = '$libdir/pageinspect'
55
relocatable = true

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp