mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-19 20:00:51 +08:00
contrib/pageinspect: Use SQL-standard function bodies.
In the same spirit as 969bbd0fa, 13e3796c9, 3f323eba8. Tom Lane and Ronan Dunklau Discussion: https://postgr.es/m/3316564.aeNJFYEL58@aivenlaptop
This commit is contained in:
parent
667368fd26
commit
68ff25eef1
@ -13,7 +13,8 @@ OBJS = \
|
||||
rawpage.o
|
||||
|
||||
EXTENSION = pageinspect
|
||||
DATA = pageinspect--1.11--1.12.sql pageinspect--1.10--1.11.sql \
|
||||
DATA = pageinspect--1.12--1.13.sql \
|
||||
pageinspect--1.11--1.12.sql pageinspect--1.10--1.11.sql \
|
||||
pageinspect--1.9--1.10.sql pageinspect--1.8--1.9.sql \
|
||||
pageinspect--1.7--1.8.sql pageinspect--1.6--1.7.sql \
|
||||
pageinspect--1.5.sql pageinspect--1.5--1.6.sql \
|
||||
|
@ -37,6 +37,7 @@ install_data(
|
||||
'pageinspect--1.9--1.10.sql',
|
||||
'pageinspect--1.10--1.11.sql',
|
||||
'pageinspect--1.11--1.12.sql',
|
||||
'pageinspect--1.12--1.13.sql',
|
||||
'pageinspect.control',
|
||||
kwargs: contrib_data_args,
|
||||
)
|
||||
|
74
contrib/pageinspect/pageinspect--1.12--1.13.sql
Normal file
74
contrib/pageinspect/pageinspect--1.12--1.13.sql
Normal file
@ -0,0 +1,74 @@
|
||||
/* contrib/pageinspect/pageinspect--1.12--1.13.sql */
|
||||
|
||||
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
|
||||
\echo Use "ALTER EXTENSION pageinspect UPDATE TO '1.13'" to load this file. \quit
|
||||
|
||||
-- Convert SQL functions to new style
|
||||
|
||||
CREATE OR REPLACE 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
|
||||
LANGUAGE SQL PARALLEL RESTRICTED
|
||||
BEGIN ATOMIC
|
||||
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::oid,
|
||||
t_data,
|
||||
t_infomask,
|
||||
t_infomask2,
|
||||
t_bits,
|
||||
do_detoast)
|
||||
AS t_attrs
|
||||
FROM heap_page_items(page);
|
||||
END;
|
||||
|
||||
CREATE OR REPLACE 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
|
||||
LANGUAGE SQL PARALLEL RESTRICTED
|
||||
BEGIN ATOMIC
|
||||
SELECT * FROM heap_page_item_attrs(page, rel_oid, false);
|
||||
END;
|
@ -1,5 +1,5 @@
|
||||
# pageinspect extension
|
||||
comment = 'inspect the contents of database pages at a low level'
|
||||
default_version = '1.12'
|
||||
default_version = '1.13'
|
||||
module_pathname = '$libdir/pageinspect'
|
||||
relocatable = true
|
||||
|
Loading…
x
Reference in New Issue
Block a user