Hi,

Please find attached patch for RM2522.

With this patch grid/column select all time is reduce to ~1 second from
8-10 seconds.

The solution was to use simple array concatenation instead of underscore
union while getting index of all selected complete rows.
Underscore union function is only useful when user selects different ranges
from grid and those ranges overlaps. In this case union function removes
duplicate (overlapped) rows.
However result grid in sqleditor do not support overlapped row selection so
we can simply cancat rows from different ranges without worrying about
overlapped row selection.



-- 
*Harshal Dhumal*
*Sr. Software Engineer*

EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
diff --git a/web/pgadmin/static/js/selection/range_selection_helper.js b/web/pgadmin/static/js/selection/range_selection_helper.js
index 25cd63c..4442f2c 100644
--- a/web/pgadmin/static/js/selection/range_selection_helper.js
+++ b/web/pgadmin/static/js/selection/range_selection_helper.js
@@ -94,7 +94,7 @@ define(['slickgrid'], function () {
     var indexArray = [];
     ranges.forEach(function (range) {
       if (rangeHasCompleteRows(grid, range))
-        indexArray = _.union(indexArray, _.range(range.fromRow, range.toRow + 1));
+        indexArray = indexArray.concat(_.range(range.fromRow, range.toRow + 1));
     });
 
     return indexArray;

Reply via email to