public inbox for [email protected]  
help / color / mirror / Atom feed
From: Rahul Shirsat <[email protected]>
To: pgadmin-hackers <[email protected]>
Subject: [pgAdmin][patch] RM5555 Wrong displayed row order
Date: Wed, 28 Apr 2021 14:07:12 +0530
Message-ID: <CAKtn9dM0DrORYH7j7p0bnhM_D36gmkhC1M7=tY-gM_6NZm5Xog@mail.gmail.com> (raw)

Hi Hackers,

I was able to partially reproduce the issue, find the image below for your
reference.

[image: Screen Shot 2021-04-28 at 12.40.58 PM.png]

If a user tries clicking the button simultaneously, this issue is rarely
occurring. I don't think so any user will try to click with such a speed
to get the records.

The issue reproduced consists of only partial data displayed in the Data
Output, but was not able to reproduce the wrong sorting order of records.

I have added delays on the execute button so users won't be able to click
the button simultaneously.

-- 
*Rahul Shirsat*
Senior Software Engineer | EnterpriseDB Corporation.


Attachments:

  [image/png] Screen Shot 2021-04-28 at 12.40.58 PM.png (931.3K, 3-Screen%20Shot%202021-04-28%20at%2012.40.58%20PM.png)
  download | view image

  [application/octet-stream] RM5555.patch (1.9K, 4-RM5555.patch)
  download | inline diff:
diff --git a/web/pgadmin/tools/sqleditor/static/js/sqleditor.js b/web/pgadmin/tools/sqleditor/static/js/sqleditor.js
index b5503255c..fa0685fab 100644
--- a/web/pgadmin/tools/sqleditor/static/js/sqleditor.js
+++ b/web/pgadmin/tools/sqleditor/static/js/sqleditor.js
@@ -1417,7 +1417,9 @@ define('tools.querytool', [
       })
         .done(function(res) {
           self.handler.has_more_rows = res.data.has_more_rows;
-          $('#btn-flash').prop('disabled', false);
+          setTimeout(() => {
+            $('#btn-flash').prop('disabled', false);
+          }, 700);
           $('#btn-save-results-to-file').prop('disabled', false);
           self.handler.trigger('pgadmin-sqleditor:loading-icon:hide');
           self.update_grid_data(res.data.result);
@@ -1813,6 +1815,7 @@ define('tools.querytool', [
 
     // Callback function for the flash button click.
     on_flash: function() {
+      $('#btn-flash').prop('disabled', true);
       let data_click_counter = $('#btn-flash').attr('data-click-counter');
       data_click_counter = (parseInt(data_click_counter) + 1)%10;
       $('#btn-flash').attr('data-click-counter', data_click_counter);
@@ -3099,7 +3102,8 @@ define('tools.querytool', [
 
             // Hide the loading icon
             self_col.trigger('pgadmin-sqleditor:loading-icon:hide');
-            $('#btn-flash').prop('disabled', false);
+
+            // Enable/Disable download button based on query result
             if (!_.isUndefined(data) && Array.isArray(data.result) && data.result.length > 0) {
               self.enable_disable_download_btn(false);
             }
@@ -3285,7 +3289,10 @@ define('tools.querytool', [
         }
 
         if (status != 'Busy') {
-          $('#btn-flash').prop('disabled', false);
+          setTimeout(() => {
+            $('#btn-flash').prop('disabled', false);
+          }, 400);
+
           self.trigger('pgadmin-sqleditor:loading-icon:hide');
 
           if(!self.total_time) {


view thread (2+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected]
  Subject: Re: [pgAdmin][patch] RM5555 Wrong displayed row order
  In-Reply-To: <CAKtn9dM0DrORYH7j7p0bnhM_D36gmkhC1M7=tY-gM_6NZm5Xog@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox