9.3 support
[smlar.git] / sql / cidr.sql
1 SELECT set_smlar_limit(0.6);
2
3 SELECT 
4         t,
5         ARRAY(
6                 SELECT 
7                         ( '192.168.1.' || (v % 256) )::cidr
8                 FROM
9                         generate_series(1, t) as v
10         ) AS v
11         INTO test_cidr
12 FROM
13         generate_series(1, 200) as t;
14
15
16 SELECT  t, smlar(v, '{192.168.1.10,192.168.1.9,192.168.1.8,192.168.1.7,192.168.1.6,192.168.1.5,192.168.1.4,192.168.1.3,192.168.1.2,192.168.1.1}') AS s FROM test_cidr WHERE v % '{192.168.1.10,192.168.1.9,192.168.1.8,192.168.1.7,192.168.1.6,192.168.1.5,192.168.1.4,192.168.1.3,192.168.1.2,192.168.1.1}' ORDER BY s DESC, t;
17 SELECT  t, smlar(v, '{192.168.1.50,192.168.1.49,192.168.1.8,192.168.1.7,192.168.1.6,192.168.1.5,192.168.1.4,192.168.1.33,192.168.1.2,192.168.1.1}') AS s FROM test_cidr WHERE v % '{192.168.1.50,192.168.1.49,192.168.1.8,192.168.1.7,192.168.1.6,192.168.1.5,192.168.1.4,192.168.1.33,192.168.1.2,192.168.1.1}' ORDER BY s DESC, t;
18
19 CREATE INDEX idx_test_cidr ON test_cidr USING gist (v _cidr_sml_ops);
20
21 SET enable_seqscan=off;
22
23 SELECT  t, smlar(v, '{192.168.1.10,192.168.1.9,192.168.1.8,192.168.1.7,192.168.1.6,192.168.1.5,192.168.1.4,192.168.1.3,192.168.1.2,192.168.1.1}') AS s FROM test_cidr WHERE v % '{192.168.1.10,192.168.1.9,192.168.1.8,192.168.1.7,192.168.1.6,192.168.1.5,192.168.1.4,192.168.1.3,192.168.1.2,192.168.1.1}' ORDER BY s DESC, t;
24 SELECT  t, smlar(v, '{192.168.1.50,192.168.1.49,192.168.1.8,192.168.1.7,192.168.1.6,192.168.1.5,192.168.1.4,192.168.1.33,192.168.1.2,192.168.1.1}') AS s FROM test_cidr WHERE v % '{192.168.1.50,192.168.1.49,192.168.1.8,192.168.1.7,192.168.1.6,192.168.1.5,192.168.1.4,192.168.1.33,192.168.1.2,192.168.1.1}' ORDER BY s DESC, t;
25
26 DROP INDEX idx_test_cidr;
27 CREATE INDEX idx_test_cidr ON test_cidr USING gin (v _cidr_sml_ops);
28
29 SELECT  t, smlar(v, '{192.168.1.10,192.168.1.9,192.168.1.8,192.168.1.7,192.168.1.6,192.168.1.5,192.168.1.4,192.168.1.3,192.168.1.2,192.168.1.1}') AS s FROM test_cidr WHERE v % '{192.168.1.10,192.168.1.9,192.168.1.8,192.168.1.7,192.168.1.6,192.168.1.5,192.168.1.4,192.168.1.3,192.168.1.2,192.168.1.1}' ORDER BY s DESC, t;
30 SELECT  t, smlar(v, '{192.168.1.50,192.168.1.49,192.168.1.8,192.168.1.7,192.168.1.6,192.168.1.5,192.168.1.4,192.168.1.33,192.168.1.2,192.168.1.1}') AS s FROM test_cidr WHERE v % '{192.168.1.50,192.168.1.49,192.168.1.8,192.168.1.7,192.168.1.6,192.168.1.5,192.168.1.4,192.168.1.33,192.168.1.2,192.168.1.1}' ORDER BY s DESC, t;
31
32 SET enable_seqscan=on;
33