Hi Dave On Thu, Jun 16, 2016 at 2:42 PM, Akshay Joshi <akshay.jo...@enterprisedb.com > wrote:
> > > On Thu, Jun 16, 2016 at 2:35 PM, Dave Page <dp...@pgadmin.org> wrote: > >> Thanks, patch applied. >> >> However, whilst I was testing, I saw just how slow the tool is: >> >> SELECT * FROM pg_attribute >> >> In a PEM database, returns 8150 rows. In pgAdmin 3, this is timed at >> 676ms on my laptop. In pgAdmin 4, the busy spinner runs for approx 5 >> seconds, then the whole UI freezes. I then have to wait a further 3 minutes >> and 46 seconds(!!!!) for the operation to complete. Once loaded, scrolling >> is very sluggish. >> >> Please make this your top priority - and if you have incremental >> improvements, send them as you have them. >> > > Sure. > Below is my initial finding while running "SELECT * FROM pg_attribute" on PEM database, returns 8498 rows: - Fetching data from the server side took consistent time and it took 3-4 secs. - Create/Render Backgrid without pagination : *1 minute* - Create/Render Backgrid with pagination (50 items per page): *469ms* - Create/Render Backgrid with pagination (500 items per page): *3 secs* - Create/Render Backgrid with pagination (1000 items per page): *6 secs* - Create/Render Backgrid with pagination (3000 items per page): *22 secs* - Create/Render Backgrid with pagination (5000 items per page): *36 secs* >> On Wed, Jun 15, 2016 at 4:50 PM, Akshay Joshi < >> akshay.jo...@enterprisedb.com> wrote: >> >>> Hi >>> >>> Please ignore the last patch. Attached is the latest patch. Please >>> review it. >>> >>> On Wed, Jun 15, 2016 at 9:10 PM, Akshay Joshi < >>> akshay.jo...@enterprisedb.com> wrote: >>> >>>> Hi >>>> >>>> On Wed, Jun 15, 2016 at 5:54 PM, Dave Page <dp...@pgadmin.org> wrote: >>>> >>>>> >>>>> >>>>> On Wed, Jun 15, 2016 at 1:16 PM, Ashesh Vashi < >>>>> ashesh.va...@enterprisedb.com> wrote: >>>>> >>>>>> On Wed, Jun 15, 2016 at 5:44 PM, Akshay Joshi < >>>>>> akshay.jo...@enterprisedb.com> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Jun 15, 2016 at 5:25 PM, Dave Page <dp...@pgadmin.org> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi >>>>>>>> >>>>>>>> On Wed, Jun 15, 2016 at 11:27 AM, Akshay Joshi < >>>>>>>> akshay.jo...@enterprisedb.com> wrote: >>>>>>>> >>>>>>>>> Hi >>>>>>>>> >>>>>>>>> I have fixed RM #1356 "Query tool enhancement". I have added the >>>>>>>>> logic to preferences which checks the min/max value before setting >>>>>>>>> it. If >>>>>>>>> value given by user is less than min value then set it to min value >>>>>>>>> and if >>>>>>>>> value is greater then max value then set it to max value. >>>>>>>>> >>>>>>>>> For "items_per_page" minimum value is 1. Attached is the patch >>>>>>>>> file. Please review it. >>>>>>>>> >>>>>>>> >>>>>>>> That doesn't do what I asked for though. A value of zero should be >>>>>>>> acceptable (I did say <= 0, but = 0 is probably better), and mean >>>>>>>> 'disable >>>>>>>> paging' (i.e. display unlimited rows, and completely hide the paging >>>>>>>> controls). From the ticket: >>>>>>>> >>>>>>>> 1) If "Items per page in grid" <= 0, then never page results. Add a >>>>>>>> note to that effect on the Preferences pane, and make zero the default >>>>>>>> value. >>>>>>>> >>>>>>>> The patch does appear to implement: >>>>>>>> >>>>>>> >>>>>>> Backbone's Pageble Collection don't allow Zero value. Below is >>>>>>> the check present in "backbone.paginator.js" file: >>>>>>> >>>>>>> if (pageSize < 1) { >>>>>>> throw new RangeError("`pageSize` must be >= 1"); >>>>>>> } >>>>>>> >>>>>> We can avoid using the Pageable Collection in our code, when pageSize >>>>>> is <= 0 to fix the issue. >>>>>> >>>>> >>>>> Exactly. The entire point of the change is to default to not paging at >>>>> all. >>>>> >>>>> BTW, this may be helpful (also missed from the original patch): >>>>> >>>>> help_str=gettext('The number of rows to display per page in the >>>>> results grid. A value of 0 will disable paging.'), >>>>> >>>> >>>> Fixed above as per suggestion. Attached is the modified patch file. >>>> Please review it. >>>> >>>>> >>>>> -- >>>>> Dave Page >>>>> Blog: http://pgsnake.blogspot.com >>>>> Twitter: @pgsnake >>>>> >>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>> The Enterprise PostgreSQL Company >>>>> >>>> >>>> >>>> >>>> -- >>>> *Akshay Joshi* >>>> *Principal Software Engineer * >>>> >>>> >>>> >>>> *Phone: +91 20-3058-9517 <%2B91%2020-3058-9517>Mobile: +91 976-788-8246* >>>> >>> >>> >>> >>> -- >>> *Akshay Joshi* >>> *Principal Software Engineer * >>> >>> >>> >>> *Phone: +91 20-3058-9517 <%2B91%2020-3058-9517>Mobile: +91 976-788-8246* >>> >> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > > > -- > *Akshay Joshi* > *Principal Software Engineer * > > > > *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* > -- *Akshay Joshi* *Principal Software Engineer * *Phone: +91 20-3058-9517Mobile: +91 976-788-8246*