mirror of
https://github.com/pgvector/pgvector.git
synced 2026-07-12 23:56:55 +08:00
Improved halfvec input check [skip ci]
This commit is contained in:
@@ -462,7 +462,7 @@ halfvec_in(PG_FUNCTION_ARGS)
|
|||||||
|
|
||||||
x[dim] = Float4ToHalfUnchecked(val);
|
x[dim] = Float4ToHalfUnchecked(val);
|
||||||
|
|
||||||
if ((errno == ERANGE && isinf(val)) || (HalfIsInf(x[dim]) && !isinf(val)) || (HalfIsZero(x[dim]) && val != 0))
|
if ((errno == ERANGE && (isinf(val) || val == 0)) || (HalfIsInf(x[dim]) && !isinf(val)) || (HalfIsZero(x[dim]) && val != 0))
|
||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
|
(errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
|
||||||
errmsg("\"%s\" is out of range for type halfvec", pt)));
|
errmsg("\"%s\" is out of range for type halfvec", pt)));
|
||||||
|
|||||||
@@ -62,6 +62,10 @@ SELECT '[4e38,1]'::halfvec;
|
|||||||
ERROR: "4e38" is out of range for type halfvec
|
ERROR: "4e38" is out of range for type halfvec
|
||||||
LINE 1: SELECT '[4e38,1]'::halfvec;
|
LINE 1: SELECT '[4e38,1]'::halfvec;
|
||||||
^
|
^
|
||||||
|
SELECT '[1e-46,1]'::halfvec;
|
||||||
|
ERROR: "1e-46" is out of range for type halfvec
|
||||||
|
LINE 1: SELECT '[1e-46,1]'::halfvec;
|
||||||
|
^
|
||||||
SELECT '[1,2,3'::halfvec;
|
SELECT '[1,2,3'::halfvec;
|
||||||
ERROR: malformed halfvec literal: "[1,2,3"
|
ERROR: malformed halfvec literal: "[1,2,3"
|
||||||
LINE 1: SELECT '[1,2,3'::halfvec;
|
LINE 1: SELECT '[1,2,3'::halfvec;
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ SELECT '[65519,-65519]'::halfvec;
|
|||||||
SELECT '[65520,-65520]'::halfvec;
|
SELECT '[65520,-65520]'::halfvec;
|
||||||
SELECT '[1e-8,-1e-8]'::halfvec;
|
SELECT '[1e-8,-1e-8]'::halfvec;
|
||||||
SELECT '[4e38,1]'::halfvec;
|
SELECT '[4e38,1]'::halfvec;
|
||||||
|
SELECT '[1e-46,1]'::halfvec;
|
||||||
SELECT '[1,2,3'::halfvec;
|
SELECT '[1,2,3'::halfvec;
|
||||||
SELECT '[1,2,3]9'::halfvec;
|
SELECT '[1,2,3]9'::halfvec;
|
||||||
SELECT '1,2,3'::halfvec;
|
SELECT '1,2,3'::halfvec;
|
||||||
|
|||||||
Reference in New Issue
Block a user