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

Reply via email to