add spgist_print
[gevel.git] / sql / gevel.sql
1 SET client_min_messages = warning;
2 \set ECHO none
3 \i gevel.sql
4 \set ECHO all
5 RESET client_min_messages;
6
7
8 CREATE TABLE gevelt ( t box );
9 \copy gevelt from 'data/rect.data'
10
11 SELECT center(t) AS p INTO gevelp FROM gevelt;
12
13 CREATE INDEX gist_idx ON gevelt USING gist ( t );
14 CREATE INDEX spgist_idx ON gevelp USING spgist ( p );
15 CREATE INDEX kdspgist_idx ON gevelp USING spgist ( p kd_point_ops);
16
17 --GiST
18 SELECT gist_stat('gist_idx');
19 SELECT gist_tree('gist_idx');
20 SELECT * FROM gist_print('gist_idx') as t(level int, valid bool, a box) where level=1;
21
22 --SPGiST
23 SELECT spgist_stat('spgist_idx');
24 SELECT * FROM spgist_print('kdspgist_idx') as t(tid tid, node_n int, level int, tid_pointer tid, prefix float8, node_label int, leaf_value point);
25 SELECT * FROM spgist_print('spgist_idx') as t(tid tid, node_n int, level int, tid_pointer tid, prefix point, node_label int, leaf_value point) WHERE level = 1;
26
27 --GIN 
28 CREATE TABLE test__int( a int[] );
29 \copy test__int from 'data/test__int.data'
30
31 CREATE INDEX gin_idx ON test__int USING gin ( a );
32
33 INSERT INTO test__int ( SELECT ARRAY[t] || '{1000}'::_int4 FROM generate_series (1,300) as t );
34 INSERT INTO test__int ( SELECT ARRAY[t] || '{1001}'::_int4 FROM generate_series (1,300) as t, generate_series(1,12) );
35 VACUUM ANALYZE test__int; 
36 SELECT * FROM gin_stat('gin_idx') as t(value int, nrow int);