BUG #13506: jsonb || operator does not work

Started by grégoire Hubertover 10 years ago3 messagesbugs
Jump to latest
#1grégoire Hubert
gregoire.hubert@pragmafabrik.com

The following bug has been logged on the website:

Bug reference: 13506
Logged by: Grégoire HUBERT
Email address: gregoire.hubert@pragmafabrik.com
PostgreSQL version: 9.5alpha1
Operating system: debian jessie
Description:

select val->'a'||val->'c' from (values ($j${"a": {"b": 2}, "c": {"d":
3}}$j$::jsonb)) a (val);
┌──────────┐
│ ?column? │
├──────────┤
│ {"d": 3} │
└──────────┘
(1 row)

I think this should return '{"b": 2, "d": 3}'

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: grégoire Hubert (#1)
Re: BUG #13506: jsonb || operator does not work

gregoire.hubert@pragmafabrik.com writes:

select val->'a'||val->'c' from (values ($j${"a": {"b": 2}, "c": {"d":
3}}$j$::jsonb)) a (val);

You're making unwarranted assumptions about the precedence of those
operators.

(val->'a')||(val->'c') does what you expect. Working out what the
expression does as-written is left as an exercise for the reader.

regards, tom lane

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#3grégoire Hubert
gregoire.hubert@pragmafabrik.com
In reply to: Tom Lane (#2)
Re: BUG #13506: jsonb || operator does not work

On Mon, Jul 20, 2015 at 7:44 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

gregoire.hubert@pragmafabrik.com writes:

select val->'a'||val->'c' from (values ($j${"a": {"b": 2}, "c": {"d":
3}}$j$::jsonb)) a (val);

You're making unwarranted assumptions about the precedence of those
operators.

(val->'a')||(val->'c') does what you expect. Working out what the
expression does as-written is left as an exercise for the reader.

Ok, I got it: select (val->'a')||(val->'c') from…

Thank you for taking the time to reply.

Regards,
--
Grégoire HUBERT
Tel: 06.60.15.49.80
PragmaFabrik
http://www.pragmafabrik.com

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs