Thanks. Unfortunately this is failing the tests: ====================================================================== ERROR: runTest (pgadmin.feature_tests.query_tool_journey_test.QueryToolJourneyTest) Tests the path through the query tool ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_journey_test.py", line 85, in runTest self._test_updatable_resultset() File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_journey_test.py", line 254, in _test_updatable_resultset discard_changes_modal=True) File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_journey_test.py", line 417, in _check_query_results_editable is_editable = self._check_cell_editable(column_index) File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_journey_test.py", line 430, in _check_cell_editable cell_value = int(cell_el.text) File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.7/site-packages/selenium/webdriver/remote/webelement.py", line 76, in text return self._execute(Command.GET_ELEMENT_TEXT)['value'] File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.7/site-packages/selenium/webdriver/remote/webelement.py", line 628, in _execute return self._parent.execute(command, params) File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 312, in execute self.error_handler.check_response(response) File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document (Session info: chrome=76.0.3809.100) (Driver info: chromedriver=76.0.3809.126 (d80a294506b4c9d18015e755cee48f953ddc3f2f-refs/branch-heads/3809@{#1024}),platform=Mac OS X 10.14.5 x86_64)
Without the patch, the tests pass. On Fri, Aug 23, 2019 at 1:10 PM Yosry Muhammad <yosry...@gmail.com> wrote: > Please find an updated patch attached. > > On Fri, Aug 23, 2019 at 1:22 PM Dave Page <dp...@pgadmin.org> wrote: > >> Except it now doesn't apply as the async connection/rendering patch was >> in the queue right ahead of it :-(. >> >> Can I get a rebased patch please? >> >> On Fri, Aug 23, 2019 at 11:57 AM Aditya Toshniwal < >> aditya.toshni...@enterprisedb.com> wrote: >> >>> Excellent !! Looks good to me. >>> >>> On Fri, Aug 23, 2019 at 2:23 PM Yosry Muhammad <yosry...@gmail.com> >>> wrote: >>> >>>> I updated the patch for backwards compatibility anyway. >>>> >>>> On Fri, Aug 23, 2019 at 10:45 AM Dave Page <dp...@pgadmin.org> wrote: >>>> >>>>> >>>>> >>>>> On Fri, Aug 23, 2019 at 9:43 AM Yosry Muhammad <yosry...@gmail.com> >>>>> wrote: >>>>> >>>>>> Hi Aditya, >>>>>> >>>>>> On Fri, Aug 23, 2019 at 7:33 AM Aditya Toshniwal < >>>>>> aditya.toshni...@enterprisedb.com> wrote: >>>>>> >>>>>>> Hi Yosry, >>>>>>> >>>>>>> The previously mentioned issues seems to be fixed. Below are few >>>>>>> issues: >>>>>>> 1) On Python 2.7, I get below error when opening query tool: >>>>>>> 2019-08-23 10:49:09,329: ERROR flask.app: Object of type buffer is >>>>>>> not JSON serializable >>>>>>> Traceback (most recent call last): >>>>>>> File >>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/flask/app.py", >>>>>>> line 1813, in full_dispatch_request >>>>>>> rv = self.dispatch_request() >>>>>>> File >>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/flask/app.py", >>>>>>> line 1799, in dispatch_request >>>>>>> return self.view_functions[rule.endpoint](**req.view_args) >>>>>>> File >>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/flask_login/utils.py", >>>>>>> line 261, in decorated_view >>>>>>> return func(*args, **kwargs) >>>>>>> File >>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/tools/sqleditor/__init__.py", >>>>>>> line 1544, in get_query_history >>>>>>> return QueryHistory.get(current_user.id, trans_obj.sid, conn.db) >>>>>>> File >>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/tools/sqleditor/utils/query_history.py", >>>>>>> line 21, in get >>>>>>> 'result': [rec.query_info for rec in result] >>>>>>> File >>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/utils/ajax.py", >>>>>>> line >>>>>>> 75, in make_json_response >>>>>>> separators=(',', ':'), encoding=encoding), >>>>>>> File >>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/simplejson/__init__.py", >>>>>>> line 399, in dumps >>>>>>> **kw).encode(obj) >>>>>>> File >>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/simplejson/encoder.py", >>>>>>> line 296, in encode >>>>>>> chunks = self.iterencode(o, _one_shot=True) >>>>>>> File >>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/simplejson/encoder.py", >>>>>>> line 378, in iterencode >>>>>>> return _iterencode(o, 0) >>>>>>> File >>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/utils/ajax.py", >>>>>>> line >>>>>>> 30, in default >>>>>>> return json.JSONEncoder.default(self, obj) >>>>>>> File >>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/simplejson/encoder.py", >>>>>>> line 273, in default >>>>>>> o.__class__.__name__) >>>>>>> TypeError: Object of type buffer is not JSON serializable >>>>>>> >>>>>> >>>>>> This error exists on the master branch on Python 2.7, it is not >>>>>> caused by the patch. It is also not a regression of my previous Query >>>>>> History Enhancement patch, I checked. >>>>>> >>>>>> >>>>>>> >>>>>>> 2) The patch is not compatible with older pyscopg2 (2.7.7). I get >>>>>>> below error in View/Edit data. >>>>>>> [image: Screenshot 2019-08-23 at 10.53.30.png] >>>>>>> 2019-08-23 10:53:12,020: ERROR flask.app: 'table_column' >>>>>>> Traceback (most recent call last): >>>>>>> File >>>>>>> "/Users/adityatoshniwal/venv/pypg35/lib/python3.5/site-packages/flask/app.py", >>>>>>> line 1813, in full_dispatch_request >>>>>>> rv = self.dispatch_request() >>>>>>> File >>>>>>> "/Users/adityatoshniwal/venv/pypg35/lib/python3.5/site-packages/flask/app.py", >>>>>>> line 1799, in dispatch_request >>>>>>> return self.view_functions[rule.endpoint](**req.view_args) >>>>>>> File >>>>>>> "/Users/adityatoshniwal/venv/pypg35/lib/python3.5/site-packages/flask_login/utils.py", >>>>>>> line 261, in decorated_view >>>>>>> return func(*args, **kwargs) >>>>>>> File >>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/tools/sqleditor/__init__.py", >>>>>>> line 435, in poll >>>>>>> columns = trans_obj.get_columns_types(conn) >>>>>>> File >>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/tools/sqleditor/command.py", >>>>>>> line 688, in get_columns_types >>>>>>> table_oid=table_oid) >>>>>>> File >>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/tools/sqleditor/utils/get_column_types.py", >>>>>>> line 38, in get_columns_types >>>>>>> if row['oid'] == col['table_column']: >>>>>>> KeyError: 'table_column' >>>>>>> >>>>>> >>>>>> I recall Dave mentioning that it is okay to use psycopg 2.8+ features >>>>>> and that it was a requirement of pgAdmin 4 now (clearly mentioned in >>>>>> requirements.txt too). >>>>>> >>>>> >>>>> I did - then we had the whole table_oid issue on Debian/Ubuntu :-( >>>>> >>>>> >>>>>> However, I updated the patch for backwards compatibility. Please find >>>>>> an updated patch attached. >>>>>> >>>>>> >>>>>> -- >>>>>> *Yosry Muhammad Yosry* >>>>>> >>>>>> Computer Engineering student, >>>>>> The Faculty of Engineering, >>>>>> Cairo University (2021). >>>>>> Class representative of CMP 2021. >>>>>> https://www.linkedin.com/in/yosrym93/ >>>>>> >>>>> >>>>> >>>>> -- >>>>> Dave Page >>>>> Blog: http://pgsnake.blogspot.com >>>>> Twitter: @pgsnake >>>>> >>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>> The Enterprise PostgreSQL Company >>>>> >>>> >>>> >>>> -- >>>> *Yosry Muhammad Yosry* >>>> >>>> Computer Engineering student, >>>> The Faculty of Engineering, >>>> Cairo University (2021). >>>> Class representative of CMP 2021. >>>> https://www.linkedin.com/in/yosrym93/ >>>> >>> >>> >>> -- >>> Thanks and Regards, >>> Aditya Toshniwal >>> Software Engineer | EnterpriseDB India | Pune >>> "Don't Complain about Heat, Plant a TREE" >>> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > > -- > *Yosry Muhammad Yosry* > > Computer Engineering student, > The Faculty of Engineering, > Cairo University (2021). > Class representative of CMP 2021. > https://www.linkedin.com/in/yosrym93/ > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company