mirror of
https://github.com/pgvector/pgvector.git
synced 2026-07-28 14:52:43 +08:00
Fixed array to sparsevec cast not limiting to 16,000 non-zero elements [skip ci]
Co-authored-by: 0xJi3F
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
## 0.8.6 (unreleased)
|
||||
|
||||
- Fixed array to `sparsevec` cast not limiting to 16,000 non-zero elements
|
||||
|
||||
## 0.8.5 (2026-07-08)
|
||||
|
||||
- Reduced memory usage for small tables for IVFFlat index builds
|
||||
|
||||
@@ -745,6 +745,7 @@ array_to_sparsevec(PG_FUNCTION_ARGS)
|
||||
errmsg("unsupported array type")));
|
||||
}
|
||||
|
||||
CheckNnz(nnz, nelemsp);
|
||||
result = InitSparseVector(nelemsp, nnz);
|
||||
values = SPARSEVEC_VALUES(result);
|
||||
|
||||
|
||||
@@ -270,6 +270,8 @@ SELECT array_to_vector(array_agg(n), 16001, false) FROM generate_series(1, 16001
|
||||
ERROR: vector cannot have more than 16000 dimensions
|
||||
SELECT array_agg(n)::halfvec FROM generate_series(1, 16001) n;
|
||||
ERROR: halfvec cannot have more than 16000 dimensions
|
||||
SELECT array_agg(n)::sparsevec FROM generate_series(1, 16001) n;
|
||||
ERROR: sparsevec cannot have more than 16000 non-zero elements
|
||||
-- ensure no error
|
||||
SELECT ARRAY[1,2,3] = ARRAY[1,2,3];
|
||||
?column?
|
||||
|
||||
@@ -77,6 +77,7 @@ SELECT '{{1}}'::real[]::sparsevec;
|
||||
SELECT array_agg(n)::vector FROM generate_series(1, 16001) n;
|
||||
SELECT array_to_vector(array_agg(n), 16001, false) FROM generate_series(1, 16001) n;
|
||||
SELECT array_agg(n)::halfvec FROM generate_series(1, 16001) n;
|
||||
SELECT array_agg(n)::sparsevec FROM generate_series(1, 16001) n;
|
||||
|
||||
-- ensure no error
|
||||
SELECT ARRAY[1,2,3] = ARRAY[1,2,3];
|
||||
|
||||
Reference in New Issue
Block a user