SELECT '{1:1.5,3:3.5}/5'::sparsevec; sparsevec ----------------- {1:1.5,3:3.5}/5 (1 row) SELECT '{1:-2,3:-4}/5'::sparsevec; sparsevec --------------- {1:-2,3:-4}/5 (1 row) SELECT '{1:2.,3:4.}/5'::sparsevec; sparsevec ------------- {1:2,3:4}/5 (1 row) SELECT ' { 1 : 1.5 , 3 : 3.5 } / 5 '::sparsevec; sparsevec ----------------- {1:1.5,3:3.5}/5 (1 row) SELECT '{1:1.23456}/1'::sparsevec; sparsevec --------------- {1:1.23456}/1 (1 row) SELECT '{1:hello,2:1}/2'::sparsevec; ERROR: invalid input syntax for type sparsevec: "{1:hello,2:1}/2" LINE 1: SELECT '{1:hello,2:1}/2'::sparsevec; ^ SELECT '{1:NaN,2:1}/2'::sparsevec; ERROR: NaN not allowed in sparsevec LINE 1: SELECT '{1:NaN,2:1}/2'::sparsevec; ^ SELECT '{1:Infinity,2:1}/2'::sparsevec; ERROR: infinite value not allowed in sparsevec LINE 1: SELECT '{1:Infinity,2:1}/2'::sparsevec; ^ SELECT '{1:-Infinity,2:1}/2'::sparsevec; ERROR: infinite value not allowed in sparsevec LINE 1: SELECT '{1:-Infinity,2:1}/2'::sparsevec; ^ SELECT '{1:1.5e38,2:-1.5e38}/2'::sparsevec; sparsevec -------------------------- {1:1.5e+38,2:-1.5e+38}/2 (1 row) SELECT '{1:1.5e+38,2:-1.5e+38}/2'::sparsevec; sparsevec -------------------------- {1:1.5e+38,2:-1.5e+38}/2 (1 row) SELECT '{1:1.5e-38,2:-1.5e-38}/2'::sparsevec; sparsevec -------------------------- {1:1.5e-38,2:-1.5e-38}/2 (1 row) SELECT '{1:4e38,2:1}/2'::sparsevec; ERROR: "4e38" is out of range for type sparsevec LINE 1: SELECT '{1:4e38,2:1}/2'::sparsevec; ^ SELECT '{1:-4e38,2:1}/2'::sparsevec; ERROR: "-4e38" is out of range for type sparsevec LINE 1: SELECT '{1:-4e38,2:1}/2'::sparsevec; ^ SELECT '{1:1e-46,2:1}/2'::sparsevec; ERROR: "1e-46" is out of range for type sparsevec LINE 1: SELECT '{1:1e-46,2:1}/2'::sparsevec; ^ SELECT '{1:-1e-46,2:1}/2'::sparsevec; ERROR: "-1e-46" is out of range for type sparsevec LINE 1: SELECT '{1:-1e-46,2:1}/2'::sparsevec; ^ SELECT ''::sparsevec; ERROR: invalid input syntax for type sparsevec: "" LINE 1: SELECT ''::sparsevec; ^ DETAIL: Vector contents must start with "{". SELECT '{'::sparsevec; ERROR: invalid input syntax for type sparsevec: "{" LINE 1: SELECT '{'::sparsevec; ^ SELECT '{ '::sparsevec; ERROR: invalid input syntax for type sparsevec: "{ " LINE 1: SELECT '{ '::sparsevec; ^ SELECT '{:'::sparsevec; ERROR: invalid input syntax for type sparsevec: "{:" LINE 1: SELECT '{:'::sparsevec; ^ SELECT '{,'::sparsevec; ERROR: invalid input syntax for type sparsevec: "{," LINE 1: SELECT '{,'::sparsevec; ^ SELECT '{}'::sparsevec; ERROR: invalid input syntax for type sparsevec: "{}" LINE 1: SELECT '{}'::sparsevec; ^ DETAIL: Unexpected end of input. SELECT '{}/'::sparsevec; ERROR: invalid input syntax for type sparsevec: "{}/" LINE 1: SELECT '{}/'::sparsevec; ^ SELECT '{}/1'::sparsevec; sparsevec ----------- {}/1 (1 row) SELECT '{}/1a'::sparsevec; ERROR: invalid input syntax for type sparsevec: "{}/1a" LINE 1: SELECT '{}/1a'::sparsevec; ^ DETAIL: Junk after closing. SELECT '{ }/1'::sparsevec; sparsevec ----------- {}/1 (1 row) SELECT '{:}/1'::sparsevec; ERROR: invalid input syntax for type sparsevec: "{:}/1" LINE 1: SELECT '{:}/1'::sparsevec; ^ SELECT '{,}/1'::sparsevec; ERROR: invalid input syntax for type sparsevec: "{,}/1" LINE 1: SELECT '{,}/1'::sparsevec; ^ 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 '{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 ----------- {2:1}/3 (1 row) SELECT '{2:1,1:1}/2'::sparsevec; ERROR: indexes must be in ascending order LINE 1: SELECT '{2:1,1:1}/2'::sparsevec; ^ SELECT '{}/5'::sparsevec; sparsevec ----------- {}/5 (1 row) SELECT '{}/-1'::sparsevec; ERROR: sparsevec must have at least 1 dimension LINE 1: SELECT '{}/-1'::sparsevec; ^ SELECT '{}/100001'::sparsevec; ERROR: sparsevec cannot have more than 100000 dimensions LINE 1: SELECT '{}/100001'::sparsevec; ^ SELECT '{0:1}/1'::sparsevec; ERROR: index "0" is out of range for type sparsevec LINE 1: SELECT '{0:1}/1'::sparsevec; ^ SELECT '{2:1}/1'::sparsevec; ERROR: index must be less than or equal to dimensions LINE 1: SELECT '{2:1}/1'::sparsevec; ^ SELECT '{}/3'::sparsevec(3); sparsevec ----------- {}/3 (1 row) SELECT '{}/3'::sparsevec(2); ERROR: expected 2 dimensions, not 3 SELECT '{}/3'::sparsevec(3, 2); ERROR: invalid type modifier LINE 1: SELECT '{}/3'::sparsevec(3, 2); ^ SELECT '{}/3'::sparsevec('a'); ERROR: invalid input syntax for type integer: "a" LINE 1: SELECT '{}/3'::sparsevec('a'); ^ SELECT '{}/3'::sparsevec(0); ERROR: dimensions for type sparsevec must be at least 1 LINE 1: SELECT '{}/3'::sparsevec(0); ^ SELECT '{}/3'::sparsevec(100001); ERROR: dimensions for type sparsevec cannot exceed 100000 LINE 1: SELECT '{}/3'::sparsevec(100001); ^