diff options
| author | Tom Lane | 2007-08-26 23:22:49 +0000 |
|---|---|---|
| committer | Tom Lane | 2007-08-26 23:22:49 +0000 |
| commit | 08fc73c4c3ca3731d5ef77859fe5146df0ca5044 (patch) | |
| tree | 90e790d5c507e09c7db1c31089210d9adee2b60d /contrib/pageinspect/pageinspect.sql.in | |
| parent | 67bf7b919eddf9bd9ddc9e2d8f2dc7ca3bbfd3a2 (diff) | |
Code review for btreefuncs additions: restrict to superusers to avoid
exposing user data to others, and clean up usage of deprecated APIs.
Diffstat (limited to 'contrib/pageinspect/pageinspect.sql.in')
| -rw-r--r-- | contrib/pageinspect/pageinspect.sql.in | 126 |
1 files changed, 54 insertions, 72 deletions
diff --git a/contrib/pageinspect/pageinspect.sql.in b/contrib/pageinspect/pageinspect.sql.in index 3bd2825f223..40b75dcbc02 100644 --- a/contrib/pageinspect/pageinspect.sql.in +++ b/contrib/pageinspect/pageinspect.sql.in @@ -12,98 +12,80 @@ LANGUAGE C STRICT; -- -- page_header() -- -CREATE TYPE page_header_type AS ( - lsn text, - tli smallint, - flags smallint, - lower smallint, - upper smallint, - special smallint, - pagesize smallint, - version smallint -); - -CREATE OR REPLACE FUNCTION page_header(bytea) -RETURNS page_header_type +CREATE OR REPLACE FUNCTION page_header(IN page bytea, + OUT lsn text, + OUT tli smallint, + OUT flags smallint, + OUT lower smallint, + OUT upper smallint, + OUT special smallint, + OUT pagesize smallint, + OUT version smallint) AS 'MODULE_PATHNAME', 'page_header' LANGUAGE C STRICT; -- -- heap_page_items() -- -CREATE TYPE heap_page_items_type AS ( - lp smallint, - lp_off smallint, - lp_flags smallint, - lp_len smallint, - t_xmin xid, - t_xmax xid, - t_field3 int4, - t_ctid tid, - t_infomask2 smallint, - t_infomask smallint, - t_hoff smallint, - t_bits text, - t_oid oid -); - -CREATE OR REPLACE FUNCTION heap_page_items(bytea) -RETURNS SETOF heap_page_items_type +CREATE OR REPLACE 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 smallint, + OUT t_infomask smallint, + OUT t_hoff smallint, + OUT t_bits text, + OUT t_oid oid) +RETURNS SETOF record AS 'MODULE_PATHNAME', 'heap_page_items' LANGUAGE C STRICT; -- -- bt_metap() -- -CREATE TYPE bt_metap_type AS ( - magic int4, - version int4, - root int4, - level int4, - fastroot int4, - fastlevel int4 -); - -CREATE OR REPLACE FUNCTION bt_metap(text) -RETURNS bt_metap_type +CREATE OR REPLACE 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; +LANGUAGE C STRICT; -- -- bt_page_stats() -- -CREATE TYPE bt_page_stats_type AS ( - blkno int4, - type char, - live_items int4, - dead_items int4, - avg_item_size float, - page_size int4, - free_size int4, - btpo_prev int4, - btpo_next int4, - btpo int4, - btpo_flags int4 -); - -CREATE OR REPLACE FUNCTION bt_page_stats(text, int4) -RETURNS bt_page_stats_type +CREATE OR REPLACE 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; +LANGUAGE C STRICT; -- -- bt_page_items() -- -CREATE TYPE bt_page_items_type AS ( - itemoffset smallint, - ctid tid, - itemlen smallint, - nulls bool, - vars bool, - data text -); - -CREATE OR REPLACE FUNCTION bt_page_items(text, int4) -RETURNS SETOF bt_page_items_type +CREATE OR REPLACE 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; +LANGUAGE C STRICT; |
