postgresql/contrib/pageinspect/pageinspect--1.5--1.6.sql
Robert Haas 871ec0e336 pageinspect: More type-sanity surgery on the new hash index code.
Uniformly expose unsigned quantities using the next-wider signed
integer type (since we have no unsigned types at the SQL level).
At the SQL level, this results a change to report itemoffset as
int4 rather than int2.  Also at the SQL level, report one value
that is an OID as type oid.  Under the hood, uniformly use macros
that match the SQL output type as to both width and signedness.
2017-02-03 16:28:13 -05:00

78 lines
1.7 KiB
SQL

/* contrib/pageinspect/pageinspect--1.5--1.6.sql */
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
\echo Use "ALTER EXTENSION pageinspect UPDATE TO '1.6'" to load this file. \quit
--
-- HASH functions
--
--
-- hash_page_type()
--
CREATE FUNCTION hash_page_type(IN page bytea)
RETURNS text
AS 'MODULE_PATHNAME', 'hash_page_type'
LANGUAGE C STRICT PARALLEL SAFE;
--
-- hash_page_stats()
--
CREATE FUNCTION hash_page_stats(IN page bytea,
OUT live_items int4,
OUT dead_items int4,
OUT page_size int4,
OUT free_size int4,
OUT hasho_prevblkno int8,
OUT hasho_nextblkno int8,
OUT hasho_bucket int8,
OUT hasho_flag int4,
OUT hasho_page_id int4)
AS 'MODULE_PATHNAME', 'hash_page_stats'
LANGUAGE C STRICT PARALLEL SAFE;
--
-- hash_page_items()
--
CREATE FUNCTION hash_page_items(IN page bytea,
OUT itemoffset int4,
OUT ctid tid,
OUT data int8)
RETURNS SETOF record
AS 'MODULE_PATHNAME', 'hash_page_items'
LANGUAGE C STRICT PARALLEL SAFE;
--
-- hash_bitmap_info()
--
CREATE FUNCTION hash_bitmap_info(IN index_oid regclass, IN blkno int8,
OUT bitmapblkno int8,
OUT bitmapbit int4,
OUT bitstatus bool)
RETURNS SETOF record
AS 'MODULE_PATHNAME', 'hash_bitmap_info'
LANGUAGE C STRICT PARALLEL SAFE;
--
-- hash_metapage_info()
--
CREATE FUNCTION hash_metapage_info(IN page bytea,
OUT magic int8,
OUT version int8,
OUT ntuples double precision,
OUT ffactor int4,
OUT bsize int4,
OUT bmsize int4,
OUT bmshift int4,
OUT maxbucket int8,
OUT highmask int8,
OUT lowmask int8,
OUT ovflpoint int8,
OUT firstfree int8,
OUT nmaps int8,
OUT procid oid,
OUT spares int8[],
OUT mapp int8[])
AS 'MODULE_PATHNAME', 'hash_metapage_info'
LANGUAGE C STRICT PARALLEL SAFE;