Re: [pgadmin-hackers] [pgAdmin4][Patch]: Fix RM1790 - [Web] Supportsetting a field's value to "null" - Mailing list pgadmin-hackers

From Dave Page
Subject Re: [pgadmin-hackers] [pgAdmin4][Patch]: Fix RM1790 - [Web] Supportsetting a field's value to "null"
Date
Msg-id CA+OCxoxbSha2KTHaEc9ufaTF-XJ7Sot+XOib=piFDOT0qJRpyQ@mail.gmail.com
Whole thread Raw
In response to Re: [pgadmin-hackers] [pgAdmin4][Patch]: Fix RM1790 - [Web] Supportsetting a field's value to "null"  (Surinder Kumar <surinder.kumar@enterprisedb.com>)
Responses Re: [pgadmin-hackers] [pgAdmin4][Patch]: Fix RM1790 - [Web] Supportsetting a field's value to "null"  (Surinder Kumar <surinder.kumar@enterprisedb.com>)
List pgadmin-hackers
On Fri, Jan 27, 2017 at 10:32 AM, Surinder Kumar
<surinder.kumar@enterprisedb.com> wrote:
> Hi Dave,
>
> Please find updated patch.
>
> On Mon, Jan 16, 2017 at 10:01 PM, Dave Page <dpage@pgadmin.org> wrote:
>>
>> Hi
>>
>> On Fri, Jan 13, 2017 at 9:24 AM, Surinder Kumar
>> <surinder.kumar@enterprisedb.com> wrote:
>> > Hi
>> >
>> > Please find attached patch and review.
>> >
>> > On Sun, Jan 8, 2017 at 3:27 PM, Dave Page <dpage@pgadmin.org> wrote:
>> >>
>> >> Hi
>> >>
>> >> On Friday, December 23, 2016, Surinder Kumar
>> >> <surinder.kumar@enterprisedb.com> wrote:
>> >>>
>> >>> Forgot to attach patch in last thread. please find patch.
>> >>
>> >>
>> >> It looks good for the most part, except:
>> >>
>> >> 1) You missed the part we discussed about being able to set a value to
>> >> ''
>> >> (the literal string containing two single quotes) by entering \'\' (and
>> >> of
>> >> course, the follow-on cases to allow setting a value to \'\' by
>> >> entering
>> >> \\'\\' etc).
>> >
>> > Fixed.
>>
>> That doesn't seem right to me - the code you've written looks like
>> it'll try to escape anything for use in a string literal, not just
>> '\'\ or \\'\\' etc.
>
> Now the implementation is that It will find and unescape the string literals
> like '\'\ or \\'\\' etc.

I ran some tests:

- Setting a field to '' resulted in the following SQL:

UPDATE public.emp SET
job = '''''' WHERE
empno = 7369;

- Setting a field to \"\" resulted in the following SQL:

UPDATE public.emp SET
job = '""' WHERE
empno = 7499;

- Setting a field to \'\' displayed \'\' in the grid until refreshed
when the value vanished. The SQL it ran was:

UPDATE public.emp SET
job = '''''' WHERE
empno = 7499;

To be clear, here's what I'm expecting:

Input: <empty>
Display: [null]
SQL: UPDATE t SET c = NULL WHERE k  = <val>

Input: ''
Display:
SQL: UPDATE t SET c = '' WHERE k  = <val>

Input: \'\'
Display: ''
SQL: UPDATE t SET c = '''''' WHERE k  = <val>

Input: \\'\\'
Display: \'\'
SQL: UPDATE t SET c = '\''\''' WHERE k  = <val>

--
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: Re: [pgadmin-hackers] [pgAdmin4][patch][FileManager]: RM-2110 -Invalid path error displayed
Next
From: Dave Page
Date:
Subject: Re: [pgadmin-hackers] [pgAdmin4][Patch]: RM 2069 - Wrong tablespacedisplayed in table properties