Re: [pgAdmin4][patch][runtime]: RM#2829, RM#2491 - pgAdmin4 crasheswhile saving CSV data from Query tool - Mailing list pgadmin-hackers

From Dave Page
Subject Re: [pgAdmin4][patch][runtime]: RM#2829, RM#2491 - pgAdmin4 crasheswhile saving CSV data from Query tool
Date
Msg-id CA+OCxozZ8puUPF3zcO44fUA-4m2d9mqUHiT1a9HuC8Lk=nWyMw@mail.gmail.com
Whole thread Raw
In response to Re: [pgAdmin4][patch][runtime]: RM#2829, RM#2491 - pgAdmin4 crasheswhile saving CSV data from Query tool  (Neel Patel <neel.patel@enterprisedb.com>)
Responses Re: [pgAdmin4][patch][runtime]: RM#2829, RM#2491 - pgAdmin4 crasheswhile saving CSV data from Query tool  (Neel Patel <neel.patel@enterprisedb.com>)
List pgadmin-hackers
Hi

On Thu, Nov 16, 2017 at 1:47 PM, Neel Patel <neel.patel@enterprisedb.com> wrote:
Hi,

Adding information.

With this patch, RM#2715 should also be resolved.

Thanks,
Neel Patel

On Thu, Nov 16, 2017 at 7:01 PM, Neel Patel <neel.patel@enterprisedb.com> wrote:
Hi,

I am able to reproduce the crash while downloading and save data in CSV file from query tool. 

Please find attached updated patch with below changes after reading Qt documentation.
  • Added new signal "readyRead". As per the Qt documentation, this signal will be emitted when data is ready from IO channel for large amount of data transfer between server and client.
  • Ready read and DownloadInProgress signal is very quick in call so we should not do large operation inside that slot because for downloading big data it may possible of frequent call of those signals which may cause the crash or missing data to write inside the file so removed unnecessary logic from that slot.
  • Fixed the crash while opening IODevice with NULL handle.
With above changes, I have tested with same data as earlier and it is working as expected without crashing the application.

Do review it and let me know for comments.

My first test was on Mac using Qt 5.8 with webkit, and when I attempted to download the results from a 300K row query, it basically hung showing the Downloading File progress indicator. It let me cancel it and carried on working, but hung again the next time I tried the CSV download. Each time it seems to download some data - from the same query I've seen 2.8MB, 5.1MB and 1.5MB.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: Re: [pgAdmin4][Patch]: To upgrade Selenium
Next
From: Khushboo Vashi
Date:
Subject: Re: [pgAdmin4][Patch]: RM #2781 - New option to set the quotationmark for copying to clipboard.