Skip to content

Commit 1b9806a

Browse files
author
Vladlen Popolitov
committed
README.md updated with usage exmples
1 parent 68ada43 commit 1b9806a

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

README.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,61 @@ Operator class names for all types implemented in anyarray.
259259
|varbit|_varbit_aa_ops|_varbit_aa_ops|_varbit_aa_ops|
260260
|varchar|_varchar_aa_ops|_varchar_aa_ops|_varchar_aa_ops|
261261

262+
Operator class names implemented for back compatibility with RUM versions 1.2 and 1.3
263+
-----------------------------------------------------------
264+
265+
All anyarray support moved from RUM extension to AnyArray extension since RUM version 1.4 . Operator class names `aa_rum_anyarray_ops` and `aa_rum_anyarray_addon_ops` are implemented in AnyArray.
266+
267+
### aa_rum_anyarray_ops example
268+
269+
```SQL
270+
CREATE INDEX idx_test_int4 ON test_int4 USING rum (v aa_rum_anyarray_ops);
271+
272+
SET enable_seqscan=off;
273+
274+
EXPLAIN (COSTS OFF) SELECT t, v FROM test_int4 WHERE v && '{43,50}' ORDER BY t;
275+
EXPLAIN (COSTS OFF) SELECT t, v FROM test_int4 WHERE v @> '{43,50}' ORDER BY t;
276+
EXPLAIN (COSTS OFF) SELECT t, v FROM test_int4 WHERE v <@ '{0,1,2,3,4,5,6,7,8,9,10}' ORDER BY t;
277+
EXPLAIN (COSTS OFF) SELECT t, v FROM test_int4 WHERE v = '{0,1,2,3,4,5,6,7,8,9,10}' ORDER BY t;
278+
EXPLAIN (COSTS OFF) SELECT t, v FROM test_int4 WHERE v % '{0,1,2,3,4,5,6,7,8,9,10}' ORDER BY t;
279+
280+
SELECT t, v FROM test_int4 WHERE v && '{43,50}' ORDER BY t;
281+
SELECT t, v FROM test_int4 WHERE v @> '{43,50}' ORDER BY t;
282+
SELECT t, v FROM test_int4 WHERE v <@ '{0,1,2,3,4,5,6,7,8,9,10}' ORDER BY t;
283+
SELECT t, v FROM test_int4 WHERE v = '{0,1,2,3,4,5,6,7,8,9,10}' ORDER BY t;
284+
SET anyarray.similarity_type=cosine;
285+
SELECT t, v FROM test_int4 WHERE v % '{0,1,2,3,4,5,6,7,8,9,10}' ORDER BY t;
286+
SET anyarray.similarity_type=jaccard;
287+
SELECT t, v FROM test_int4 WHERE v % '{0,1,2,3,4,5,6,7,8,9,10}' ORDER BY t;
288+
SET anyarray.similarity_type=overlap;
289+
SET anyarray.similarity_threshold = 3;
290+
SELECT t, v FROM test_int4 WHERE v % '{0,1,2,3,4,5,6,7,8,9,10}' ORDER BY t;
291+
RESET anyarray.similarity_threshold;
292+
```
293+
294+
### aa_rum_anyarray_addon_ops example
295+
296+
```SQL
297+
CREATE TABLE test_array (
298+
i int2[]
299+
);
300+
INSERT INTO test_array VALUES ('{}'), ('{0}'), ('{1,2,3,4}'), ('{1,2,3}'), ('{1,2}'), ('{1}');
301+
ALTER TABLE test_array ADD COLUMN add_info timestamp;
302+
303+
WITH q as (
304+
SELECT row_number() OVER (ORDER BY i) idx, ctid FROM test_array
305+
)
306+
UPDATE test_array SET add_info = '2016-05-16 14:21:25'::timestamp +
307+
format('%s days', q.idx)::interval
308+
FROM q WHERE test_array.ctid = q.ctid;
309+
310+
CREATE INDEX idx_array ON test_array
311+
USING rum (i aa_rum_anyarray_addon_ops, add_info)
312+
WITH (attach = 'add_info', to = 'i');
313+
314+
SELECT * FROM test_array WHERE i && '{1}' ORDER BY add_info <=> '2016-05-16 14:21:25' LIMIT 10;
315+
```
316+
262317
## Upgrading
263318

264319
Install the latest version and run in every database you want to upgrade:

0 commit comments

Comments
 (0)