Re: [pgadmin-hackers] 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: Joao Pedro De Almeida Pereira <jdealmeidapereira(at)pivotal(dot)io>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>, Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>, Harshal Dhumal <harshal(dot)dhumal(at)enterprisedb(dot)com>, Robert Eckhardt <reckhardt(at)pivotal(dot)io>, Shirley Wang <swang(at)pivotal(dot)io>
Subject: Re: [pgadmin-hackers] Re: Server side cursor limitations for on demand loading of data in query tool [RM2137] [pgAdmin4]
Date: 2017-06-27 21:13:11
Message-ID: CA+OCxowbL8ERrRcpcXj6TkcXRNDoZukZfKp4AraPBzBW9=j_xg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Harshal, can you look at these comments please, and patch as appropriate?

On Tue, Jun 27, 2017 at 5:03 PM, Joao Pedro De Almeida Pereira <
jdealmeidapereira(at)pivotal(dot)io> wrote:

> Hello Hackers,
>
> When we started the app we noticed some change in the front end.
>
> The line numbers in the Editor:
> - We noticed a bug with the numbers where at 10000 rows, the numbers would
> be cut off.
> - When the row is selected the color of the text should be white
> - Centering the number column would differentiate it from the rest of the
> table and prevent any confusion
> [image: Inline image 1]
>
> Select all triangle:
> - This seems to have shifted up and to the left slightly.
>
> While editing data, when you paste a new row, that line should come into
> view.
>
> Issue in the code:
> - In sqleditor/command.py:473 the variable `column_data` is not
> initialized
>
>
>
> We were looking into the menu's to access and Edit Data editor, and we
> noticed that in the menu it is still called "View Data". We are aware that
> this change was not introduced in this patch, but we just noticed it. It
> should be consistent.
> [image: Inline image 4]
>
>
> Thanks
> Shirley & Joao
>
>
> On Tue, Jun 27, 2017 at 12:19 PM, Robert Eckhardt <reckhardt(at)pivotal(dot)io>
> wrote:
>
>>
>>
>> On Tue, Jun 27, 2017 at 12:16 PM, Khushboo Vashi <
>> khushboo(dot)vashi(at)enterprisedb(dot)com> wrote:
>>
>>>
>>>
>>> On 27 Jun 2017 18:33, "Dave Page" <dpage(at)pgadmin(dot)org> wrote:
>>>
>>> Thanks - patch committed!
>>>
>>> Awsome job :-)
>>>
>>> Gr8. Finally no more rebase request for Harshal. :)
>>>
>>
>> +1
>>
>>
>>> On Tue, Jun 27, 2017 at 3:26 AM, Harshal Dhumal <
>>> harshal(dot)dhumal(at)enterprisedb(dot)com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Please find rebased patch.
>>>>
>>>> --
>>>> *Harshal Dhumal*
>>>> *Sr. Software Engineer*
>>>>
>>>> EnterpriseDB India: http://www.enterprisedb.com
>>>> The Enterprise PostgreSQL Company
>>>>
>>>> On Mon, Jun 26, 2017 at 5:24 PM, Harshal Dhumal <
>>>> harshal(dot)dhumal(at)enterprisedb(dot)com> wrote:
>>>>
>>>>> yes i'm working on that only :)
>>>>>
>>>>>
>>>>> --
>>>>> *Harshal Dhumal*
>>>>> *Sr. Software Engineer*
>>>>>
>>>>> EnterpriseDB India: http://www.enterprisedb.com
>>>>> The Enterprise PostgreSQL Company
>>>>>
>>>>> On Mon, Jun 26, 2017 at 5:22 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>>>>
>>>>>> I'm sorry, it needs rebasing again. If you can do it quickly, I'll
>>>>>> make sure it's the next patch I work on in that area.
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> On Mon, Jun 26, 2017 at 5:16 AM, Harshal Dhumal
>>>>>> <harshal(dot)dhumal(at)enterprisedb(dot)com> wrote:
>>>>>> > Hi Dave,
>>>>>> >
>>>>>> > Please find updated rebased patch for RM2137
>>>>>> >
>>>>>> > On Fri, Jun 23, 2017 at 9:00 PM, Dave Page <dpage(at)pgadmin(dot)org>
>>>>>> wrote:
>>>>>> >>
>>>>>> >> Hi Harshal,
>>>>>> >>
>>>>>> >> When can we expect an updated version of this patch? I think it's
>>>>>> >> important to get this into the next release.
>>>>>> >>
>>>>>> >> Thanks!
>>>>>> >>
>>>>>> >> On Fri, Jun 16, 2017 at 10:55 AM, Dave Page <dpage(at)pgadmin(dot)org>
>>>>>> wrote:
>>>>>> >> > Hi,
>>>>>> >> >
>>>>>> >> > That's better - the failures are far less random now :-). I got
>>>>>> the
>>>>>> >> > following two though, on both PG and EPAS 9.5:
>>>>>> >> >
>>>>>> >> > ============================================================
>>>>>> ==========
>>>>>> >> > 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_t
>>>>>> ool_tests.py",
>>>>>> >> > line 95, in runTest
>>>>>> >> > self._query_tool_explain_analyze_buffers()
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_t
>>>>>> ool_tests.py",
>>>>>> >> > line 443, in _query_tool_explain_analyze_buffers
>>>>>> >> > canvas.find_element_by_xpath("//*[contains(string(),
>>>>>> 'Shared Read
>>>>>> >> > Blocks')]")
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
>>>>>> ges/selenium/webdriver/remote/webelement.py",
>>>>>> >> > line 260, in find_element_by_xpath
>>>>>> >> > return self.find_element(by=By.XPATH, value=xpath)
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
>>>>>> ges/selenium/webdriver/remote/webelement.py",
>>>>>> >> > line 508, in find_element
>>>>>> >> > {"using": by, "value": value})['value']
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
>>>>>> ges/selenium/webdriver/remote/webelement.py",
>>>>>> >> > line 491, in _execute
>>>>>> >> > return self._parent.execute(command, params)
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
>>>>>> ges/selenium/webdriver/remote/webdriver.py",
>>>>>> >> > line 238, in execute
>>>>>> >> > self.error_handler.check_response(response)
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
>>>>>> ges/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":"//*[contains(string(),
>>>>>> 'Shared
>>>>>> >> > Read Blocks')]"}
>>>>>> >> > (Session info: chrome=58.0.3029.110)
>>>>>> >> > (Driver info: chromedriver=2.29.461585
>>>>>> >> > (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X
>>>>>> 10.12.3
>>>>>> >> > x86_64)
>>>>>> >> >
>>>>>> >> >
>>>>>> >> > ============================================================
>>>>>> ==========
>>>>>> >> > ERROR: runTest
>>>>>> >> > (pgadmin.feature_tests.view_data_dml_queries.CheckForViewDat
>>>>>> aTest)
>>>>>> >> > Validate Insert, Update operations in View data with given test
>>>>>> data
>>>>>> >> > ------------------------------------------------------------
>>>>>> ----------
>>>>>> >> > Traceback (most recent call last):
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/view_da
>>>>>> ta_dml_queries.py",
>>>>>> >> > line 104, in runTest
>>>>>> >> > self._add_row()
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/view_da
>>>>>> ta_dml_queries.py",
>>>>>> >> > line 255, in _add_row
>>>>>> >> > self._update_cell(cell_xpath, config_data[str(idx)])
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/view_da
>>>>>> ta_dml_queries.py",
>>>>>> >> > line 164, in _update_cell
>>>>>> >> > cell_el = self.page.find_by_xpath(xpath)
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgad
>>>>>> min_page.py",
>>>>>> >> > line 122, in find_by_xpath
>>>>>> >> > return self.wait_for_element(lambda driver:
>>>>>> >> > driver.find_element_by_xpath(xpath))
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgad
>>>>>> min_page.py",
>>>>>> >> > line 205, in wait_for_element
>>>>>> >> > return self._wait_for("element to exist",
>>>>>> element_if_it_exists)
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgad
>>>>>> min_page.py",
>>>>>> >> > line 255, in _wait_for
>>>>>> >> > "Timed out waiting for " + waiting_for_message)
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
>>>>>> ges/selenium/webdriver/support/wait.py",
>>>>>> >> > line 71, in until
>>>>>> >> > value = method(self._driver)
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgad
>>>>>> min_page.py",
>>>>>> >> > line 200, in element_if_it_exists
>>>>>> >> > if element.is_displayed() and element.is_enabled():
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
>>>>>> ges/selenium/webdriver/remote/webelement.py",
>>>>>> >> > line 358, in is_displayed
>>>>>> >> > return self._execute(Command.IS_ELEMENT_DISPLAYED)['value']
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
>>>>>> ges/selenium/webdriver/remote/webelement.py",
>>>>>> >> > line 491, in _execute
>>>>>> >> > return self._parent.execute(command, params)
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
>>>>>> ges/selenium/webdriver/remote/webdriver.py",
>>>>>> >> > line 238, in execute
>>>>>> >> > self.error_handler.check_response(response)
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packa
>>>>>> ges/selenium/webdriver/remote/errorhandler.py",
>>>>>> >> > line 193, in check_response
>>>>>> >> > raise exception_class(message, screen, stacktrace)
>>>>>> >> > StaleElementReferenceException: Message: stale element
>>>>>> reference:
>>>>>> >> > element is not attached to the page document
>>>>>> >> > (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 my feature test cases for any database server
>>>>>> version/type (PG,
>>>>>> > EPAS) specific failures and I found that test cases are working
>>>>>> fine on all
>>>>>> > of them. However I have slightly modified test case to overcome
>>>>>> above
>>>>>> > mentioned failures.
>>>>>> >
>>>>>> >>
>>>>>> >> >
>>>>>> >> > On 9.4 everything passes. On 9.6, I get one failure:
>>>>>> >> >
>>>>>> >> > ============================================================
>>>>>> ==========
>>>>>> >> > FAIL: runTest
>>>>>> >> > (pgadmin.feature_tests.view_data_dml_queries.CheckForViewDat
>>>>>> aTest)
>>>>>> >> > Validate Insert, Update operations in View data with given test
>>>>>> data
>>>>>> >> > ------------------------------------------------------------
>>>>>> ----------
>>>>>> >> > Traceback (most recent call last):
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/view_da
>>>>>> ta_dml_queries.py",
>>>>>> >> > line 105, in runTest
>>>>>> >> > self._verify_row_data(True)
>>>>>> >> > File
>>>>>> >> > "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/view_da
>>>>>> ta_dml_queries.py",
>>>>>> >> > line 282, in _verify_row_data
>>>>>> >> > self.assertEquals(cells[idx], config_data[str(idx)][1])
>>>>>> >> > AssertionError: u'[default]' != u'1'
>>>>>> >> > - [default]
>>>>>> >> > + 1
>>>>>> >> >
>>>>>> >
>>>>>> > I guess Khushboo has fixed this recently.
>>>>>> >
>>>>>> >
>>>>>> >>
>>>>>> >> > Screenshots attached.
>>>>>> >> >
>>>>>> >> > On Fri, Jun 16, 2017 at 7:54 AM, Harshal Dhumal
>>>>>> >> > <harshal(dot)dhumal(at)enterprisedb(dot)com> wrote:
>>>>>> >> >> Hi Dave,
>>>>>> >> >>
>>>>>> >> >> Please find attached patch where I have added timeout of 2
>>>>>> seconds
>>>>>> >> >> before
>>>>>> >> >> selecting object menu in connect to server function.
>>>>>> >> >>
>>>>>> >> >> Note: Apply this patch on top of previous patch for on demand
>>>>>> loading
>>>>>> >> >> feature.
>>>>>> >> >>
>>>>>> >> >>
>>>>>> >> >> --
>>>>>> >> >> Harshal Dhumal
>>>>>> >> >> Sr. Software Engineer
>>>>>> >> >>
>>>>>> >> >> EnterpriseDB India: http://www.enterprisedb.com
>>>>>> >> >> The Enterprise PostgreSQL Company
>>>>>> >> >>
>>>>>> >> >> On Fri, Jun 16, 2017 at 2:25 AM, Dave Page <dpage(at)pgadmin(dot)org>
>>>>>> wrote:
>>>>>> >> >>>
>>>>>> >> >>> Sounds good, thanks.
>>>>>> >> >>>
>>>>>> >> >>> On Thu, Jun 15, 2017 at 9:54 PM, Harshal Dhumal
>>>>>> >> >>> <harshal(dot)dhumal(at)enterprisedb(dot)com> wrote:
>>>>>> >> >>> > Hi
>>>>>> >> >>> >
>>>>>> >> >>> > On Fri, Jun 16, 2017 at 2:07 AM, Dave Page <
>>>>>> dpage(at)pgadmin(dot)org>
>>>>>> >> >>> > wrote:
>>>>>> >> >>> >>
>>>>>> >> >>> >> Hi
>>>>>> >> >>> >>
>>>>>> >> >>> >> On Thu, Jun 15, 2017 at 9:30 PM, Harshal Dhumal
>>>>>> >> >>> >> <harshal(dot)dhumal(at)enterprisedb(dot)com> wrote:
>>>>>> >> >>> >> > Hi Dave,
>>>>>> >> >>> >> >
>>>>>> >> >>> >> > Please find attached updated patch.
>>>>>> >> >>> >> >
>>>>>> >> >>> >> > On Thu, Jun 15, 2017 at 3:58 PM, Dave Page <
>>>>>> dpage(at)pgadmin(dot)org>
>>>>>> >> >>> >> > wrote:
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >> 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.
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> > 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_t
>>>>>> ool_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/pga
>>>>>> dmin4/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/pga
>>>>>> dmin4/lib/python2.7/site-packages/selenium/webdriver/remote/
>>>>>> webdriver.py",
>>>>>> >> >>> >> >> line 756, in find_element
>>>>>> >> >>> >> >> 'value': value})['value']
>>>>>> >> >>> >> >> File
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >> "/Users/dpage/.virtualenvs/pga
>>>>>> dmin4/lib/python2.7/site-packages/selenium/webdriver/remote/
>>>>>> webdriver.py",
>>>>>> >> >>> >> >> line 238, in execute
>>>>>> >> >>> >> >> self.error_handler.check_response(response)
>>>>>> >> >>> >> >> File
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >> "/Users/dpage/.virtualenvs/pga
>>>>>> dmin4/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.
>>>>>> >> >>> >
>>>>>> >> >>> >
>>>>>> >> >>> > OK. In that case let's try putting 1-2 second delay and
>>>>>> observer
>>>>>> >> >>> > behaviour.
>>>>>> >> >>> > I'll send separate patch for this tomorrow as this is not
>>>>>> related to
>>>>>> >> >>> > on
>>>>>> >> >>> > demand query result feature or its test cases.
>>>>>> >> >>> >
>>>>>> >> >>> >>
>>>>>> >> >>> >>
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >> ==============================
>>>>>> ========================================
>>>>>> >> >>> >> >> ERROR: runTest
>>>>>> >> >>> >> >> (pgadmin.feature_tests.query_t
>>>>>> ool_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/pga
>>>>>> dmin4/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/pga
>>>>>> dmin4/lib/python2.7/site-packages/selenium/webdriver/remote/
>>>>>> webdriver.py",
>>>>>> >> >>> >> >> line 756, in find_element
>>>>>> >> >>> >> >> 'value': value})['value']
>>>>>> >> >>> >> >> File
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >> "/Users/dpage/.virtualenvs/pga
>>>>>> dmin4/lib/python2.7/site-packages/selenium/webdriver/remote/
>>>>>> webdriver.py",
>>>>>> >> >>> >> >> line 238, in execute
>>>>>> >> >>> >> >> self.error_handler.check_response(response)
>>>>>> >> >>> >> >> File
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >>
>>>>>> >> >>> >> >> "/Users/dpage/.virtualenvs/pga
>>>>>> dmin4/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_t
>>>>>> ool_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_t
>>>>>> ool_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
>>>>>> >> >>> >
>>>>>> >> >>> >
>>>>>> >> >>>
>>>>>> >> >>>
>>>>>> >> >>>
>>>>>> >> >>> --
>>>>>> >> >>> 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
>>>>>> >>
>>>>>> >>
>>>>>> >>
>>>>>> >> --
>>>>>> >> 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
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> 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

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Robert Eckhardt 2017-06-27 21:18:29 Re: [pgadmin-hackers] Re: Server side cursor limitations for on demand loading of data in query tool [RM2137] [pgAdmin4]
Previous Message Dave Page 2017-06-27 21:10:52 Re: [pgAdmin4][Patch] To add preferences for brace matching and auto brace closing