Re: [pgAdmin4][RM3587] Browser rendering of a bigint in a jsonb is wrong

From: Aditya Toshniwal <aditya(dot)toshniwal(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgAdmin4][RM3587] Browser rendering of a bigint in a jsonb is wrong
Date: 2019-02-27 07:08:52
Message-ID: CAM9w-_mwUcU4Zb6HH=NDzs2XaXSSnowv922QKmdf_F7uZjwh_w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi Hackers,

Attached is the updated patch. As mentioned earlier, jsonb will be fetched
as text. Only when the pop up editor opens, json-bignumber parser will be
used to prettify.
Kindly review.

On Wed, Feb 27, 2019 at 10:12 AM Aditya Toshniwal <
aditya(dot)toshniwal(at)enterprisedb(dot)com> wrote:

> Hi,
>
> On Tue, Feb 26, 2019 at 8:04 PM Dave Page <dpage(at)pgadmin(dot)org> wrote:
>
>> Hi
>>
>> On Tue, Feb 26, 2019 at 8:55 AM Aditya Toshniwal <
>> aditya(dot)toshniwal(at)enterprisedb(dot)com> wrote:
>>
>>> Hi Hackers,
>>>
>>> Attached is the patch to fix incorrect rendering of bigint in jsonb.
>>> The problem is in javascript limitations with big numbers. For fixing,
>>> jsonb data will be fetched as string now, similar to json, so that JS will
>>> not consider big numbers as number. The only drawback here is that, the
>>> popup editor will not show formatted json, as that requires JSON.parse
>>> which will change the big numbers.
>>>
>>> Kindly review.
>>>
>>> Below is sample data for testing:
>>> CREATE TABLE public.tab_jsonbigint
>>> (
>>> id integer NOT NULL PRIMARY KEY,
>>> coljsonb jsonb
>>> )
>>>
>>> insert into tab_jsonbigint(id, coljsonb) values(3,'[{"a":
>>> 83136002445762248}, {"a": 831360024457622448}]');
>>>
>>> select d.*, t.coljsonb from tab_jsonbigint t,
>>> jsonb_to_recordset(t.coljsonb) as d("a" bigint);
>>>
>>
>> Hmm, that's unfortunate.
>>
>> What about using json-bignumber?
>>
> Had thought of using json-bigint similar to json-bignumber, but the
> question is, do we need add extra overhead of using library for the grid
> cells?
> However, we can use json-big* library only editor pop up and just use
> plain text when in grid cells.
> Will send a updated patch with json-big*.
>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>
>
> --
> Thanks and Regards,
> Aditya Toshniwal
> Software Engineer | EnterpriseDB Software Solutions | Pune
> "Don't Complain about Heat, Plant a tree"
>

--
Thanks and Regards,
Aditya Toshniwal
Software Engineer | EnterpriseDB Software Solutions | Pune
"Don't Complain about Heat, Plant a tree"

Attachment Content-Type Size
RM3587_v2.patch application/octet-stream 4.9 KB

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Akshay Joshi 2019-02-27 07:49:43 [pgAdmin4][Patch]: RM #3933 Error dropping database pop up message displayed if user try to drop any database with Arabic character with non super user
Previous Message Khushboo Vashi 2019-02-27 05:52:15 Re: Result grid rendering (was: Re: [pgAdmin4][Pattch] - RM #3673 - "Download as .csv" F8 does NOT work when one of joined files is a TEMPORARY file)