Re: [pgAdmin4][Patch] - Encoding Fixes

From: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
To: Khushboo Vashi <khushboo(dot)vashi(at)enterprisedb(dot)com>
Cc: Dave Page <dpage(at)pgadmin(dot)org>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgAdmin4][Patch] - Encoding Fixes
Date: 2019-03-04 10:42:08
Message-ID: CANxoLDdLQqNC7aj0You2ZF_01HmaN0D1=+8kOV45stsr=FRqpA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Thanks patch applied.

On Sat, Mar 2, 2019 at 11:44 AM Khushboo Vashi <
khushboo(dot)vashi(at)enterprisedb(dot)com> wrote:

> Hi,
>
> Please find the attached patch for the regression fix.
>
> Thanks,
> Khushboo
>
> On Fri, Mar 1, 2019 at 9:41 PM Dave Page <dpage(at)pgadmin(dot)org> wrote:
>
>> Hi
>>
>> Unfortunately this has introduced a regression:
>>
>> - Start pgAdmin from the command line or PyCharms.
>> - Connect to a server, open a query tool and run a query (SELECT 1 will
>> do).
>> - Stop and restart the pgAdmin server.
>> - Execute the query again in the client.
>>
>> The error "'Connection' object has no attribute 'python_encoding'" is
>> returned in the messages tab and the following exception is given on the
>> pgAdmin server:
>>
>> 2019-03-01 16:07:26,293: ERROR pgadmin: 'Connection' object has no
>> attribute 'python_encoding'
>> Traceback (most recent call last):
>> File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.7/site-packages/flask/app.py",
>> line 1612, in full_dispatch_request
>> rv = self.dispatch_request()
>> File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.7/site-packages/flask/app.py",
>> line 1598, in dispatch_request
>> return self.view_functions[rule.endpoint](**req.view_args)
>> File
>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.7/site-packages/flask_login.py",
>> line 792, in decorated_view
>> return func(*args, **kwargs)
>> File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/tools/sqleditor/__init__.py", line
>> 321, in start_query_tool
>> sql, trans_id, session, connect
>> File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/tools/sqleditor/utils/start_running_query.py",
>> line 87, in execute
>> transaction_object
>> File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/tools/sqleditor/utils/start_running_query.py",
>> line 136, in __execute_query
>> status, result = conn.execute_async(sql)
>> File
>> "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/psycopg2/connection.py",
>> line 939, in execute_async
>> encoding = self.python_encoding
>> AttributeError: 'Connection' object has no attribute 'python_encoding'
>>
>> I'm guessing there's a codepath in which connection objects are created
>> without the python_encoding attribute.
>>
>>
>>
>> On Fri, Mar 1, 2019 at 1:54 PM Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>
>>> Thanks, applied.
>>>
>>> On Fri, Mar 1, 2019 at 7:06 AM Khushboo Vashi <
>>> khushboo(dot)vashi(at)enterprisedb(dot)com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Please find the attached patch to support all the supported encodings
>>>> by PostgreSQL.
>>>>
>>>> Thanks,
>>>> Khushboo
>>>>
>>>> On Thu, Feb 28, 2019 at 10:53 AM Khushboo Vashi <
>>>> khushboo(dot)vashi(at)enterprisedb(dot)com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Wed, Feb 27, 2019 at 4:57 PM Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> On Tue, Feb 26, 2019 at 9:01 AM Khushboo Vashi <
>>>>>> khushboo(dot)vashi(at)enterprisedb(dot)com> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Please find the attached patch to fix the encoding related issues.
>>>>>>>
>>>>>>> #3992 - View data causes errors with DB encoding EUC_JIS_2004
>>>>>>> #3982 - Encoding Problem with PGAdmin 4.2
>>>>>>> #3911 - Data output does not display Arabic in WIN1256 encoding
>>>>>>> database
>>>>>>> - The CSV download for the same encoding has also been fixed.
>>>>>>>
>>>>>>> I have tested the patch on Python 2.7, 3.5, 3.6 and 3.7.
>>>>>>>
>>>>>>
>>>>>> You've added a couple of new encodings, but it seems to me that we
>>>>>> should just add everything that PostgreSQL supports. For example, we now
>>>>>> have win1256, but what about 866, 874, 1250, 1251 etc?
>>>>>>
>>>>>> The full list is at https://www.postgresql.org/docs/11/multibyte.html
>>>>>>
>>>>>> Any reason not to do that?
>>>>>>
>>>>> I thought to fix the reported bugs first and after that, I was about
>>>>> to add a new ticket to add the remaining supported encodings.
>>>>> But as per you, I will add the remaining encodings along with these
>>>>> fixes.
>>>>>
>>>>>>
>>>>>>
>>>>> --
>>>>>> 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
>>
>

--
*Akshay Joshi*

*Sr. Software Architect *

*Phone: +91 20-3058-9517Mobile: +91 976-788-8246*

In response to

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2019-03-04 10:44:34 pgAdmin 4 commit: Prevent auto-commit/rollback being changed mid-transa
Previous Message Akshay Joshi 2019-03-04 10:41:40 pgAdmin 4 commit: Fix regression issue caused due to encoding fixes.