Re: Re: Server side cursor limitations for on demand loading of data in query tool [RM2137] [pgAdmin4]

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Harshal Dhumal <harshal(dot)dhumal(at)enterprisedb(dot)com>
Cc: Harshal Dhumal <harshaldhumal15(at)gmail(dot)com>, Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: Re: Server side cursor limitations for on demand loading of data in query tool [RM2137] [pgAdmin4]
Date: 2017-06-15 10:28:23
Message-ID: CA+OCxoz=hJpzbca9kwMesf+K2axYLaa_s7bThmnQh2WQHL0SmQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi

On Wed, Jun 14, 2017 at 11:36 PM, Harshal Dhumal <
harshal(dot)dhumal(at)enterprisedb(dot)com> 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.

- 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)

and

======================================================================
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)

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
--------

Thanks!

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

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

Attachment Content-Type Size
QueryToolFeatureTest-2017.06.15_11.15.56-Python-2.7.10.png image/png 139.5 KB
QueryToolFeatureTest-2017.06.15_11.10.19-Python-2.7.10.png image/png 153.5 KB

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2017-06-15 10:32:28 Re: [pgAdmin4][PATCH] Improvements to Query Results Grid User Experience
Previous Message Akshay Joshi 2017-06-15 09:12:45 Re: Declarative partitioning in pgAdmin4