From f6becf01aa1f8b89428041774cf688cc1fcc7a9a Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Tue, 9 Apr 2024 17:34:11 -0700 Subject: [PATCH] Improved input tests [skip ci] --- test/expected/halfvec_input.out | 9 +++++++++ test/expected/sparsevec_input.out | 15 +++++++++++++++ test/expected/vector_input.out | 9 +++++++++ test/sql/halfvec_input.sql | 3 +++ test/sql/sparsevec_input.sql | 4 ++++ test/sql/vector_input.sql | 3 +++ 6 files changed, 43 insertions(+) diff --git a/test/expected/halfvec_input.out b/test/expected/halfvec_input.out index 59c8556..81ce5ee 100644 --- a/test/expected/halfvec_input.out +++ b/test/expected/halfvec_input.out @@ -91,6 +91,10 @@ ERROR: malformed halfvec literal: "[" LINE 1: SELECT '['::halfvec; ^ DETAIL: Unexpected end of input. +SELECT '[ '::halfvec; +ERROR: invalid input syntax for type halfvec: "[ " +LINE 1: SELECT '[ '::halfvec; + ^ SELECT '[,'::halfvec; ERROR: malformed halfvec literal: "[," LINE 1: SELECT '[,'::halfvec; @@ -100,6 +104,11 @@ SELECT '[]'::halfvec; ERROR: halfvec must have at least 1 dimension LINE 1: SELECT '[]'::halfvec; ^ +-- TODO fix error message +SELECT '[,]'::vector; +ERROR: vector must have at least 1 dimension +LINE 1: SELECT '[,]'::vector; + ^ SELECT '[1,]'::halfvec; ERROR: invalid input syntax for type halfvec: "[1,]" LINE 1: SELECT '[1,]'::halfvec; diff --git a/test/expected/sparsevec_input.out b/test/expected/sparsevec_input.out index f1e4f8d..25ac56c 100644 --- a/test/expected/sparsevec_input.out +++ b/test/expected/sparsevec_input.out @@ -20,6 +20,10 @@ ERROR: malformed sparsevec literal: "{" LINE 1: SELECT '{'::sparsevec; ^ DETAIL: Unexpected end of input. +SELECT '{ '::sparsevec; +ERROR: invalid input syntax for type sparsevec: "{ " +LINE 1: SELECT '{ '::sparsevec; + ^ SELECT '{}'::sparsevec; ERROR: malformed sparsevec literal: "{}" LINE 1: SELECT '{}'::sparsevec; @@ -34,6 +38,17 @@ ERROR: malformed sparsevec literal: "{}/1a" LINE 1: SELECT '{}/1a'::sparsevec; ^ DETAIL: Junk after closing. +-- TODO fix +SELECT '{,}/1'::sparsevec; + sparsevec +----------- + {}/1 +(1 row) + +SELECT '{1,}/1'::sparsevec; +ERROR: invalid input syntax for type sparsevec: "{1,}/1" +LINE 1: SELECT '{1,}/1'::sparsevec; + ^ SELECT '{:1}/1'::sparsevec; ERROR: invalid input syntax for type sparsevec: "{:1}/1" LINE 1: SELECT '{:1}/1'::sparsevec; diff --git a/test/expected/vector_input.out b/test/expected/vector_input.out index 920012d..6de1a0c 100644 --- a/test/expected/vector_input.out +++ b/test/expected/vector_input.out @@ -107,6 +107,10 @@ ERROR: malformed vector literal: "[" LINE 1: SELECT '['::vector; ^ DETAIL: Unexpected end of input. +SELECT '[ '::vector; +ERROR: invalid input syntax for type vector: "[ " +LINE 1: SELECT '[ '::vector; + ^ SELECT '[,'::vector; ERROR: malformed vector literal: "[," LINE 1: SELECT '[,'::vector; @@ -116,6 +120,11 @@ SELECT '[]'::vector; ERROR: vector must have at least 1 dimension LINE 1: SELECT '[]'::vector; ^ +-- TODO fix error message +SELECT '[,]'::vector; +ERROR: vector must have at least 1 dimension +LINE 1: SELECT '[,]'::vector; + ^ SELECT '[1,]'::vector; ERROR: invalid input syntax for type vector: "[1,]" LINE 1: SELECT '[1,]'::vector; diff --git a/test/sql/halfvec_input.sql b/test/sql/halfvec_input.sql index 1b16f4a..563e5ff 100644 --- a/test/sql/halfvec_input.sql +++ b/test/sql/halfvec_input.sql @@ -17,8 +17,11 @@ SELECT '[1,2,3]9'::halfvec; SELECT '1,2,3'::halfvec; SELECT ''::halfvec; SELECT '['::halfvec; +SELECT '[ '::halfvec; SELECT '[,'::halfvec; SELECT '[]'::halfvec; +-- TODO fix error message +SELECT '[,]'::vector; SELECT '[1,]'::halfvec; SELECT '[1a]'::halfvec; SELECT '[1,,3]'::halfvec; diff --git a/test/sql/sparsevec_input.sql b/test/sql/sparsevec_input.sql index e188d9a..37c35db 100644 --- a/test/sql/sparsevec_input.sql +++ b/test/sql/sparsevec_input.sql @@ -3,9 +3,13 @@ SELECT ' { 1 : 1.5 , 3 : 3.5 } / 5 '::sparsevec; SELECT ''::sparsevec; SELECT '{'::sparsevec; +SELECT '{ '::sparsevec; SELECT '{}'::sparsevec; SELECT '{}/'::sparsevec; SELECT '{}/1a'::sparsevec; +-- TODO fix +SELECT '{,}/1'::sparsevec; +SELECT '{1,}/1'::sparsevec; SELECT '{:1}/1'::sparsevec; SELECT '{1:}/1'::sparsevec; SELECT '{1a:1}/1'::sparsevec; diff --git a/test/sql/vector_input.sql b/test/sql/vector_input.sql index d1d70da..ceb1c90 100644 --- a/test/sql/vector_input.sql +++ b/test/sql/vector_input.sql @@ -19,8 +19,11 @@ SELECT '[1,2,3]9'::vector; SELECT '1,2,3'::vector; SELECT ''::vector; SELECT '['::vector; +SELECT '[ '::vector; SELECT '[,'::vector; SELECT '[]'::vector; +-- TODO fix error message +SELECT '[,]'::vector; SELECT '[1,]'::vector; SELECT '[1a]'::vector; SELECT '[1,,3]'::vector;