Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dLbX0-0000P9-Jv for pgadmin-hackers@arkaria.postgresql.org; Thu, 15 Jun 2017 20:38:18 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dLbX0-0002YV-0A for pgadmin-hackers@arkaria.postgresql.org; Thu, 15 Jun 2017 20:38:18 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dLbWk-0001hQ-Cx for pgadmin-hackers@postgresql.org; Thu, 15 Jun 2017 20:38:02 +0000 Received: from mail-io0-x22f.google.com ([2607:f8b0:4001:c06::22f]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dLbWh-0007QL-GS for pgadmin-hackers@postgresql.org; Thu, 15 Jun 2017 20:38:01 +0000 Received: by mail-io0-x22f.google.com with SMTP id k93so18856130ioi.2 for ; Thu, 15 Jun 2017 13:37:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=X0NafB0aMRAnvfAz9ouCfJHz2vEy/fxBn/qSHSJRRek=; b=b4hO+qoqHCuHa5VFBwZ1NaHu3oReHU3bNMYYytUl8dTZqDvn8ZRJfumjRoR+wYZBZ6 WBHdorr97PpEVcoRkebN6EfJgeBsX8n4oZaehkMroh2WEjGZAE/bFaLAsxL6++tcrirp dsm9EZDvISpPdNtYV/HzjAh3naeKziSxRBhWMkrMuEOocehvG6gM/EKPp73rDQRiIHFA popz6Qygks1wpS80ETyh26SYU8Ij3eMaNjkql3w895twpwb7vDLKrS8fy3m0VqyiV02w Y5JYIKQBAUJaZt47WoGjtKkrHjDx6o+KXp3T97XxV58tyMrchcSYFXPApIMeLHp+FadC X2Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=X0NafB0aMRAnvfAz9ouCfJHz2vEy/fxBn/qSHSJRRek=; b=DhuG5Chek/B3LS6PLx8MTabKwfluJ6KHl1h6EVSeHp+fp/+vgE3ktcXaEFyQJW9n4S Y8gzyVqIHDfmxSsP4haQMdeMr2/jGI2Bwv5Bqoe0FbDlz+g3i8LtjKJMvsBvMvf8YZnJ R1azOLmTI1IUf6lbPsI9D/rXnIgKHn2g1hI8JhYF4XZ2JqlgMr4S2ZoQuuCLzTXzXCQd wpCNjOdMZJvN0wZ1mk1RIuBLIlFHkQrxpn+GEdPc0N1LWlvAcOgyj4IO8i9kXFzdaa0n 8dzojmjk4Xo5QgU27rSvEK7vvx+scOu2JED3TuF6fiX50Jn+g/3CcdijU4CqOc9KXYS6 UC7Q== X-Gm-Message-State: AKS2vOwjMLTCj7XapnIPNxZAM0hms9slwF0N84udI93PilRu2vMIdbVI od3POAavQfxndA2cZ/Vh1EWkZZ4vC44L X-Received: by 10.107.175.95 with SMTP id y92mr7207547ioe.84.1497559078476; Thu, 15 Jun 2017 13:37:58 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.174.168 with HTTP; Thu, 15 Jun 2017 13:37:57 -0700 (PDT) In-Reply-To: References: From: Dave Page Date: Thu, 15 Jun 2017 21:37:57 +0100 Message-ID: Subject: Re: Re: Server side cursor limitations for on demand loading of data in query tool [RM2137] [pgAdmin4] To: Harshal Dhumal Cc: Harshal Dhumal , Ashesh Vashi , pgadmin-hackers Content-Type: text/plain; charset="UTF-8" List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org Hi On Thu, Jun 15, 2017 at 9:30 PM, Harshal Dhumal wrote: > Hi Dave, > > Please find attached updated patch. > > On Thu, Jun 15, 2017 at 3:58 PM, Dave Page wrote: >> >> Hi >> >> On Wed, Jun 14, 2017 at 11:36 PM, Harshal Dhumal >> wrote: >>> >>> Hi Dave, >>> >>> Please find rebased patch for RM2137. >> >> >> Looking very good. The only issues I see are: >> >> - The row headers should auto-size such that they can display the row >> numbers if the last row was displayed. E.g. if there are 12345 rows in >> total, then the row header should be sized to display 5 digits. >> > Fixed. > > >> >> - The tests are comprehensive, which is awesome. However, every time I ran >> them, at least one of the feature tests failed. Unfortunately, it was a >> different one each time. In the last two runs, I got: >> >> ====================================================================== >> ERROR: runTest >> (pgadmin.feature_tests.query_tool_tests.QueryToolFeatureTest) >> Query tool feature test >> ---------------------------------------------------------------------- >> Traceback (most recent call last): >> File >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/base_feature_test.py", >> line 40, in setUp >> self.before() >> File >> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_tests.py", >> line 40, in before >> self._connects_to_server() >> File >> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_tests.py", >> line 144, in _connects_to_server >> self.page.driver.find_element_by_link_text("Create"))\ >> File >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", >> line 319, in find_element_by_link_text >> return self.find_element(by=By.LINK_TEXT, value=link_text) >> File >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", >> line 756, in find_element >> 'value': value})['value'] >> File >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", >> line 238, in execute >> self.error_handler.check_response(response) >> File >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", >> line 193, in check_response >> raise exception_class(message, screen, stacktrace) >> NoSuchElementException: Message: no such element: Unable to locate >> element: {"method":"link text","selector":"Create"} >> (Session info: chrome=58.0.3029.110) >> (Driver info: chromedriver=2.29.461585 >> (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X 10.12.3 x86_64) >> > I checked code from _connects_to_server function which is common in all > features test cases. I didn't find anything wrong with this. If there is a > bug in this function then all feature test must fail. > Let me know if you are getting failure consistently in _connects_to_server > function. I wondered if that one is a race condition. Do we need a short delay before clicking the Object menu? I have seen this occasionally before. >> >> >> ====================================================================== >> ERROR: runTest >> (pgadmin.feature_tests.query_tool_tests.QueryToolFeatureTest) >> Query tool feature test >> ---------------------------------------------------------------------- >> Traceback (most recent call last): >> File >> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_tests.py", >> line 119, in runTest >> self._query_tool_auto_rollback_enabled() >> File >> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_tests.py", >> line 697, in _query_tool_auto_rollback_enabled >> '//div[contains(@class, "sql-editor-message") and contains(string(), >> "COMMIT")]' >> File >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", >> line 295, in find_element_by_xpath >> return self.find_element(by=By.XPATH, value=xpath) >> File >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", >> line 756, in find_element >> 'value': value})['value'] >> File >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", >> line 238, in execute >> self.error_handler.check_response(response) >> File >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", >> line 193, in check_response >> raise exception_class(message, screen, stacktrace) >> NoSuchElementException: Message: no such element: Unable to locate >> element: {"method":"xpath","selector":"//div[contains(@class, >> "sql-editor-message") and contains(string(), "COMMIT")]"} >> (Session info: chrome=58.0.3029.110) >> (Driver info: chromedriver=2.29.461585 >> (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X 10.12.3 x86_64) >> > I have updated Auto rollback enabled test in this patch. > >> >> Relevant screenshots attached. >> >> - Can you tidy up the regression output a little please? Instead of: >> >> ------- >> runTest (pgadmin.feature_tests.query_tool_tests.QueryToolFeatureTest) >> Query tool feature test ... On demand result set on scrolling... >> OK. >> >> On demand result set on grid select all... >> OK. >> >> On demand result set on column select all... >> OK. >> >> Explain query... >> OK. >> >> Explain query with verbose... >> OK. >> >> Explain query with costs... >> OK. >> >> Explain analyze query... >> OK. >> >> Explain analyze query with buffers... >> OK. >> >> Explain analyze query with timing... >> OK. >> >> Auto commit disabled... >> OK. >> >> Auto commit enabled... >> OK. >> >> Auto rollback enabled... >> ERROR >> ------- >> >> Something like: >> >> ------- >> runTest (pgadmin.feature_tests.query_tool_tests.QueryToolFeatureTest) >> Query tool feature test ... >> On demand result set on scrolling... OK. >> On demand result set on grid select all... OK. >> On demand result set on column select all... OK. >> Explain query... OK. >> Explain query with verbose... OK. >> Explain query with costs... OK. >> Explain analyze query... OK. >> Explain analyze query with buffers... OK. >> Explain analyze query with timing... OK. >> Auto commit disabled... OK. >> Auto commit enabled... OK. >> Auto rollback enabled... ERROR >> -------- >> > Fixed. > > >> >> Thanks! >> >> -- >> 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 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers