Unexpected syntax error when using JSON -> in 9.3.5 - Mailing list pgsql-general

From Seamus Abshere
Subject Unexpected syntax error when using JSON -> in 9.3.5
Date
Msg-id 5421961B.2060602@abshere.net
Whole thread Raw
Responses Re: Unexpected syntax error when using JSON -> in 9.3.5  (David G Johnston <david.g.johnston@gmail.com>)
Re: Unexpected syntax error when using JSON -> in 9.3.5  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
hi all,

This part looks correct and expected:

> $ psql foobar
> psql (9.3.5)
> Type "help" for help.
>
> foobar=# select coalesce('{}'::json->'a', 1);
> ERROR:  COALESCE types json and integer cannot be matched
> LINE 1: select coalesce('{}'::json->'a', 1);
>                                          ^

but check it out when I use a string instead of an integer:

> foobar=# select coalesce('{}'::json->'a', 'b');
> ERROR:  invalid input syntax for type json
> LINE 1: select coalesce('{}'::json->'a', 'b');
>                                          ^
> DETAIL:  Token "b" is invalid.
> CONTEXT:  JSON data, line 1: b

That seems like the wrong error - shouldn't it be the equiv of "[...]
json and string cannot be matched"?

Thanks,
Seamus


--
Seamus Abshere, SCEA
https://github.com/seamusabshere


pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Question about Vacuum and Replication failures in 9.3.5
Next
From: Seamus Abshere
Date:
Subject: Will there be a JSON operator like ->> but returning numeric?