From f42ccd451dab44d7a22666e28a4c0b6928cac4d7 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Tue, 9 Apr 2024 16:29:23 -0700 Subject: [PATCH] Improved sparsevec input tests [skip ci] --- test/expected/sparsevec_input.out | 44 +++++++++++++++++++++++++++++++ test/sql/sparsevec_input.sql | 11 ++++++++ 2 files changed, 55 insertions(+) diff --git a/test/expected/sparsevec_input.out b/test/expected/sparsevec_input.out index 6fb400a..5a73994 100644 --- a/test/expected/sparsevec_input.out +++ b/test/expected/sparsevec_input.out @@ -24,6 +24,50 @@ SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec; {2:1.5,4:3.5}/5 (1 row) +SELECT ''::sparsevec; +ERROR: malformed sparsevec literal: "" +LINE 1: SELECT ''::sparsevec; + ^ +DETAIL: Vector contents must start with "{". +SELECT '{'::sparsevec; +ERROR: malformed sparsevec literal: "{" +LINE 1: SELECT '{'::sparsevec; + ^ +DETAIL: Unexpected end of input. +SELECT '{}'::sparsevec; +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 '{}/1a'::sparsevec; +ERROR: malformed sparsevec literal: "{}/1a" +LINE 1: SELECT '{}/1a'::sparsevec; + ^ +DETAIL: Junk after closing. +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; + ^ +SELECT '{1a:1}/1'::sparsevec; +ERROR: invalid input syntax for type sparsevec: "{1a:1}/1" +LINE 1: SELECT '{1a:1}/1'::sparsevec; + ^ +SELECT '{1:1a}/1'::sparsevec; +ERROR: invalid input syntax for type sparsevec: "{1:1a}/1" +LINE 1: SELECT '{1:1a}/1'::sparsevec; + ^ +SELECT '{1:1,}/1'::sparsevec; +ERROR: invalid input syntax for type sparsevec: "{1:1,}/1" +LINE 1: SELECT '{1:1,}/1'::sparsevec; + ^ SELECT '{1:0,2:1,3:0}/3'::sparsevec; sparsevec ----------- diff --git a/test/sql/sparsevec_input.sql b/test/sql/sparsevec_input.sql index 757afc0..e7ad07d 100644 --- a/test/sql/sparsevec_input.sql +++ b/test/sql/sparsevec_input.sql @@ -4,6 +4,17 @@ SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector(5); SELECT '{1:1.5,3:3.5}/5'::sparsevec::vector(4); SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec; +SELECT ''::sparsevec; +SELECT '{'::sparsevec; +SELECT '{}'::sparsevec; +SELECT '{}/'::sparsevec; +SELECT '{}/1a'::sparsevec; +SELECT '{:1}/1'::sparsevec; +SELECT '{1:}/1'::sparsevec; +SELECT '{1a:1}/1'::sparsevec; +SELECT '{1:1a}/1'::sparsevec; +SELECT '{1:1,}/1'::sparsevec; + SELECT '{1:0,2:1,3:0}/3'::sparsevec; SELECT '{2:1,1:1}/2'::sparsevec;