mirror of
https://github.com/pgvector/pgvector.git
synced 2026-07-11 07:06:57 +08:00
Fixed consecutive delimiters with text representation
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
## 0.4.4 (unreleased)
|
## 0.4.4 (unreleased)
|
||||||
|
|
||||||
- Improved error message for malformed vector literal
|
- Improved error message for malformed vector literal
|
||||||
|
- Fixed consecutive delimiters with text representation
|
||||||
|
|
||||||
## 0.4.3 (2023-06-10)
|
## 0.4.3 (2023-06-10)
|
||||||
|
|
||||||
|
|||||||
@@ -225,6 +225,15 @@ vector_in(PG_FUNCTION_ARGS)
|
|||||||
errmsg("malformed vector literal: \"%s\"", lit),
|
errmsg("malformed vector literal: \"%s\"", lit),
|
||||||
errdetail("Junk after closing right brace.")));
|
errdetail("Junk after closing right brace.")));
|
||||||
|
|
||||||
|
/* Ensure no consecutive delimiters since strtok skips */
|
||||||
|
for (pt = lit + 1; *pt != '\0'; pt++)
|
||||||
|
{
|
||||||
|
if (pt[-1] == ',' && *pt == ',')
|
||||||
|
ereport(ERROR,
|
||||||
|
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||||
|
errmsg("malformed vector literal: \"%s\"", lit)));
|
||||||
|
}
|
||||||
|
|
||||||
if (dim < 1)
|
if (dim < 1)
|
||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errcode(ERRCODE_DATA_EXCEPTION),
|
(errcode(ERRCODE_DATA_EXCEPTION),
|
||||||
|
|||||||
@@ -65,6 +65,10 @@ SELECT '[1,]'::vector;
|
|||||||
ERROR: invalid input syntax for type vector: "[1,]"
|
ERROR: invalid input syntax for type vector: "[1,]"
|
||||||
LINE 1: SELECT '[1,]'::vector;
|
LINE 1: SELECT '[1,]'::vector;
|
||||||
^
|
^
|
||||||
|
SELECT '[1,,3]'::vector;
|
||||||
|
ERROR: malformed vector literal: "[1,,3]"
|
||||||
|
LINE 1: SELECT '[1,,3]'::vector;
|
||||||
|
^
|
||||||
SELECT '[1,2,3]'::vector(2);
|
SELECT '[1,2,3]'::vector(2);
|
||||||
ERROR: expected 2 dimensions, not 3
|
ERROR: expected 2 dimensions, not 3
|
||||||
SELECT unnest('{"[1,2,3]", "[4,5,6]"}'::vector[]);
|
SELECT unnest('{"[1,2,3]", "[4,5,6]"}'::vector[]);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ SELECT '[1,2,3]9'::vector;
|
|||||||
SELECT '1,2,3'::vector;
|
SELECT '1,2,3'::vector;
|
||||||
SELECT '[]'::vector;
|
SELECT '[]'::vector;
|
||||||
SELECT '[1,]'::vector;
|
SELECT '[1,]'::vector;
|
||||||
|
SELECT '[1,,3]'::vector;
|
||||||
SELECT '[1,2,3]'::vector(2);
|
SELECT '[1,2,3]'::vector(2);
|
||||||
|
|
||||||
SELECT unnest('{"[1,2,3]", "[4,5,6]"}'::vector[]);
|
SELECT unnest('{"[1,2,3]", "[4,5,6]"}'::vector[]);
|
||||||
|
|||||||
Reference in New Issue
Block a user