Re: PATCH: Encoding issue with qtLiteral function (pgAdmin4) - Mailing list pgadmin-hackers

From Dave Page
Subject Re: PATCH: Encoding issue with qtLiteral function (pgAdmin4)
Date
Msg-id CA+OCxowA-46hh_=4d_Vz4zroj-5a9Bq7dvfrRNPvCSGLp2OYXg@mail.gmail.com
Whole thread Raw
In response to Re: PATCH: Encoding issue with qtLiteral function (pgAdmin4)  (Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com>)
List pgadmin-hackers
Thanks - applied!

On Wed, Jul 27, 2016 at 1:37 PM, Murtuza Zabuawala
<murtuza.zabuawala@enterprisedb.com> wrote:
> Okay, Let me check on that.
>
> Meanwhile I'm attaching patch for making Provider optional in security
> labels control.
>
> Regards,
> Murtuza
>
> --
> Regards,
> Murtuza Zabuawala
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
> On Wed, Jul 27, 2016 at 5:04 PM, Dave Page <dpage@pgadmin.org> wrote:
>>
>> Hi
>>
>> On Wed, Jul 27, 2016 at 12:18 PM, Murtuza Zabuawala
>> <murtuza.zabuawala@enterprisedb.com> wrote:
>> > Hi Dave,
>> >
>> > 1) Unicode conversion was working properly for function node, It was
>> > failing
>> > due to wrong sql templates.
>> > - I've fixed them.
>>
>> I just did a test, and it's still failing - see the attached
>> screenshot. Aside from the encoding issue, it looks like it's adding
>> extra quotes around the parameter data type - double-double quoting
>> the schema and type, and then quoting the whole lot again in the
>> CREATE part. The ALTER part looks fine.
>>
>> > 2) Type is also working fine with encoding for me(PFA screenshots), Can
>> > you
>> > please provide error you got?
>>
>> Hmm, I can't reproduce that now. Weird.
>>
>> > This patch also makes Provider optional in security label control &
>> > templates.
>> >
>> > -------
>> > Regarding enforcing to utf-8, In my opinion we can enforce everything to
>> > utf-8 if we use any of one python version but to make it compatible with
>> > both python2 and python3 version by forcing utf-8 encoding it will be
>> > difficult to handle its side effects.
>>
>> Urgh. Ok, thanks.
>>
>> > Python2,
>> >
>> >>>> txt_sample = 'Hello'
>> >>>> isinstance(txt_sample, str)
>> > True
>> >>>> isinstance(txt_sample, bytes)
>> > True
>> >>>> isinstance(txt_sample, unicode)
>> > False
>> >>>> txt_sample.encode('utf-8')
>> > 'Hello'
>> >>>> txt_sample.decode('utf-8')
>> > u'Hello'
>> >
>> > Forcing to unicode in Python2,
>> >
>> >>>> txt_sample = u'Hello'
>> >>>> isinstance(txt_sample, str)
>> > False
>> >>>> isinstance(txt_sample, bytes)
>> > False
>> >>>> isinstance(txt_sample, unicode)
>> > True
>> >
>> > Python3,
>> >
>> >>>> txt_sample = 'Hello'
>> >>>> isinstance(txt_sample, str)
>> > True
>> >>>> isinstance(txt_sample, bytes)
>> > False
>> >>>> txt_sample.encode('utf-8')
>> > b'Hello'
>> >>>> txt_sample.decode('utf-8')
>> > Traceback (most recent call last):
>> >   File "<stdin>", line 1, in <module>
>> > AttributeError: 'str' object has no attribute 'decode'
>> >
>> >
>> > And also psycopg2 driver returns text as string in Python2 even if that
>> > text
>> > contains unicode characters, In python3 that just works fine because
>> > string
>> > is Unicode by default.
>> >
>> >
>> > Regards,
>> > Murtuza
>> >
>> > --
>> > Regards,
>> > Murtuza Zabuawala
>> > EnterpriseDB: 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


pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: pgAdmin 4 commit: Security label providers are an optional parameter. F
Next
From: Harshal Dhumal
Date:
Subject: Re: patch for issue RM1260 [pgAdmin4]