Ryan Kelly <rpkelly22@gmail.com> writes:
> It seems that the hstore parser has some odd behavior in the the
> handling of certain malformed input constructions:
> [db]> select 'a=>,b=>1'::hstore;
> hstore
> --------------
> "a"=>",b=>1"
> [db]> select 'a=> ,b=>1'::hstore;
> hstore
> --------------
> "a"=>",b=>1"
> [db]> select 'a=>, b=>1'::hstore;
> ERROR: Syntax error near 'b' at position 5
> LINE 2: select 'a=>, b=>1'::hstore;
> In my mind, all of these should have been rejected as erroneous input.
> To that end, I have attached a patch which causes all of these inputs
> to be rejected as invalid.
Hm, I would have expected all three of these to result in "a" having
an empty-string value. I see nothing in the hstore documentation
suggesting that I must write a=>"" or some such to get an empty value,
and it also says "whitespace between pairs or around the => sign is
ignored". So what is your reasoning for calling this malformed input?
(We're in agreement that the current behavior is wrong, though.)
regards, tom lane