Changed indices to start at 1 for sparse vectors to match SQL

This commit is contained in:
Andrew Kane
2024-04-06 14:02:07 -07:00
parent aec853dc68
commit 4450029bdc
13 changed files with 83 additions and 81 deletions

View File

@@ -1,22 +1,22 @@
SELECT '{0:1.5,2:3.5}/5'::sparsevec;
SELECT '{1:1.5,3:3.5}/5'::sparsevec;
sparsevec
-----------------
{0:1.5,2:3.5}/5
{1:1.5,3:3.5}/5
(1 row)
SELECT '{0:1.5,2:3.5}/5'::sparsevec::vector;
SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector;
vector
-----------------
[1.5,0,3.5,0,0]
(1 row)
SELECT '{0:1.5,2:3.5}/5'::sparsevec::vector(5);
SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector(5);
vector
-----------------
[1.5,0,3.5,0,0]
(1 row)
SELECT '{0:1.5,2:3.5}/5'::sparsevec::vector(4);
SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector(4);
ERROR: expected 4 dimensions, not 5
SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec;
sparsevec
@@ -24,15 +24,15 @@ SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec;
{1:1.5,3:3.5}/5
(1 row)
SELECT '{0:0,1:1,2:0}/3'::sparsevec;
SELECT '{1:0,2:1,3:0}/3'::sparsevec;
sparsevec
-----------
{1:1}/3
{2:1}/3
(1 row)
SELECT '{1:1,0:1}/2'::sparsevec;
SELECT '{2:1,1:1}/2'::sparsevec;
ERROR: indexes must be in ascending order
LINE 1: SELECT '{1:1,0:1}/2'::sparsevec;
LINE 1: SELECT '{2:1,1:1}/2'::sparsevec;
^
SELECT '{}/5'::sparsevec;
sparsevec
@@ -50,13 +50,13 @@ LINE 1: SELECT '{}/100001'::sparsevec;
^
SELECT '{}/16001'::sparsevec::vector;
ERROR: vector cannot have more than 16000 dimensions
SELECT '{-1:1}/1'::sparsevec;
ERROR: index "-1" is out of range for type sparsevec
LINE 1: SELECT '{-1:1}/1'::sparsevec;
SELECT '{0:1}/1'::sparsevec;
ERROR: index "0" is out of range for type sparsevec
LINE 1: SELECT '{0:1}/1'::sparsevec;
^
SELECT '{1:1}/1'::sparsevec;
ERROR: index must be less than dimensions
LINE 1: SELECT '{1:1}/1'::sparsevec;
SELECT '{2:1}/1'::sparsevec;
ERROR: index must be less than or equal to dimensions
LINE 1: SELECT '{2:1}/1'::sparsevec;
^
SELECT '{}/1'::sparsevec(2);
ERROR: expected 2 dimensions, not 1