Subject: Regarding issue #6510

From: Pravesh Sharma <[email-masked]>
Date: Tue, 20 May 2025 10:46:07 +0530

Hi Hackers,

I am working on issue #6510
<https://github.com/pgadmin-org/pgadmin4/issues/6510>, where the result
grid slows down and sometimes hangs when large JSON or text data is present
in a table column. Upon investigation, I found that this is due to
rendering the entire JSON to the DOM. This causes slowness, especially with
large datasets; for example, rendering a 15MB JSON object for preview
purposes is unnecessary. I am proposing a solution where the result grid
will render data up to a certain length. I have implemented these changes,
and everything is working fine, resulting in a significant performance
improvement. As you can see in the screenshot, the JSON data is 20MB, and
on the result grid, we are displaying only 200 characters as it is only a
preview. I am also considering making this maximum display length a user
preference, named "Max column data display length," allowing them to
customize how much data they want to see. Can you tell me what you think of
this approach or if you have any suggestions?

Thanks,

Pravesh

-- 

Pravesh Sharma

Senior SDE

+91 9406461406

enterprisedb.com

---

From: Usman Khan <[email-masked]>
Date: Tue, 20 May 2025 20:37:46 +0500

Hi Pravesh,
Nice idea from your side but my concern is:

   - If the user increases this limit to 1GB(which is a maximum size for a
   column in pg) through the *'Max column data display length'* option,
   will the function not break again?

---

From: Zaid Shabbir <[email-masked]>
Date: Tue, 20 May 2025 20:49:29 +0500

Hello Pravesh

Nice implementation. In case someone wants to review the complete JSON, is
there a way to open the contents in a separate window (popup or side
window) on a click event? The entire larger string can be loaded on demand
when the click event is triggered.

Regards,
Zaid

---

From: Pravesh Sharma <[email-masked]>
Date: Wed, 21 May 2025 10:04:20 +0530

Hi Usman,

The length is in the number of characters. So, if a user sets max length
500 then we will show data till 500 characters.

Thanks,
Pravesh

On Tue, May 20, 2025 at 9:08 PM Usman Khan <[email-masked]> wrote:

>    - If the user increases this limit to 1GB(which is a maximum size for
>    a column in pg) through the *'Max column data display length'* option,

---

From: Pravesh Sharma <[email-masked]>
Date: Wed, 21 May 2025 10:05:33 +0530

Hi Zaid,

We do already have that, this implementation is only for data grid when we
click on the cell we can see the entire JSON content.

Thanks,
Pravesh

---

From: Aditya Toshniwal <[email-masked]>
Date: Wed, 21 May 2025 10:56:24 +0530

Hi,

To add what Pravesh mentioned - There is no change in any existing
behaviour. The user can still copy and edit everything as before. The only
change is what is visible on the result grid, which will also be
customisable. Most users will anyway prefer to double click and open to see
the data instead of scrolling horizontally a large column.

On Wed, May 21, 2025 at 10:05 AM Pravesh Sharma <
[email-masked]> wrote:

>> Nice implementation. In case someone wants to review the complete JSON,
>> is there a way to open the contents in a separate window (popup or side

-- 
Thanks,
Aditya Toshniwal
pgAdmin Hacker | Sr. Staff SDE II | *enterprisedb.com*
<https://www.enterprisedb.com/>
"Don't Complain about Heat, Plant a TREE"

---

From: Zaid Shabbir <[email-masked]>
Date: Wed, 21 May 2025 11:46:56 +0500

Hi,

Nice to hear about the implementation. Overall, the grid looks fine to me,
with one minor adjustment related to the value JSONB default column width:
I suggest reducing the  *default width* to approximately half its current
size, since—if someone wants to view the full JSON—they can simply
double-click to expand it. In this scenario, a very wide column looks bulky
on the screen.

Regards,
Zaid

On Wed, May 21, 2025 at 10:27 AM Aditya Toshniwal <
[email-masked]> wrote:

>> We do already have that, this implementation is only for data grid when
>> we click on the cell we can see the entire JSON content.
>>
>> Thanks,
>> Pravesh
>>
>>>> <https://github.com/pgadmin-org/pgadmin4/issues/6510>, where the
>>>> result grid slows down and sometimes hangs when large JSON or text data is
>>>> present in a table column. Upon investigation, I found that this is due to