From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Ryan Kelly <rpkelly22(at)gmail(dot)com> |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: hstore parser incorrectly handles malformed input |
Date: | 2012-04-26 19:50:33 |
Message-ID: | 12884.1335469833@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Ryan Kelly <rpkelly22(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | rikard.pavelic | 2012-04-26 22:20:51 | BUG #6618: incorrect restore for composite columns when order changes |
Previous Message | Ryan Kelly | 2012-04-26 19:05:13 | hstore parser incorrectly handles malformed input |