1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

pageinspect: Support hash indexes.

Patch by Jesper Pedersen and Ashutosh Sharma, with some error handling
improvements by me.  Tests from Peter Eisentraut.  Reviewed by Álvaro
Herrera, Michael Paquier, Jesper Pedersen, Jeff Janes, Peter
Eisentraut, Amit Kapila, Mithun Cy, and me.

Discussion: http://postgr.es/m/e2ac6c58-b93f-9dd9-f4e6-d6d30add7fdf@redhat.com
This commit is contained in:
Robert Haas
2017-02-02 14:12:58 -05:00
parent acd73ad1a1
commit 08bf6e5295
9 changed files with 995 additions and 10 deletions

View File

@ -0,0 +1,49 @@
CREATE TABLE test_hash (a int, b text);
INSERT INTO test_hash VALUES (1, 'one');
CREATE INDEX test_hash_a_idx ON test_hash USING hash (a);
\x
SELECT hash_page_type(get_raw_page('test_hash_a_idx', 0));
SELECT hash_page_type(get_raw_page('test_hash_a_idx', 1));
SELECT hash_page_type(get_raw_page('test_hash_a_idx', 2));
SELECT hash_page_type(get_raw_page('test_hash_a_idx', 3));
SELECT hash_page_type(get_raw_page('test_hash_a_idx', 4));
SELECT hash_page_type(get_raw_page('test_hash_a_idx', 5));
SELECT hash_page_type(get_raw_page('test_hash_a_idx', 6));
SELECT * FROM hash_bitmap_info('test_hash_a_idx', 0);
SELECT * FROM hash_bitmap_info('test_hash_a_idx', 1);
SELECT * FROM hash_bitmap_info('test_hash_a_idx', 2);
SELECT * FROM hash_bitmap_info('test_hash_a_idx', 3);
SELECT * FROM hash_bitmap_info('test_hash_a_idx', 4);
SELECT * FROM hash_bitmap_info('test_hash_a_idx', 5);
SELECT * FROM hash_metapage_info(get_raw_page('test_hash_a_idx', 0));
SELECT * FROM hash_metapage_info(get_raw_page('test_hash_a_idx', 1));
SELECT * FROM hash_metapage_info(get_raw_page('test_hash_a_idx', 2));
SELECT * FROM hash_metapage_info(get_raw_page('test_hash_a_idx', 3));
SELECT * FROM hash_metapage_info(get_raw_page('test_hash_a_idx', 4));
SELECT * FROM hash_metapage_info(get_raw_page('test_hash_a_idx', 5));
SELECT * FROM hash_page_stats(get_raw_page('test_hash_a_idx', 0));
SELECT * FROM hash_page_stats(get_raw_page('test_hash_a_idx', 1));
SELECT * FROM hash_page_stats(get_raw_page('test_hash_a_idx', 2));
SELECT * FROM hash_page_stats(get_raw_page('test_hash_a_idx', 3));
SELECT * FROM hash_page_stats(get_raw_page('test_hash_a_idx', 4));
SELECT * FROM hash_page_stats(get_raw_page('test_hash_a_idx', 5));
SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 0));
SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 1));
SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 2));
SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 3));
SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 4));
SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 5));
DROP TABLE test_hash;