mirror of
https://github.com/pgvector/pgvector.git
synced 2026-07-15 09:06:56 +08:00
Make max dimensions consistent across types [skip ci]
This commit is contained in:
@@ -722,7 +722,7 @@ sum(vector) → vector | sum | 0.5.0
|
|||||||
|
|
||||||
### Halfvec Type
|
### Halfvec Type
|
||||||
|
|
||||||
Each half vector takes `2 * dimensions + 8` bytes of storage. Each element is a half-precision floating-point number, and all elements must be finite (no `NaN`, `Infinity` or `-Infinity`). Half vectors can have up to 32,000 dimensions.
|
Each half vector takes `2 * dimensions + 8` bytes of storage. Each element is a half-precision floating-point number, and all elements must be finite (no `NaN`, `Infinity` or `-Infinity`). Half vectors can have up to 16,000 dimensions.
|
||||||
|
|
||||||
### Halfvec Operators
|
### Halfvec Operators
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
#define HALF_MAX 65504
|
#define HALF_MAX 65504
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define HALFVEC_MAX_DIM 32000
|
#define HALFVEC_MAX_DIM 16000
|
||||||
|
|
||||||
#define HALFVEC_SIZE(_dim) (offsetof(HalfVector, x) + sizeof(half)*(_dim))
|
#define HALFVEC_SIZE(_dim) (offsetof(HalfVector, x) + sizeof(half)*(_dim))
|
||||||
#define DatumGetHalfVector(x) ((HalfVector *) PG_DETOAST_DATUM(x))
|
#define DatumGetHalfVector(x) ((HalfVector *) PG_DETOAST_DATUM(x))
|
||||||
|
|||||||
@@ -133,7 +133,9 @@ ERROR: dimensions for type halfvec must be at least 1
|
|||||||
LINE 1: SELECT '[1,2,3]'::halfvec(0);
|
LINE 1: SELECT '[1,2,3]'::halfvec(0);
|
||||||
^
|
^
|
||||||
SELECT '[1,2,3]'::halfvec(16001);
|
SELECT '[1,2,3]'::halfvec(16001);
|
||||||
ERROR: expected 16001 dimensions, not 3
|
ERROR: dimensions for type halfvec cannot exceed 16000
|
||||||
|
LINE 1: SELECT '[1,2,3]'::halfvec(16001);
|
||||||
|
^
|
||||||
SELECT unnest('{"[1,2,3]", "[4,5,6]"}'::halfvec[]);
|
SELECT unnest('{"[1,2,3]", "[4,5,6]"}'::halfvec[]);
|
||||||
unnest
|
unnest
|
||||||
---------
|
---------
|
||||||
|
|||||||
Reference in New Issue
Block a user