diff options
Diffstat (limited to 'contrib/pageinspect/sql')
-rw-r--r-- | contrib/pageinspect/sql/brin.sql | 8 | ||||
-rw-r--r-- | contrib/pageinspect/sql/btree.sql | 18 | ||||
-rw-r--r-- | contrib/pageinspect/sql/gin.sql | 9 | ||||
-rw-r--r-- | contrib/pageinspect/sql/hash.sql | 10 |
4 files changed, 37 insertions, 8 deletions
diff --git a/contrib/pageinspect/sql/brin.sql b/contrib/pageinspect/sql/brin.sql index 8717229c5d2..dc5d1661b6d 100644 --- a/contrib/pageinspect/sql/brin.sql +++ b/contrib/pageinspect/sql/brin.sql @@ -19,4 +19,12 @@ SELECT * FROM brin_page_items(get_raw_page('test1_a_idx', 2), 'test1_a_idx') CREATE INDEX test1_a_btree ON test1 (a); SELECT brin_page_items(get_raw_page('test1_a_btree', 0), 'test1_a_btree'); +-- Mask DETAIL messages as these are not portable across architectures. +\set VERBOSITY terse +-- Invalid special area size +SELECT brin_page_type(get_raw_page('test1', 0)); +SELECT * FROM brin_metapage_info(get_raw_page('test1', 0)); +SELECT * FROM brin_revmap_data(get_raw_page('test1', 0)); +\set VERBOSITY default + DROP TABLE test1; diff --git a/contrib/pageinspect/sql/btree.sql b/contrib/pageinspect/sql/btree.sql index 174814fb7a4..cde0083586c 100644 --- a/contrib/pageinspect/sql/btree.sql +++ b/contrib/pageinspect/sql/btree.sql @@ -1,5 +1,5 @@ -CREATE TABLE test1 (a int8, b text); -INSERT INTO test1 VALUES (72057594037927937, 'text'); +CREATE TABLE test1 (a int8, b int4range); +INSERT INTO test1 VALUES (72057594037927937, '[0,1)'); CREATE INDEX test1_a_idx ON test1 USING btree (a); \x @@ -23,12 +23,22 @@ CREATE INDEX test1_a_hash ON test1 USING hash(a); SELECT bt_metap('test1_a_hash'); SELECT bt_page_stats('test1_a_hash', 0); SELECT bt_page_items('test1_a_hash', 0); +SELECT bt_page_items(get_raw_page('test1_a_hash', 0)); +CREATE INDEX test1_b_gist ON test1 USING gist(b); +-- Special area of GiST is the same as btree, this complains about inconsistent +-- leaf data on the page. +SELECT bt_page_items(get_raw_page('test1_b_gist', 0)); --- Failure with incorrect page size +-- Several failure modes. -- Suppress the DETAIL message, to allow the tests to work across various --- page sizes. +-- page sizes and architectures. \set VERBOSITY terse +-- invalid page size SELECT bt_page_items('aaa'::bytea); +-- invalid special area size +CREATE INDEX test1_a_brin ON test1 USING brin(a); +SELECT bt_page_items(get_raw_page('test1', 0)); +SELECT bt_page_items(get_raw_page('test1_a_brin', 0)); \set VERBOSITY default DROP TABLE test1; diff --git a/contrib/pageinspect/sql/gin.sql b/contrib/pageinspect/sql/gin.sql index 2a653609750..342354a481f 100644 --- a/contrib/pageinspect/sql/gin.sql +++ b/contrib/pageinspect/sql/gin.sql @@ -18,11 +18,16 @@ FROM gin_leafpage_items(get_raw_page('test1_y_idx', (pg_relation_size('test1_y_idx') / current_setting('block_size')::bigint)::int - 1)); --- Failure with incorrect page size +-- Failure with various modes. -- Suppress the DETAIL message, to allow the tests to work across various --- page sizes. +-- page sizes and architectures. \set VERBOSITY terse +-- invalid page size SELECT gin_leafpage_items('aaa'::bytea); SELECT gin_metapage_info('bbb'::bytea); SELECT gin_page_opaque_info('ccc'::bytea); +-- invalid special area size +SELECT * FROM gin_metapage_info(get_raw_page('test1', 0)); +SELECT * FROM gin_page_opaque_info(get_raw_page('test1', 0)); +SELECT * FROM gin_leafpage_items(get_raw_page('test1', 0)); \set VERBOSITY default diff --git a/contrib/pageinspect/sql/hash.sql b/contrib/pageinspect/sql/hash.sql index 546c780e0e4..8fd209c815b 100644 --- a/contrib/pageinspect/sql/hash.sql +++ b/contrib/pageinspect/sql/hash.sql @@ -80,14 +80,20 @@ SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 5)); CREATE INDEX test_hash_a_btree ON test_hash USING btree (a); SELECT hash_bitmap_info('test_hash_a_btree', 0); --- Failure with incorrect page size +-- Failure with various modes. -- Suppress the DETAIL message, to allow the tests to work across various --- page sizes. +-- page sizes and architectures. \set VERBOSITY terse +-- invalid page size SELECT hash_metapage_info('aaa'::bytea); SELECT hash_page_items('bbb'::bytea); SELECT hash_page_stats('ccc'::bytea); SELECT hash_page_type('ddd'::bytea); +-- invalid special area size +SELECT hash_metapage_info(get_raw_page('test_hash', 0)); +SELECT hash_page_items(get_raw_page('test_hash', 0)); +SELECT hash_page_stats(get_raw_page('test_hash', 0)); +SELECT hash_page_type(get_raw_page('test_hash', 0)); \set VERBOSITY default DROP TABLE test_hash; |