public inbox for [email protected]
help / color / mirror / Atom feedFrom: Harshal Dhumal <[email protected]>
To: Dave Page <[email protected]>
Cc: Joao Pedro De Almeida Pereira <[email protected]>
Cc: pgadmin-hackers <[email protected]>
Cc: Ashesh Vashi <[email protected]>
Cc: Robert Eckhardt <[email protected]>
Cc: Shirley Wang <[email protected]>
Subject: Re: [pgadmin-hackers] Re: Server side cursor limitations for on demand loading of data in query tool [RM2137] [pgAdmin4]
Date: Wed, 28 Jun 2017 16:34:10 +0530
Message-ID: <CAFiP3vy97bdt7=tA4ZVdYVbBtbhfohOyZz9J5R8WOy4JMjCVFQ@mail.gmail.com> (raw)
In-Reply-To: <CA+OCxowbL8ERrRcpcXj6TkcXRNDoZukZfKp4AraPBzBW9=j_xg@mail.gmail.com>
References: <CAFiP3vxaM9ixpmaM04JAkTT1ONwmnMPwUCbK+kzCN+r6F+7-ZA@mail.gmail.com>
<CA+OCxozb7qDTiskHXv08G5TrCi7zmhR7Csz=x9V4ermehyO8cg@mail.gmail.com>
<CAFiP3vzas6ez9u-snfCuXzb1eL6_aZwAfrb+561sq8V19PT4Eg@mail.gmail.com>
<CA+OCxoy-8RyH-QYxXkLn1KSTUJMArev0ukKpfJx+yvATEyJV+Q@mail.gmail.com>
<CAFiP3vz6_Up4OfSAR4J8C35EzgdApbAiZCeZzzCKxnjwgJMdYQ@mail.gmail.com>
<CAGRPzo_KmDF=ThGC9hy6JepsxBn23nuXkamJBQgT6eOFh0p1pg@mail.gmail.com>
<CAFiP3vwYLTLXX5EFPzE_s-0ucQikDERp_iS+4Neb1JN-sHfG9A@mail.gmail.com>
<CAFiP3vxvFMHv=yEOXcbxi9YABtTwOk3Feci92YMA4_9Fcp-4mA@mail.gmail.com>
<CAFiP3vzj2HBjau+N5TN+Asb_7DW6zgmPrzJf0rmd_H0NJ3Sttg@mail.gmail.com>
<CAE+jjamhZ27XJ2ZHGRgpsL0yUUOawDhiMXoxfB-bRCu=M8RBhg@mail.gmail.com>
<CAFiP3vw=rGTY1BFPB2ZLjLBehEaPpXgXRY2SerK+07TrA+nxzA@mail.gmail.com>
<CA+OCxozQj0gy7dsorij5fXSgLuhGDJP7uC4++VviAPR1XFs-Fw@mail.gmail.com>
<CAFiP3vyjbmQN2bRpHJvNXFnK6YvtgPm12OiF_Oa2Z7J73=C3Ag@mail.gmail.com>
<CAFiP3vzomo+37TZ87tVr4AsmUNzzsFQkq8j8fEXNKdpVj9bOxw@mail.gmail.com>
<CAFiP3vz1EGT4cgv3XJNT6wLDz0Ca7dT_W0p6GsDVPua+tWZrpw@mail.gmail.com>
<CA+OCxoxyAD1x_bEhzPS0RGU1SuL8Lfhx39ME7wY=L28ep4PdvQ@mail.gmail.com>
<CAG7mmoxASRd2wTahma6WNLCLfg=4gy5eOQ+e5K0ioOHPUS+7bA@mail.gmail.com>
<CAE29nRn0Z7v4oOWWndLr1Cr8HRwHizBK3+7BK12KnT0uHHHi7Q@mail.gmail.com>
<CAFiP3vxEra_mZGc8ZMJ+zNOpNb+LRGT7LobYktFgTetVMktmsw@mail.gmail.com>
<CA+OCxoz=hJpzbca9kwMesf+K2axYLaa_s7bThmnQh2WQHL0SmQ@mail.gmail.com>
<CAFiP3vzQQ8MxzSGuYcOPR9cDRRdz06LuLuGKo3cnTWXNcgFrew@mail.gmail.com>
<CA+OCxoy=+A0xE2gaFTH0VkAF-f4dpkW4nvF8sLd7Guag3czorA@mail.gmail.com>
<CAFiP3vy3rUMT+t6FBoNZftWf1ATth09t6+_GW_+qiBvsfFr4FQ@mail.gmail.com>
<CA+OCxox=8+nnQOAARWVRaxvBYBAG1sFyV1fWT-whPhdqVoJMmQ@mail.gmail.com>
<CAFiP3vwqO-0CtAvzu4SYa_UCj9-xbgLyauSy7agDc5ss10+LJg@mail.gmail.com>
<CA+OCxoxZzWEUj49+OYYdSJiiqMa-4HD9OZN7BFiM4X8_Ws9FtA@mail.gmail.com>
<CA+OCxowu1z=wKO=8=dw-xZCfHeegCxnMKS=O_fRae8OhY6k1uQ@mail.gmail.com>
<CAFiP3vzOStcTxWrqnCJNCjqAN+xBNLAa3vhGeDozzHT+wnxUAg@mail.gmail.com>
<CA+OCxoxiELAZxek49=MM-nUOka1rJpQ60B+y-qN+xHbZ8iDvzQ@mail.gmail.com>
<CAFiP3vzYYWya1C91m348_KfbUnMjtU6X60jzXjAi1stAYdRnAQ@mail.gmail.com>
<CAFiP3vxmgT_3a7_1C51XoS0a0tJ_M=T+B=bngzgNX3+9Fb_Vpw@mail.gmail.com>
<CA+OCxoycFy83wwn8g=oRXcBo-XAzLR8BjmVHC=iO6azckAKjxA@mail.gmail.com>
<CAFOhELdBhBRzcVNcCE-3TBpdh4nuLARLPv6V0eE6zm2aNNH4zQ@mail.gmail.com>
<CAAtBm9UHd0K3y4DQMvmisy6xMKzyE_kEgEc+5kwn5jKT0kt6SA@mail.gmail.com>
<CAE+jjakQjs7i2=-6fUQeji8i7qUz3x0e1NSgsbanvzPxD-uzYg@mail.gmail.com>
<CA+OCxowbL8ERrRcpcXj6TkcXRNDoZukZfKp4AraPBzBW9=j_xg@mail.gmail.com>
List-Unsubscribe: <https://lists.postgresql.org/manage/>, <mailto:[email protected]>
Hi,
Please find attached patch to fix minor issues/improvements suggested.
On Wed, Jun 28, 2017 at 2:43 AM, Dave Page <[email protected]> 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 <
> [email protected]> 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 <[email protected]>
>> wrote:
>>
>>>
>>>
>>> On Tue, Jun 27, 2017 at 12:16 PM, Khushboo Vashi <
>>> [email protected]> wrote:
>>>
>>>>
>>>>
>>>> On 27 Jun 2017 18:33, "Dave Page" <[email protected]> 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 <
>>>> [email protected]> 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 <
>>>>> [email protected]> 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 <[email protected]> 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
>>>>>>> <[email protected]> wrote:
>>>>>>> > Hi Dave,
>>>>>>> >
>>>>>>> > Please find updated rebased patch for RM2137
>>>>>>> >
>>>>>>> > On Fri, Jun 23, 2017 at 9:00 PM, Dave Page <[email protected]>
>>>>>>> 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 <[email protected]>
>>>>>>> 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
>>>>>>> >> > <[email protected]> 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 <[email protected]>
>>>>>>> wrote:
>>>>>>> >> >>>
>>>>>>> >> >>> Sounds good, thanks.
>>>>>>> >> >>>
>>>>>>> >> >>> On Thu, Jun 15, 2017 at 9:54 PM, Harshal Dhumal
>>>>>>> >> >>> <[email protected]> wrote:
>>>>>>> >> >>> > Hi
>>>>>>> >> >>> >
>>>>>>> >> >>> > On Fri, Jun 16, 2017 at 2:07 AM, Dave Page <
>>>>>>> [email protected]>
>>>>>>> >> >>> > wrote:
>>>>>>> >> >>> >>
>>>>>>> >> >>> >> Hi
>>>>>>> >> >>> >>
>>>>>>> >> >>> >> On Thu, Jun 15, 2017 at 9:30 PM, Harshal Dhumal
>>>>>>> >> >>> >> <[email protected]> wrote:
>>>>>>> >> >>> >> > Hi Dave,
>>>>>>> >> >>> >> >
>>>>>>> >> >>> >> > Please find attached updated patch.
>>>>>>> >> >>> >> >
>>>>>>> >> >>> >> > On Thu, Jun 15, 2017 at 3:58 PM, Dave Page <
>>>>>>> [email protected]>
>>>>>>> >> >>> >> > wrote:
>>>>>>> >> >>> >> >>
>>>>>>> >> >>> >> >> Hi
>>>>>>> >> >>> >> >>
>>>>>>> >> >>> >> >> On Wed, Jun 14, 2017 at 11:36 PM, Harshal Dhumal
>>>>>>> >> >>> >> >> <[email protected]> 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
>
Attachments:
[image/png] View_Edit_menu.png (47.3K, 3-View_Edit_menu.png)
download | view image
[image/png] auto_resize_row_number_column.png (32.3K, 4-auto_resize_row_number_column.png)
download | view image
[text/x-patch] RM2137_minor_issue_fixes.patch (5.7K, 5-RM2137_minor_issue_fixes.patch)
download | inline diff:
diff --git a/web/pgadmin/feature_tests/view_data_dml_queries.py b/web/pgadmin/feature_tests/view_data_dml_queries.py
index a6bc5aa..6454a3e 100644
--- a/web/pgadmin/feature_tests/view_data_dml_queries.py
+++ b/web/pgadmin/feature_tests/view_data_dml_queries.py
@@ -44,7 +44,7 @@ class CheckForViewDataTest(BaseFeatureTest):
"""
scenarios = [
- ("Validate Insert, Update operations in View data with given test "
+ ("Validate Insert, Update operations in View/Edit data with given test "
"data",
dict())
]
@@ -97,7 +97,7 @@ CREATE TABLE public.defaults
self.page.add_server(self.server)
self._tables_node_expandable()
self.page.select_tree_item('defaults')
- # Open Object -> View data
+ # Open Object -> View/Edit data
self._view_data_grid()
# Run test to insert a new row in table with default values
@@ -203,9 +203,9 @@ CREATE TABLE public.defaults
self.page.driver.find_element_by_link_text("Object").click()
ActionChains(self.page.driver) \
.move_to_element(
- self.page.driver.find_element_by_link_text("View Data")) \
+ self.page.driver.find_element_by_link_text("View/Edit Data")) \
.perform()
- self.page.find_by_partial_link_text("View All Rows").click()
+ self.page.find_by_partial_link_text("All Rows").click()
# wait until datagrid frame is loaded.
self.page.click_tab('Edit Data -')
diff --git a/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js b/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js
index aa04c2f..2d5717d 100644
--- a/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js
+++ b/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js
@@ -87,26 +87,26 @@ define([
name: 'view_all_rows_context_' + supported_nodes[idx],
node: supported_nodes[idx], module: this, data: {mnuid: 3},
applies: ['context', 'object'], callback: 'show_data_grid', enable: view_menu_enabled,
- category: 'view_data', priority: 101, label: gettext('View All Rows')
+ category: 'view_data', priority: 101, label: gettext('All Rows')
},{
name: 'view_first_100_rows_context_' + supported_nodes[idx],
node: supported_nodes[idx], module: this, data: {mnuid: 1},
applies: ['context', 'object'], callback: 'show_data_grid', enable: view_menu_enabled,
- category: 'view_data', priority: 102, label: gettext('View First 100 Rows')
+ category: 'view_data', priority: 102, label: gettext('First 100 Rows')
},{
name: 'view_last_100_rows_context_' + supported_nodes[idx],
node: supported_nodes[idx], module: this, data: {mnuid: 2},
applies: ['context', 'object'], callback: 'show_data_grid', enable: view_menu_enabled,
- category: 'view_data', priority: 103, label: gettext('View Last 100 Rows')
+ category: 'view_data', priority: 103, label: gettext('Last 100 Rows')
},{
name: 'view_filtered_rows_context_' + supported_nodes[idx],
node: supported_nodes[idx], module: this, data: {mnuid: 4},
applies: ['context', 'object'], callback: 'show_filtered_row', enable: view_menu_enabled,
- category: 'view_data', priority: 104, label: gettext('View Filtered Rows...')
+ category: 'view_data', priority: 104, label: gettext('Filtered Rows...')
});
}
- pgAdmin.Browser.add_menu_category('view_data', gettext('View Data'), 100, 'fa fa-th');
+ pgAdmin.Browser.add_menu_category('view_data', gettext('View/Edit Data'), 100, 'fa fa-th');
pgAdmin.Browser.add_menus(menus);
// Creating a new pgAdmin.Browser frame to show the data.
@@ -263,7 +263,7 @@ define([
this.setContent($content.get(0));
// Apply CodeMirror to filter text area.
- this.filter_obj = CodeMirror.fromTextArea($sql_filter.get(0), {
+ this.filter_obj = codemirror.fromTextArea($sql_filter.get(0), {
lineNumbers: true,
indentUnit: 4,
mode: "text/x-pgsql",
diff --git a/web/pgadmin/tools/sqleditor/static/css/sqleditor.css b/web/pgadmin/tools/sqleditor/static/css/sqleditor.css
index 90ae255..528541d 100644
--- a/web/pgadmin/tools/sqleditor/static/css/sqleditor.css
+++ b/web/pgadmin/tools/sqleditor/static/css/sqleditor.css
@@ -462,7 +462,11 @@ input.editor-checkbox:focus {
.slick-cell span[data-cell-type="row-header-selector"] {
display: block;
- text-align: right;
+ text-align: center;
+}
+
+.slick-cell.selected span[data-cell-type="row-header-selector"] {
+ color: white;
}
#datagrid div.slick-header.ui-state-default {
@@ -486,9 +490,12 @@ input.editor-checkbox:focus {
.select-all-icon {
margin-left: 9px;
- margin-right: 9px;
+ margin-right: 4px;
vertical-align: bottom;
- float: right;
+ position: absolute;
+ bottom: 4px;
+ right: 0;
+}
}
.slick-cell, .slick-headerrow-column {
diff --git a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js
index 8d76fed..44c9f25 100644
--- a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js
+++ b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js
@@ -3003,7 +3003,8 @@ define([
});
dataView.endUpdate();
grid.updateRowCount();
- grid.render();
+ // Pasted row/s always append so bring last row in view port.
+ grid.scrollRowIntoView(dataView.getLength());
grid.setSelectedRows([]);
}
},
view thread (24+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: [pgadmin-hackers] Re: Server side cursor limitations for on demand loading of data in query tool [RM2137] [pgAdmin4]
In-Reply-To: <CAFiP3vy97bdt7=tA4ZVdYVbBtbhfohOyZz9J5R8WOy4JMjCVFQ@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox