Re: Bug in comparison of empty jsonb arrays to scalars - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Bug in comparison of empty jsonb arrays to scalars
Date
Msg-id CAB7nPqSLmLi+VS7XHHRfs_2e=-viSVW4m=nZm1nMiz-qjOteoA@mail.gmail.com
Whole thread Raw
In response to Re: Bug in comparison of empty jsonb arrays to scalars  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Bug in comparison of empty jsonb arrays to scalars  (Ali Akbar <the.apaan@gmail.com>)
Re: Bug in comparison of empty jsonb arrays to scalars  (Nikita Glukhov <n.gluhov@postgrespro.ru>)
Re: Bug in comparison of empty jsonb arrays to scalars  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Thu, Nov 10, 2016 at 7:37 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Michael Paquier <michael.paquier@gmail.com> writes:
>> On Thu, Nov 10, 2016 at 3:27 AM, Robert Haas <robertmhaas@gmail.com> wrote:
>>> https://www.postgresql.org/docs/current/static/datatype-json.html
>
>> Indeed, I missed that. So that's broken...
>
> Given that nobody actually cares what that sort order is, I think that
> having to jump through hoops in pg_upgrade in order to fix it is not a
> great tradeoff.  I suggest changing the documentation to match the code.

Yes, definitely.
=# create table json_data (a jsonb);
CREATE TABLE
=# INSERT INTO json_data values ('{}'::jsonb), ('[]'::jsonb),
('null'::jsonb), ('true'::jsonb), ('1'::jsonb), ('""'::jsonb);
INSERT 0 6
=# SELECT * FROM json_data ORDER BY 1 DESC;
  a
------
 {}
 true
 1
 ""
 null
 []
(6 rows)
So that's object > boolean > integer > string > NULL > array.

And attached is a patch.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Haribabu Kommi
Date:
Subject: Re: macaddr 64 bit (EUI-64) datatype support
Next
From: Michael Paquier
Date:
Subject: Re: Unlogged tables cleanup