From: | boyko yordanov <b(dot)yordanov2(at)gmail(dot)com> |
---|---|
To: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
Cc: | PostgreSQL mailing lists <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: BUG #13680: PostgreSQL backend process crashes on jsonb_object_agg() in plpgsql recursive function |
Date: | 2015-10-15 11:37:07 |
Message-ID: | CAHP8fXwpLw5-C9Ait1zLLyXtns9tifT7n4Tt=rC0kTwZqFSiEg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Now I get it, its about operators precedence. Thanks once again!
2015-10-15 14:31 GMT+03:00 Michael Paquier <michael(dot)paquier(at)gmail(dot)com>:
> On Thu, Oct 15, 2015 at 7:07 PM, boyko yordanov wrote:
> > sravni_hstore=# select ('{"3": {"9703": {"c": 1}}}'::jsonb->'3') ||
> ('{"3":
> > {"8309": {"c": 1}}}'::jsonb->'3');
> > -[ RECORD 1 ]----------------------------------
> > ?column? | {"8309": {"c": 1}, "9703": {"c": 1}}
> >
> > sravni_hstore=# select '{"3": {"9703": {"c": 1}}}'::jsonb->'3' || '{"3":
> > {"8309": {"c": 1}}}'::jsonb->'3';
> > -[ RECORD 1 ]----------------
> > ?column? | {"8309": {"c": 1}}
> >
> > What I expect is that there should be no difference in the output of the
> > last two queries. Not sure if I should submit this as a separate bug?
>
> The last one looks correct to me, the concat operator is using on the
> right side '{"3": {"8309": {"c": 1}}}'::jsonb in your last query, and
> not '{"3": {"8309": {"c": 1}}}'::jsonb->'3', so || takes precedence on
> ->. When applying the parenthesis, ('{"3": {"8309": {"c":
> 1}}}'::jsonb->'3') is completely taken into account.
> --
> Michael
>
From | Date | Subject | |
---|---|---|---|
Next Message | a.n.d | 2015-10-15 13:58:04 | BUG #13683: Problem with recursive call plpython function |
Previous Message | Michael Paquier | 2015-10-15 11:31:41 | Re: BUG #13680: PostgreSQL backend process crashes on jsonb_object_agg() in plpgsql recursive function |