diff --git a/contrib/pageinspect/Makefile b/contrib/pageinspect/Makefile index 91ab119d43..a98237ecbd 100644 --- a/contrib/pageinspect/Makefile +++ b/contrib/pageinspect/Makefile @@ -5,9 +5,10 @@ OBJS = rawpage.o heapfuncs.o btreefuncs.o fsmfuncs.o \ brinfuncs.o ginfuncs.o $(WIN32RES) EXTENSION = pageinspect -DATA = pageinspect--1.4.sql pageinspect--1.3--1.4.sql \ - pageinspect--1.2--1.3.sql pageinspect--1.1--1.2.sql \ - pageinspect--1.0--1.1.sql pageinspect--unpackaged--1.0.sql +DATA = pageinspect--1.5.sql pageinspect--1.4--1.5.sql \ + pageinspect--1.3--1.4.sql pageinspect--1.2--1.3.sql \ + pageinspect--1.1--1.2.sql pageinspect--1.0--1.1.sql \ + pageinspect--unpackaged--1.0.sql PGFILEDESC = "pageinspect - functions to inspect contents of database pages" ifdef USE_PGXS diff --git a/contrib/pageinspect/pageinspect--1.4--1.5.sql b/contrib/pageinspect/pageinspect--1.4--1.5.sql new file mode 100644 index 0000000000..7ed7b54151 --- /dev/null +++ b/contrib/pageinspect/pageinspect--1.4--1.5.sql @@ -0,0 +1,24 @@ +/* contrib/pageinspect/pageinspect--1.4--1.5.sql */ + +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION pageinspect UPDATE TO '1.5'" to load this file. \quit + +ALTER FUNCTION get_raw_page(text, int4) PARALLEL SAFE; +ALTER FUNCTION get_raw_page(text, text, int4) PARALLEL SAFE; +ALTER FUNCTION page_header(bytea) PARALLEL SAFE; +ALTER FUNCTION heap_page_items(bytea) PARALLEL SAFE; +ALTER FUNCTION tuple_data_split(oid, bytea, integer, integer, text) PARALLEL SAFE; +ALTER FUNCTION tuple_data_split(oid, bytea, integer, integer, text, bool) PARALLEL SAFE; +ALTER FUNCTION heap_page_item_attrs(bytea, regclass, bool) PARALLEL SAFE; +ALTER FUNCTION heap_page_item_attrs(bytea, regclass) PARALLEL SAFE; +ALTER FUNCTION bt_metap(text) PARALLEL SAFE; +ALTER FUNCTION bt_page_stats(text, int4) PARALLEL SAFE; +ALTER FUNCTION bt_page_items(text, int4) PARALLEL SAFE; +ALTER FUNCTION brin_page_type(bytea) PARALLEL SAFE; +ALTER FUNCTION brin_metapage_info(bytea) PARALLEL SAFE; +ALTER FUNCTION brin_revmap_data(bytea) PARALLEL SAFE; +ALTER FUNCTION brin_page_items(bytea, regclass) PARALLEL SAFE; +ALTER FUNCTION fsm_page_contents(bytea) PARALLEL SAFE; +ALTER FUNCTION gin_metapage_info(bytea) PARALLEL SAFE; +ALTER FUNCTION gin_page_opaque_info(bytea) PARALLEL SAFE; +ALTER FUNCTION gin_leafpage_items(bytea) PARALLEL SAFE; diff --git a/contrib/pageinspect/pageinspect--1.4.sql b/contrib/pageinspect/pageinspect--1.5.sql similarity index 89% rename from contrib/pageinspect/pageinspect--1.4.sql rename to contrib/pageinspect/pageinspect--1.5.sql index f75aa0b57f..1e40c3c97e 100644 --- a/contrib/pageinspect/pageinspect--1.4.sql +++ b/contrib/pageinspect/pageinspect--1.5.sql @@ -1,4 +1,4 @@ -/* contrib/pageinspect/pageinspect--1.4.sql */ +/* contrib/pageinspect/pageinspect--1.5.sql */ -- complain if script is sourced in psql, rather than via CREATE EXTENSION \echo Use "CREATE EXTENSION pageinspect" to load this file. \quit @@ -9,12 +9,12 @@ CREATE FUNCTION get_raw_page(text, int4) RETURNS bytea AS 'MODULE_PATHNAME', 'get_raw_page' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; CREATE FUNCTION get_raw_page(text, text, int4) RETURNS bytea AS 'MODULE_PATHNAME', 'get_raw_page_fork' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- page_header() @@ -30,7 +30,7 @@ CREATE FUNCTION page_header(IN page bytea, OUT version smallint, OUT prune_xid xid) AS 'MODULE_PATHNAME', 'page_header' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- heap_page_items() @@ -52,7 +52,7 @@ CREATE FUNCTION heap_page_items(IN page bytea, OUT t_data bytea) RETURNS SETOF record AS 'MODULE_PATHNAME', 'heap_page_items' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- tuple_data_split() @@ -64,7 +64,7 @@ CREATE FUNCTION tuple_data_split(rel_oid oid, t_bits text) RETURNS bytea[] AS 'MODULE_PATHNAME','tuple_data_split' -LANGUAGE C; +LANGUAGE C PARALLEL SAFE; CREATE FUNCTION tuple_data_split(rel_oid oid, t_data bytea, @@ -74,7 +74,7 @@ CREATE FUNCTION tuple_data_split(rel_oid oid, do_detoast bool) RETURNS bytea[] AS 'MODULE_PATHNAME','tuple_data_split' -LANGUAGE C; +LANGUAGE C PARALLEL SAFE; -- -- heap_page_item_attrs() @@ -121,7 +121,7 @@ SELECT lp, do_detoast) AS t_attrs FROM heap_page_items(page); -$$ LANGUAGE SQL; +$$ LANGUAGE SQL PARALLEL SAFE; CREATE FUNCTION heap_page_item_attrs(IN page bytea, IN rel_oid regclass, OUT lp smallint, @@ -141,7 +141,7 @@ CREATE FUNCTION heap_page_item_attrs(IN page bytea, IN rel_oid regclass, ) RETURNS SETOF record AS $$ SELECT * from heap_page_item_attrs(page, rel_oid, false); -$$ LANGUAGE SQL; +$$ LANGUAGE SQL PARALLEL SAFE; -- -- bt_metap() @@ -154,7 +154,7 @@ CREATE FUNCTION bt_metap(IN relname text, OUT fastroot int4, OUT fastlevel int4) AS 'MODULE_PATHNAME', 'bt_metap' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- bt_page_stats() @@ -172,7 +172,7 @@ CREATE FUNCTION bt_page_stats(IN relname text, IN blkno int4, OUT btpo int4, OUT btpo_flags int4) AS 'MODULE_PATHNAME', 'bt_page_stats' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- bt_page_items() @@ -186,7 +186,7 @@ CREATE FUNCTION bt_page_items(IN relname text, IN blkno int4, OUT data text) RETURNS SETOF record AS 'MODULE_PATHNAME', 'bt_page_items' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- brin_page_type() @@ -194,7 +194,7 @@ LANGUAGE C STRICT; CREATE FUNCTION brin_page_type(IN page bytea) RETURNS text AS 'MODULE_PATHNAME', 'brin_page_type' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- brin_metapage_info() @@ -202,7 +202,7 @@ LANGUAGE C STRICT; CREATE FUNCTION brin_metapage_info(IN page bytea, OUT magic text, OUT version integer, OUT pagesperrange integer, OUT lastrevmappage bigint) AS 'MODULE_PATHNAME', 'brin_metapage_info' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- brin_revmap_data() @@ -211,7 +211,7 @@ CREATE FUNCTION brin_revmap_data(IN page bytea, OUT pages tid) RETURNS SETOF tid AS 'MODULE_PATHNAME', 'brin_revmap_data' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- brin_page_items() @@ -226,7 +226,7 @@ CREATE FUNCTION brin_page_items(IN page bytea, IN index_oid regclass, OUT value text) RETURNS SETOF record AS 'MODULE_PATHNAME', 'brin_page_items' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- fsm_page_contents() @@ -234,7 +234,7 @@ LANGUAGE C STRICT; CREATE FUNCTION fsm_page_contents(IN page bytea) RETURNS text AS 'MODULE_PATHNAME', 'fsm_page_contents' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- GIN functions @@ -255,7 +255,7 @@ CREATE FUNCTION gin_metapage_info(IN page bytea, OUT n_entries bigint, OUT version int4) AS 'MODULE_PATHNAME', 'gin_metapage_info' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- gin_page_opaque_info() @@ -265,7 +265,7 @@ CREATE FUNCTION gin_page_opaque_info(IN page bytea, OUT maxoff int4, OUT flags text[]) AS 'MODULE_PATHNAME', 'gin_page_opaque_info' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; -- -- gin_leafpage_items() @@ -276,4 +276,4 @@ CREATE FUNCTION gin_leafpage_items(IN page bytea, OUT tids tid[]) RETURNS SETOF record AS 'MODULE_PATHNAME', 'gin_leafpage_items' -LANGUAGE C STRICT; +LANGUAGE C STRICT PARALLEL SAFE; diff --git a/contrib/pageinspect/pageinspect.control b/contrib/pageinspect/pageinspect.control index 68c7d61182..23c8eff9cd 100644 --- a/contrib/pageinspect/pageinspect.control +++ b/contrib/pageinspect/pageinspect.control @@ -1,5 +1,5 @@ # pageinspect extension comment = 'inspect the contents of database pages at a low level' -default_version = '1.4' +default_version = '1.5' module_pathname = '$libdir/pageinspect' relocatable = true