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

From: Harshal Dhumal <harshal(dot)dhumal(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: Joao Pedro De Almeida Pereira <jdealmeidapereira(at)pivotal(dot)io>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>, Ashesh Vashi <ashesh(dot)vashi(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-28 11:04:10
Message-ID: CAFiP3vy97bdt7=tA4ZVdYVbBtbhfohOyZz9J5R8WOy4JMjCVFQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi,

Please find attached patch to fix minor issues/improvements suggested.

On Wed, Jun 28, 2017 at 2:43 AM, Dave Page <dpage(at)pgadmin(dot)org> wrote:

> 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.
>>
> No. Row number column automatically adjust its width depending on maximum
row count to be shown. (see attached screenshot )

[image: Inline image 1]

> - When the row is selected the color of the text should be white
>>
> Fixed

> - Centering the number column would differentiate it from the rest of the
>> table and prevent any confusion
>>
>
Fixed.

>
>>
>> Select all triangle:
>> - This seems to have shifted up and to the left slightly.
>>
> Fixed alignment.

>
>> While editing data, when you paste a new row, that line should come into
>> view.
>>
> Fixed.

>
>> Issue in the code:
>> - In sqleditor/command.py:473 the variable `column_data` is not
>> initialized
>>
> Fixed.

>
>>
>>
>> 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.
>>
> Fixed. (see attached screenshot)

[image: Inline image 2]

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

Attachment Content-Type Size
RM2137_minor_issue_fixes.patch text/x-patch 5.7 KB

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Khushboo Vashi 2017-06-28 12:50:43 [pgAdmin4][Patch]: Fixed RM #2489: Copy from the results grid is extremely slow and fails with large datasets
Previous Message Khushboo Vashi 2017-06-28 04:19:11 Re: crypto.py bug on server add form (button save) with python 3.5 - Can't convert 'bytes' object to str implicitly