Re: Damn bug! - Mailing list pgsql-bugs

From JanWieck@t-online.de (Jan Wieck)
Subject Re: Damn bug!
Date
Msg-id 200007202125.XAA06132@hot.jw.home
Whole thread Raw
In response to Damn bug!  (Bernie Huang <bernie.huang@ec.gc.ca>)
Responses Re: Damn bug!  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Bernie Huang wrote:
[Charset iso-8859-15 unsupported, filtering to ASCII...]
> Hi,
>
> Sorry for the subject, but it is driving me crazy that I spend my entire
> morning searching for this little bug.  =(
>
> Well, I found it.
>
> I have a field using array (eg; col1 text[]) in Postgres, and it's a
> list of attributes.  (eg; {"hi","hello","whatever","Empty",...})
>
> When I tried to update elements in the array via PHP script,
>
> $query = "update table
>           set col1[1]='$var1',
>               col1[2]='$var2',
>               ...
>               col1[4]='$var4'";
>
> it worked alright; however, when it came to the word 'Empty', it just
> wouldn't update. So, after a lot of struggle... )xp ... I finally
> replaced the word 'Empty' with 'None' or something alike, and it worked!
>
> Although this is a rare case, I thought I would just share this with you
> so you won't get tripped over it.  Don't know if it's a PHP bug or a
> Postgres bug!

    A Postgres bug:

        pgsql=# create table t1 (a text[]);
        CREATE
        pgsql=# insert into t1 values ('{"foo","bar"}');
        INSERT 18872 1
        pgsql=# select * from t1;
               a
        ---------------
         {"foo","bar"}
        (1 row)

        pgsql=# update t1 set a[1] = 'new', a[2] = 'Empty';
        UPDATE 1
        pgsql=# select * from t1;
               a
        ---------------
         {"new","bar"}
        (1 row)

        pgsql=# update t1 set a[1] = 'next', a[2] = 'None';
        UPDATE 1
        pgsql=# select * from t1;
                a
        -----------------
         {"next","None"}
        (1 row)

    Don't know where this might happen, but it's interesting that
    our ORDBMS treats some "text" literal special. Looks  like  a
    fogotten hack somewhere :-)


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #

pgsql-bugs by date:

Previous
From: Andrew McMillan
Date:
Subject: Re: Damn bug!
Next
From: Tom Lane
Date:
Subject: Re: Damn bug!