mirror of
https://github.com/pgvector/pgvector.git
synced 2026-07-03 19:20:56 +08:00
Added more intvec functions [skip ci]
This commit is contained in:
@@ -39,10 +39,14 @@ CREATE TABLE t2 (val intvec(3));
|
||||
\copy t TO 'results/intvec.bin' WITH (FORMAT binary)
|
||||
\copy t2 FROM 'results/intvec.bin' WITH (FORMAT binary)
|
||||
SELECT * FROM t2 ORDER BY val;
|
||||
ERROR: could not identify an ordering operator for type intvec
|
||||
LINE 1: SELECT * FROM t2 ORDER BY val;
|
||||
^
|
||||
HINT: Use an explicit ordering operator or modify the query.
|
||||
val
|
||||
---------
|
||||
[0,0,0]
|
||||
[1,1,1]
|
||||
[1,2,3]
|
||||
|
||||
(4 rows)
|
||||
|
||||
DROP TABLE t;
|
||||
DROP TABLE t2;
|
||||
-- sparsevec
|
||||
|
||||
@@ -114,6 +114,120 @@ SELECT unnest('{"[1,2,3]", "[4,5,6]"}'::intvec[]);
|
||||
|
||||
SELECT '{"[1,2,3]"}'::intvec(2)[];
|
||||
ERROR: expected 2 dimensions, not 3
|
||||
SELECT '[1,2,3]'::intvec < '[1,2,3]';
|
||||
?column?
|
||||
----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT '[1,2,3]'::intvec < '[1,2]';
|
||||
?column?
|
||||
----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT '[1,2,3]'::intvec <= '[1,2,3]';
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT '[1,2,3]'::intvec <= '[1,2]';
|
||||
?column?
|
||||
----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT '[1,2,3]'::intvec = '[1,2,3]';
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT '[1,2,3]'::intvec = '[1,2]';
|
||||
?column?
|
||||
----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT '[1,2,3]'::intvec != '[1,2,3]';
|
||||
?column?
|
||||
----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT '[1,2,3]'::intvec != '[1,2]';
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT '[1,2,3]'::intvec >= '[1,2,3]';
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT '[1,2,3]'::intvec >= '[1,2]';
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT '[1,2,3]'::intvec > '[1,2,3]';
|
||||
?column?
|
||||
----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT '[1,2,3]'::intvec > '[1,2]';
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT intvec_cmp('[1,2,3]', '[1,2,3]');
|
||||
intvec_cmp
|
||||
------------
|
||||
0
|
||||
(1 row)
|
||||
|
||||
SELECT intvec_cmp('[1,2,3]', '[0,0,0]');
|
||||
intvec_cmp
|
||||
------------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT intvec_cmp('[0,0,0]', '[1,2,3]');
|
||||
intvec_cmp
|
||||
------------
|
||||
-1
|
||||
(1 row)
|
||||
|
||||
SELECT intvec_cmp('[1,2]', '[1,2,3]');
|
||||
intvec_cmp
|
||||
------------
|
||||
-1
|
||||
(1 row)
|
||||
|
||||
SELECT intvec_cmp('[1,2,3]', '[1,2]');
|
||||
intvec_cmp
|
||||
------------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT intvec_cmp('[1,2]', '[2,3,4]');
|
||||
intvec_cmp
|
||||
------------
|
||||
-1
|
||||
(1 row)
|
||||
|
||||
SELECT intvec_cmp('[2,3]', '[1,2,3]');
|
||||
intvec_cmp
|
||||
------------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT l2_distance('[0,0]'::intvec, '[3,4]');
|
||||
l2_distance
|
||||
-------------
|
||||
|
||||
@@ -27,6 +27,27 @@ SELECT '[1,2,3]'::intvec(16001);
|
||||
SELECT unnest('{"[1,2,3]", "[4,5,6]"}'::intvec[]);
|
||||
SELECT '{"[1,2,3]"}'::intvec(2)[];
|
||||
|
||||
SELECT '[1,2,3]'::intvec < '[1,2,3]';
|
||||
SELECT '[1,2,3]'::intvec < '[1,2]';
|
||||
SELECT '[1,2,3]'::intvec <= '[1,2,3]';
|
||||
SELECT '[1,2,3]'::intvec <= '[1,2]';
|
||||
SELECT '[1,2,3]'::intvec = '[1,2,3]';
|
||||
SELECT '[1,2,3]'::intvec = '[1,2]';
|
||||
SELECT '[1,2,3]'::intvec != '[1,2,3]';
|
||||
SELECT '[1,2,3]'::intvec != '[1,2]';
|
||||
SELECT '[1,2,3]'::intvec >= '[1,2,3]';
|
||||
SELECT '[1,2,3]'::intvec >= '[1,2]';
|
||||
SELECT '[1,2,3]'::intvec > '[1,2,3]';
|
||||
SELECT '[1,2,3]'::intvec > '[1,2]';
|
||||
|
||||
SELECT intvec_cmp('[1,2,3]', '[1,2,3]');
|
||||
SELECT intvec_cmp('[1,2,3]', '[0,0,0]');
|
||||
SELECT intvec_cmp('[0,0,0]', '[1,2,3]');
|
||||
SELECT intvec_cmp('[1,2]', '[1,2,3]');
|
||||
SELECT intvec_cmp('[1,2,3]', '[1,2]');
|
||||
SELECT intvec_cmp('[1,2]', '[2,3,4]');
|
||||
SELECT intvec_cmp('[2,3]', '[1,2,3]');
|
||||
|
||||
SELECT l2_distance('[0,0]'::intvec, '[3,4]');
|
||||
SELECT l2_distance('[0,0]'::intvec, '[0,1]');
|
||||
SELECT l2_distance('[1,2]'::intvec, '[3]');
|
||||
|
||||
Reference in New Issue
Block a user