support pgsql versions up to 11
[smlar.git] / sql / macaddr.sql
1 SELECT set_smlar_limit(0.6);
2
3 SELECT 
4         t,
5         ARRAY(
6                 SELECT 
7                         ('01:01:01:01:01:' || (v % 100))::macaddr
8                 FROM
9                         generate_series(1, t) as v
10         ) AS v
11         INTO test_macaddr
12 FROM
13         generate_series(1, 200) as t;
14
15
16 SELECT  t, smlar(v, '{01:01:01:01:01:10,01:01:01:01:01:9,01:01:01:01:01:8,01:01:01:01:01:7,01:01:01:01:01:6,01:01:01:01:01:5,01:01:01:01:01:4,01:01:01:01:01:3,01:01:01:01:01:2,01:01:01:01:01:1}') AS s FROM test_macaddr WHERE v % '{01:01:01:01:01:10,01:01:01:01:01:9,01:01:01:01:01:8,01:01:01:01:01:7,01:01:01:01:01:6,01:01:01:01:01:5,01:01:01:01:01:4,01:01:01:01:01:3,01:01:01:01:01:2,01:01:01:01:01:1}' ORDER BY s DESC, t;
17 SELECT  t, smlar(v, '{01:01:01:01:01:50,01:01:01:01:01:49,01:01:01:01:01:8,01:01:01:01:01:7,01:01:01:01:01:6,01:01:01:01:01:5,01:01:01:01:01:4,01:01:01:01:01:33,01:01:01:01:01:2,01:01:01:01:01:1}') AS s FROM test_macaddr WHERE v % '{01:01:01:01:01:50,01:01:01:01:01:49,01:01:01:01:01:8,01:01:01:01:01:7,01:01:01:01:01:6,01:01:01:01:01:5,01:01:01:01:01:4,01:01:01:01:01:33,01:01:01:01:01:2,01:01:01:01:01:1}' ORDER BY s DESC, t;
18
19 CREATE INDEX idx_test_macaddr ON test_macaddr USING gist (v _macaddr_sml_ops);
20
21 SET enable_seqscan=off;
22
23 SELECT  t, smlar(v, '{01:01:01:01:01:10,01:01:01:01:01:9,01:01:01:01:01:8,01:01:01:01:01:7,01:01:01:01:01:6,01:01:01:01:01:5,01:01:01:01:01:4,01:01:01:01:01:3,01:01:01:01:01:2,01:01:01:01:01:1}') AS s FROM test_macaddr WHERE v % '{01:01:01:01:01:10,01:01:01:01:01:9,01:01:01:01:01:8,01:01:01:01:01:7,01:01:01:01:01:6,01:01:01:01:01:5,01:01:01:01:01:4,01:01:01:01:01:3,01:01:01:01:01:2,01:01:01:01:01:1}' ORDER BY s DESC, t;
24 SELECT  t, smlar(v, '{01:01:01:01:01:50,01:01:01:01:01:49,01:01:01:01:01:8,01:01:01:01:01:7,01:01:01:01:01:6,01:01:01:01:01:5,01:01:01:01:01:4,01:01:01:01:01:33,01:01:01:01:01:2,01:01:01:01:01:1}') AS s FROM test_macaddr WHERE v % '{01:01:01:01:01:50,01:01:01:01:01:49,01:01:01:01:01:8,01:01:01:01:01:7,01:01:01:01:01:6,01:01:01:01:01:5,01:01:01:01:01:4,01:01:01:01:01:33,01:01:01:01:01:2,01:01:01:01:01:1}' ORDER BY s DESC, t;
25
26 DROP INDEX idx_test_macaddr;
27 CREATE INDEX idx_test_macaddr ON test_macaddr USING gin (v _macaddr_sml_ops);
28
29 SELECT  t, smlar(v, '{01:01:01:01:01:10,01:01:01:01:01:9,01:01:01:01:01:8,01:01:01:01:01:7,01:01:01:01:01:6,01:01:01:01:01:5,01:01:01:01:01:4,01:01:01:01:01:3,01:01:01:01:01:2,01:01:01:01:01:1}') AS s FROM test_macaddr WHERE v % '{01:01:01:01:01:10,01:01:01:01:01:9,01:01:01:01:01:8,01:01:01:01:01:7,01:01:01:01:01:6,01:01:01:01:01:5,01:01:01:01:01:4,01:01:01:01:01:3,01:01:01:01:01:2,01:01:01:01:01:1}' ORDER BY s DESC, t;
30 SELECT  t, smlar(v, '{01:01:01:01:01:50,01:01:01:01:01:49,01:01:01:01:01:8,01:01:01:01:01:7,01:01:01:01:01:6,01:01:01:01:01:5,01:01:01:01:01:4,01:01:01:01:01:33,01:01:01:01:01:2,01:01:01:01:01:1}') AS s FROM test_macaddr WHERE v % '{01:01:01:01:01:50,01:01:01:01:01:49,01:01:01:01:01:8,01:01:01:01:01:7,01:01:01:01:01:6,01:01:01:01:01:5,01:01:01:01:01:4,01:01:01:01:01:33,01:01:01:01:01:2,01:01:01:01:01:1}' ORDER BY s DESC, t;
31
32 SET enable_seqscan=on;
33