Thread: Regarding issue #6510

Regarding issue #6510

From
Pravesh Sharma
Date:
Hi Hackers,

I am working on issue #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


image.png
--


Pravesh Sharma

Senior SDE

+91 9406461406


enterprisedb.com

Attachment

Re: Regarding issue #6510

From
Zaid Shabbir
Date:
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

On Tue, May 20, 2025 at 10:16 AM Pravesh Sharma <pravesh.sharma@enterprisedb.com> wrote:
Hi Hackers,

I am working on issue #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


image.png
--


Pravesh Sharma

Senior SDE

+91 9406461406


enterprisedb.com

Attachment

Re: Regarding issue #6510

From
Pravesh Sharma
Date:
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 <umk555@gmail.com> wrote:
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?

On Tue, May 20, 2025 at 10:16 AM Pravesh Sharma <pravesh.sharma@enterprisedb.com> wrote:
Hi Hackers,

I am working on issue #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


image.png
--


Pravesh Sharma

Senior SDE

+91 9406461406


enterprisedb.com

Attachment

Re: Regarding issue #6510

From
Pravesh Sharma
Date:
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

On Tue, May 20, 2025 at 9:19 PM Zaid Shabbir <zaidshabbir@gmail.com> wrote:
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

On Tue, May 20, 2025 at 10:16 AM Pravesh Sharma <pravesh.sharma@enterprisedb.com> wrote:
Hi Hackers,

I am working on issue #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


image.png
--


Pravesh Sharma

Senior SDE

+91 9406461406


enterprisedb.com

Attachment