This commit is contained in:
279
dist/win-x64/postgres-standalone/share/extension/pageinspect--1.5.sql
vendored
Normal file
279
dist/win-x64/postgres-standalone/share/extension/pageinspect--1.5.sql
vendored
Normal file
@@ -0,0 +1,279 @@
|
||||
/* 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
|
||||
|
||||
--
|
||||
-- get_raw_page()
|
||||
--
|
||||
CREATE FUNCTION get_raw_page(text, int4)
|
||||
RETURNS bytea
|
||||
AS 'MODULE_PATHNAME', 'get_raw_page'
|
||||
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 PARALLEL SAFE;
|
||||
|
||||
--
|
||||
-- page_header()
|
||||
--
|
||||
CREATE FUNCTION page_header(IN page bytea,
|
||||
OUT lsn pg_lsn,
|
||||
OUT checksum smallint,
|
||||
OUT flags smallint,
|
||||
OUT lower smallint,
|
||||
OUT upper smallint,
|
||||
OUT special smallint,
|
||||
OUT pagesize smallint,
|
||||
OUT version smallint,
|
||||
OUT prune_xid xid)
|
||||
AS 'MODULE_PATHNAME', 'page_header'
|
||||
LANGUAGE C STRICT PARALLEL SAFE;
|
||||
|
||||
--
|
||||
-- heap_page_items()
|
||||
--
|
||||
CREATE FUNCTION heap_page_items(IN page bytea,
|
||||
OUT lp smallint,
|
||||
OUT lp_off smallint,
|
||||
OUT lp_flags smallint,
|
||||
OUT lp_len smallint,
|
||||
OUT t_xmin xid,
|
||||
OUT t_xmax xid,
|
||||
OUT t_field3 int4,
|
||||
OUT t_ctid tid,
|
||||
OUT t_infomask2 integer,
|
||||
OUT t_infomask integer,
|
||||
OUT t_hoff smallint,
|
||||
OUT t_bits text,
|
||||
OUT t_oid oid,
|
||||
OUT t_data bytea)
|
||||
RETURNS SETOF record
|
||||
AS 'MODULE_PATHNAME', 'heap_page_items'
|
||||
LANGUAGE C STRICT PARALLEL SAFE;
|
||||
|
||||
--
|
||||
-- tuple_data_split()
|
||||
--
|
||||
CREATE FUNCTION tuple_data_split(rel_oid oid,
|
||||
t_data bytea,
|
||||
t_infomask integer,
|
||||
t_infomask2 integer,
|
||||
t_bits text)
|
||||
RETURNS bytea[]
|
||||
AS 'MODULE_PATHNAME','tuple_data_split'
|
||||
LANGUAGE C PARALLEL SAFE;
|
||||
|
||||
CREATE FUNCTION tuple_data_split(rel_oid oid,
|
||||
t_data bytea,
|
||||
t_infomask integer,
|
||||
t_infomask2 integer,
|
||||
t_bits text,
|
||||
do_detoast bool)
|
||||
RETURNS bytea[]
|
||||
AS 'MODULE_PATHNAME','tuple_data_split'
|
||||
LANGUAGE C PARALLEL SAFE;
|
||||
|
||||
--
|
||||
-- heap_page_item_attrs()
|
||||
--
|
||||
CREATE FUNCTION heap_page_item_attrs(
|
||||
IN page bytea,
|
||||
IN rel_oid regclass,
|
||||
IN do_detoast bool,
|
||||
OUT lp smallint,
|
||||
OUT lp_off smallint,
|
||||
OUT lp_flags smallint,
|
||||
OUT lp_len smallint,
|
||||
OUT t_xmin xid,
|
||||
OUT t_xmax xid,
|
||||
OUT t_field3 int4,
|
||||
OUT t_ctid tid,
|
||||
OUT t_infomask2 integer,
|
||||
OUT t_infomask integer,
|
||||
OUT t_hoff smallint,
|
||||
OUT t_bits text,
|
||||
OUT t_oid oid,
|
||||
OUT t_attrs bytea[]
|
||||
)
|
||||
RETURNS SETOF record AS $$
|
||||
SELECT lp,
|
||||
lp_off,
|
||||
lp_flags,
|
||||
lp_len,
|
||||
t_xmin,
|
||||
t_xmax,
|
||||
t_field3,
|
||||
t_ctid,
|
||||
t_infomask2,
|
||||
t_infomask,
|
||||
t_hoff,
|
||||
t_bits,
|
||||
t_oid,
|
||||
tuple_data_split(
|
||||
rel_oid,
|
||||
t_data,
|
||||
t_infomask,
|
||||
t_infomask2,
|
||||
t_bits,
|
||||
do_detoast)
|
||||
AS t_attrs
|
||||
FROM heap_page_items(page);
|
||||
$$ LANGUAGE SQL PARALLEL SAFE;
|
||||
|
||||
CREATE FUNCTION heap_page_item_attrs(IN page bytea, IN rel_oid regclass,
|
||||
OUT lp smallint,
|
||||
OUT lp_off smallint,
|
||||
OUT lp_flags smallint,
|
||||
OUT lp_len smallint,
|
||||
OUT t_xmin xid,
|
||||
OUT t_xmax xid,
|
||||
OUT t_field3 int4,
|
||||
OUT t_ctid tid,
|
||||
OUT t_infomask2 integer,
|
||||
OUT t_infomask integer,
|
||||
OUT t_hoff smallint,
|
||||
OUT t_bits text,
|
||||
OUT t_oid oid,
|
||||
OUT t_attrs bytea[]
|
||||
)
|
||||
RETURNS SETOF record AS $$
|
||||
SELECT * from heap_page_item_attrs(page, rel_oid, false);
|
||||
$$ LANGUAGE SQL PARALLEL SAFE;
|
||||
|
||||
--
|
||||
-- bt_metap()
|
||||
--
|
||||
CREATE FUNCTION bt_metap(IN relname text,
|
||||
OUT magic int4,
|
||||
OUT version int4,
|
||||
OUT root int4,
|
||||
OUT level int4,
|
||||
OUT fastroot int4,
|
||||
OUT fastlevel int4)
|
||||
AS 'MODULE_PATHNAME', 'bt_metap'
|
||||
LANGUAGE C STRICT PARALLEL SAFE;
|
||||
|
||||
--
|
||||
-- bt_page_stats()
|
||||
--
|
||||
CREATE FUNCTION bt_page_stats(IN relname text, IN blkno int4,
|
||||
OUT blkno int4,
|
||||
OUT type "char",
|
||||
OUT live_items int4,
|
||||
OUT dead_items int4,
|
||||
OUT avg_item_size int4,
|
||||
OUT page_size int4,
|
||||
OUT free_size int4,
|
||||
OUT btpo_prev int4,
|
||||
OUT btpo_next int4,
|
||||
OUT btpo int4,
|
||||
OUT btpo_flags int4)
|
||||
AS 'MODULE_PATHNAME', 'bt_page_stats'
|
||||
LANGUAGE C STRICT PARALLEL SAFE;
|
||||
|
||||
--
|
||||
-- bt_page_items()
|
||||
--
|
||||
CREATE FUNCTION bt_page_items(IN relname text, IN blkno int4,
|
||||
OUT itemoffset smallint,
|
||||
OUT ctid tid,
|
||||
OUT itemlen smallint,
|
||||
OUT nulls bool,
|
||||
OUT vars bool,
|
||||
OUT data text)
|
||||
RETURNS SETOF record
|
||||
AS 'MODULE_PATHNAME', 'bt_page_items'
|
||||
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 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 PARALLEL SAFE;
|
||||
|
||||
--
|
||||
-- brin_revmap_data()
|
||||
--
|
||||
CREATE FUNCTION brin_revmap_data(IN page bytea,
|
||||
OUT pages tid)
|
||||
RETURNS SETOF tid
|
||||
AS 'MODULE_PATHNAME', 'brin_revmap_data'
|
||||
LANGUAGE C STRICT PARALLEL SAFE;
|
||||
|
||||
--
|
||||
-- brin_page_items()
|
||||
--
|
||||
CREATE FUNCTION brin_page_items(IN page bytea, IN index_oid regclass,
|
||||
OUT itemoffset int,
|
||||
OUT blknum int,
|
||||
OUT attnum int,
|
||||
OUT allnulls bool,
|
||||
OUT hasnulls bool,
|
||||
OUT placeholder bool,
|
||||
OUT value text)
|
||||
RETURNS SETOF record
|
||||
AS 'MODULE_PATHNAME', 'brin_page_items'
|
||||
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 PARALLEL SAFE;
|
||||
|
||||
--
|
||||
-- GIN functions
|
||||
--
|
||||
|
||||
--
|
||||
-- gin_metapage_info()
|
||||
--
|
||||
CREATE FUNCTION gin_metapage_info(IN page bytea,
|
||||
OUT pending_head bigint,
|
||||
OUT pending_tail bigint,
|
||||
OUT tail_free_size int4,
|
||||
OUT n_pending_pages bigint,
|
||||
OUT n_pending_tuples bigint,
|
||||
OUT n_total_pages bigint,
|
||||
OUT n_entry_pages bigint,
|
||||
OUT n_data_pages bigint,
|
||||
OUT n_entries bigint,
|
||||
OUT version int4)
|
||||
AS 'MODULE_PATHNAME', 'gin_metapage_info'
|
||||
LANGUAGE C STRICT PARALLEL SAFE;
|
||||
|
||||
--
|
||||
-- gin_page_opaque_info()
|
||||
--
|
||||
CREATE FUNCTION gin_page_opaque_info(IN page bytea,
|
||||
OUT rightlink bigint,
|
||||
OUT maxoff int4,
|
||||
OUT flags text[])
|
||||
AS 'MODULE_PATHNAME', 'gin_page_opaque_info'
|
||||
LANGUAGE C STRICT PARALLEL SAFE;
|
||||
|
||||
--
|
||||
-- gin_leafpage_items()
|
||||
--
|
||||
CREATE FUNCTION gin_leafpage_items(IN page bytea,
|
||||
OUT first_tid tid,
|
||||
OUT nbytes int2,
|
||||
OUT tids tid[])
|
||||
RETURNS SETOF record
|
||||
AS 'MODULE_PATHNAME', 'gin_leafpage_items'
|
||||
LANGUAGE C STRICT PARALLEL SAFE;
|
||||
Reference in New Issue
Block a user