Re: [pgAdmin4][Pattch] - RM #3673 - "Download as .csv" F8 does NOTwork when one of joined files is a TEMPORARY file

Поиск
Список
Период
Сортировка
От Dave Page
Тема Re: [pgAdmin4][Pattch] - RM #3673 - "Download as .csv" F8 does NOTwork when one of joined files is a TEMPORARY file
Дата
Msg-id CA+OCxoxC_GkDM08TJok0g57VT8fyHr+_XpO0qdR6LPtaY0xkog@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [pgAdmin4][Pattch] - RM #3673 - "Download as .csv" F8 does NOTwork when one of joined files is a TEMPORARY file  (Khushboo Vashi <khushboo.vashi@enterprisedb.com>)
Ответы Re: [pgAdmin4][Pattch] - RM #3673 - "Download as .csv" F8 does NOTwork when one of joined files is a TEMPORARY file  (Khushboo Vashi <khushboo.vashi@enterprisedb.com>)
Список pgadmin-hackers
Hi

I did some testing with this and found a couple of issues:

- The toolbar isn't set correctly when the query is running. I can still use buttons to modify the query for example (like indent selection), and the cancel button is not enabled.

- I ran a very large query which generated millions of rows. It took a few minutes to run before rendering the grid, but I killed it after 20 minutes or so when generating CSV. Is that because it's getting the entire resultset to generate the CSV before downloading it, but with normal output, it completes when it has enough data to display one batch of rows?

Also, the result grid seems to only be rendering itself to use about 50% of the available vertical height now. Is that something messed up on my system, or are you seeing it as well?

Thanks.


On Tue, Feb 19, 2019 at 5:39 AM Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:
Hi Dave,

On Mon, Feb 18, 2019 at 4:49 PM Dave Page <dpage@pgadmin.org> wrote:
On Mon, Feb 18, 2019 at 10:51 AM Khushboo Vashi
<khushboo.vashi@enterprisedb.com> wrote:
>
>
>
> On Mon, Feb 18, 2019 at 3:08 PM Dave Page <dpage@pgadmin.org> wrote:
>>
>> On Mon, Feb 18, 2019 at 9:08 AM Khushboo Vashi
>> <khushboo.vashi@enterprisedb.com> wrote:
>> >
>> >
>> >
>> > On Thu, Feb 14, 2019 at 4:12 PM Dave Page <dpage@pgadmin.org> wrote:
>> >>
>> >> Hi
>> >>
>> >> On Thu, Feb 14, 2019 at 6:56 AM Khushboo Vashi
>> >> <khushboo.vashi@enterprisedb.com> wrote:
>> >> >
>> >> > Hi,
>> >> >
>> >> > Please find the attached patch to fix the RM #3673 - "Download as .csv" F8 does NOT work when one of joined files is a TEMPORARY file
>> >> >
>> >> > To fix this issue, used the existing query tool connection instead of a new connection to download the CSV file.
>> >>
>> >> That side of it seems to work well, however, I can still attempt to
>> >> execute queries in the tool whilst it's running. We need to display
>> >> the same gray screen with the spinner whilst a CSV download is
>> >> executing as we do when a normal query is executing. We also need to
>> >> ensure the button bar behaves appropriately - e.g. the execute options
>> >> should be disabled, the cancel button should be enabled etc.
>> >>
>> > We use an iframe to download the CSV file. So, after attaching the proper URL to the iframe, the browser handles the download part.
>> > So, the main problem is catching the event after the download completes.
>> >
>> > Any suggestion?
>>
>> We only used the iframe because we wanted to make it run
>> asynchronously didn't we?
>
> Yes, that's right. By using iframe the query tool page remains as it is and side by side we download the file.
> So, now I can think of only one solution, to set a cookie just to verify that the report has been sent to the browser and the connection is now free now.

Are there no examples of people doing something similar on the
internet? Seems like it might be a common problem.

 
I have found 2 ways which are widely used to download the file:

1. Iframe
  - With this option, we can download the file without disturbing the current page which we have implemented, but the drawback is that the download part will be handled by the browser itself, so we can not catch the event where we can disable the query tool buttons and put the loader.
2. Anchor tag with Download attribute with AJAX
  - With this option, we can achieve what we required now. I have attached the patch for the same. One drawback, it is not supported on Safari 10 which is our supported platform. It is supported on Safari 10.1 and above

Or does it even matter once the download has begun?

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

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



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

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

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Dave Page
Дата:
Сообщение: Re: [Patch]: Minor change in dependency_inventory file to generatelibrary file
Следующее
От: Andrey Klychkov
Дата:
Сообщение: PGAdmin 4 don't refresh server info after restarting