1 set extra_float_digits =0;
2 SELECT set_smlar_limit(0.3);
4 SET smlar.type = "tfidf";
5 SET smlar.stattable = "interval_stat";
7 UPDATE test_interval SET v = v || '{50,50,50}'::interval[] WHERE t >=50 AND t < 60;
8 INSERT INTO test_interval VALUES(201, '{50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50}');
10 CREATE TABLE interval_stat (
11 value interval UNIQUE,
12 ndoc int4 NOT NULL CHECK (ndoc>0)
15 INSERT INTO interval_stat (
20 (SELECT array_to_col(v) AS w FROM test_interval WHERE v IS NOT NULL) AS q
24 INSERT INTO interval_stat VALUES (NULL, (SELECT count(*) FROM test_interval));
26 DROP INDEX idx_test_interval;
28 SET smlar.tf_method = "n";
29 SET smlar.idf_plus_one = off;
30 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
31 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
32 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
34 SET smlar.tf_method = "n";
35 SET smlar.idf_plus_one = on;
36 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
37 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
38 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
40 SET smlar.tf_method = "log";
41 SET smlar.idf_plus_one = off;
42 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
43 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
44 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
46 SET smlar.tf_method = "log";
47 SET smlar.idf_plus_one = on;
48 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
49 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
50 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
52 SET smlar.tf_method = "const";
53 SET smlar.idf_plus_one = off;
54 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
55 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
56 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
58 SET smlar.tf_method = "const";
59 SET smlar.idf_plus_one = on;
60 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
61 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
62 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
64 CREATE INDEX idx_test_interval ON test_interval USING gist (v _interval_sml_ops);
65 SET enable_seqscan = off;
67 SET smlar.tf_method = "n";
68 SET smlar.idf_plus_one = off;
69 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
70 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
71 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
73 SET smlar.tf_method = "n";
74 SET smlar.idf_plus_one = on;
75 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
76 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
77 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
79 SET smlar.tf_method = "log";
80 SET smlar.idf_plus_one = off;
81 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
82 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
83 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
85 SET smlar.tf_method = "log";
86 SET smlar.idf_plus_one = on;
87 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
88 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
89 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
91 SET smlar.tf_method = "const";
92 SET smlar.idf_plus_one = off;
93 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
94 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
95 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
97 SET smlar.tf_method = "const";
98 SET smlar.idf_plus_one = on;
99 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
100 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
101 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
103 DROP INDEX idx_test_interval;
104 CREATE INDEX idx_test_interval ON test_interval USING gin (v _interval_sml_ops);
105 SET enable_seqscan = off;
107 SET smlar.tf_method = "n";
108 SET smlar.idf_plus_one = off;
109 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
110 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
111 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
113 SET smlar.tf_method = "n";
114 SET smlar.idf_plus_one = on;
115 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
116 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
117 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
119 SET smlar.tf_method = "log";
120 SET smlar.idf_plus_one = off;
121 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
122 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
123 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
125 SET smlar.tf_method = "log";
126 SET smlar.idf_plus_one = on;
127 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
128 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
129 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
131 SET smlar.tf_method = "const";
132 SET smlar.idf_plus_one = off;
133 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
134 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
135 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
137 SET smlar.tf_method = "const";
138 SET smlar.idf_plus_one = on;
139 SELECT smlar('{199,199,199,199,1}', '{199,1}'::interval[]);
140 SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_interval WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t;
141 SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_interval WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t;
143 RESET enable_seqscan;