--- /dev/null
+/* 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;
-/* 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
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()
OUT version smallint,
OUT prune_xid xid)
AS 'MODULE_PATHNAME', 'page_header'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL SAFE;
--
-- heap_page_items()
OUT t_data bytea)
RETURNS SETOF record
AS 'MODULE_PATHNAME', 'heap_page_items'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL SAFE;
--
-- tuple_data_split()
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,
do_detoast bool)
RETURNS bytea[]
AS 'MODULE_PATHNAME','tuple_data_split'
-LANGUAGE C;
+LANGUAGE C PARALLEL SAFE;
--
-- heap_page_item_attrs()
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,
)
RETURNS SETOF record AS $$
SELECT * from heap_page_item_attrs(page, rel_oid, false);
-$$ LANGUAGE SQL;
+$$ LANGUAGE SQL PARALLEL SAFE;
--
-- bt_metap()
OUT fastroot int4,
OUT fastlevel int4)
AS 'MODULE_PATHNAME', 'bt_metap'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL SAFE;
--
-- bt_page_stats()
OUT btpo int4,
OUT btpo_flags int4)
AS 'MODULE_PATHNAME', 'bt_page_stats'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL SAFE;
--
-- bt_page_items()
OUT data text)
RETURNS SETOF record
AS 'MODULE_PATHNAME', 'bt_page_items'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL SAFE;
--
-- brin_page_type()
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()
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()
OUT pages tid)
RETURNS SETOF tid
AS 'MODULE_PATHNAME', 'brin_revmap_data'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL SAFE;
--
-- brin_page_items()
OUT value text)
RETURNS SETOF record
AS 'MODULE_PATHNAME', 'brin_page_items'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL SAFE;
--
-- fsm_page_contents()
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
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()
OUT maxoff int4,
OUT flags text[])
AS 'MODULE_PATHNAME', 'gin_page_opaque_info'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL SAFE;
--
-- gin_leafpage_items()
OUT tids tid[])
RETURNS SETOF record
AS 'MODULE_PATHNAME', 'gin_leafpage_items'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL SAFE;