summaryrefslogtreecommitdiffstats
path: root/contrib/pageinspect/expected/brin.out
blob: 098ddc202f41b125c594f7c3949bb9f16e414b10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
CREATE TABLE test1 (a int, b text);
INSERT INTO test1 VALUES (1, 'one');
CREATE INDEX test1_a_idx ON test1 USING brin (a);
SELECT brin_page_type(get_raw_page('test1_a_idx', 0));
 brin_page_type 
----------------
 meta
(1 row)

SELECT brin_page_type(get_raw_page('test1_a_idx', 1));
 brin_page_type 
----------------
 revmap
(1 row)

SELECT brin_page_type(get_raw_page('test1_a_idx', 2));
 brin_page_type 
----------------
 regular
(1 row)

SELECT * FROM brin_metapage_info(get_raw_page('test1_a_idx', 0));
   magic    | version | pagesperrange | lastrevmappage 
------------+---------+---------------+----------------
 0xA8109CFA |       1 |           128 |              1
(1 row)

SELECT * FROM brin_metapage_info(get_raw_page('test1_a_idx', 1));
ERROR:  page is not a BRIN page of type "metapage"
DETAIL:  Expected special type 0000f091, got 0000f092.
SELECT * FROM brin_revmap_data(get_raw_page('test1_a_idx', 0)) LIMIT 5;
ERROR:  page is not a BRIN page of type "revmap"
DETAIL:  Expected special type 0000f092, got 0000f091.
SELECT * FROM brin_revmap_data(get_raw_page('test1_a_idx', 1)) LIMIT 5;
 pages 
-------
 (2,1)
 (0,0)
 (0,0)
 (0,0)
 (0,0)
(5 rows)

SELECT * FROM brin_page_items(get_raw_page('test1_a_idx', 2), 'test1_a_idx')
    ORDER BY blknum, attnum LIMIT 5;
 itemoffset | blknum | attnum | allnulls | hasnulls | placeholder | empty |  value   
------------+--------+--------+----------+----------+-------------+-------+----------
          1 |      0 |      1 | f        | f        | f           | f     | {1 .. 1}
(1 row)

-- Mask DETAIL messages as these are not portable across architectures.
\set VERBOSITY terse
-- Failures for non-BRIN index.
CREATE INDEX test1_a_btree ON test1 (a);
SELECT brin_page_items(get_raw_page('test1_a_btree', 0), 'test1_a_btree');
ERROR:  "test1_a_btree" is not a BRIN index
SELECT brin_page_items(get_raw_page('test1_a_btree', 0), 'test1_a_idx');
ERROR:  input page is not a valid BRIN page
-- Invalid special area size
SELECT brin_page_type(get_raw_page('test1', 0));
ERROR:  input page is not a valid BRIN page
SELECT * FROM brin_metapage_info(get_raw_page('test1', 0));
ERROR:  input page is not a valid BRIN page
SELECT * FROM brin_revmap_data(get_raw_page('test1', 0));
ERROR:  input page is not a valid BRIN page
\set VERBOSITY default
-- Tests with all-zero pages.
SHOW block_size \gset
SELECT brin_page_type(decode(repeat('00', :block_size), 'hex'));
 brin_page_type 
----------------
 
(1 row)

SELECT brin_page_items(decode(repeat('00', :block_size), 'hex'), 'test1_a_idx');
 brin_page_items 
-----------------
(0 rows)

SELECT brin_metapage_info(decode(repeat('00', :block_size), 'hex'));
 brin_metapage_info 
--------------------
 
(1 row)

SELECT brin_revmap_data(decode(repeat('00', :block_size), 'hex'));
 brin_revmap_data 
------------------
 
(1 row)

DROP TABLE test1;