Re: [HACKERS] Fix in oracle_compat.c - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] Fix in oracle_compat.c
Date
Msg-id 199808111838.OAA24783@candle.pha.pa.us
Whole thread Raw
In response to Fix in oracle_compat.c  (jwieck@debis.com (Jan Wieck))
List pgsql-hackers
Patch applied.

> Hi,
>
>     the  following  patch fixes a bug in the oracle compatibility
>     functions btrim() ltrim() and rtrim().
>
>     The error was that the character after the set  was  included
>     in the tests (ptr2 pointed to the character after the vardata
>     part of set if no match found,  so  comparing  *ptr  or  *end
>     against *ptr2 MAY match -> strip).
>
>
> Jan
>
> --
>
> #======================================================================#
> # It's easier to get forgiveness for being wrong than for being right. #
> # Let's break this rule - forgive me.                                  #
> #======================================== jwieck@debis.com (Jan Wieck) #
>
>
> *** oracle_compat.c.orig    Tue Aug 11 16:07:48 1998
> --- oracle_compat.c    Tue Aug 11 16:08:37 1998
> ***************
> *** 297,303 ****
>                   break;
>               ++ptr2;
>           }
> !         if (*ptr != *ptr2)
>               break;
>           ptr++;
>           ptr2 = VARDATA(set);
> --- 297,303 ----
>                   break;
>               ++ptr2;
>           }
> !         if (ptr2 > end2)
>               break;
>           ptr++;
>           ptr2 = VARDATA(set);
> ***************
> *** 316,322 ****
>                   break;
>               ++ptr2;
>           }
> !         if (*end != *ptr2)
>               break;
>           --end;
>           ptr2 = VARDATA(set);
> --- 316,322 ----
>                   break;
>               ++ptr2;
>           }
> !         if (ptr2 > end2)
>               break;
>           --end;
>           ptr2 = VARDATA(set);
> ***************
> *** 374,380 ****
>                   break;
>               ++ptr2;
>           }
> !         if (*ptr != *ptr2)
>               break;
>           ptr++;
>           ptr2 = VARDATA(set);
> --- 374,380 ----
>                   break;
>               ++ptr2;
>           }
> !         if (ptr2 > end2)
>               break;
>           ptr++;
>           ptr2 = VARDATA(set);
> ***************
> *** 434,440 ****
>                   break;
>               ++ptr2;
>           }
> !         if (*ptr != *ptr2)
>               break;
>           --ptr;
>           ptr2 = VARDATA(set);
> --- 434,440 ----
>                   break;
>               ++ptr2;
>           }
> !         if (ptr2 > end2)
>               break;
>           --ptr;
>           ptr2 = VARDATA(set);
>
>


--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

pgsql-hackers by date:

Previous
From: "Jackson, DeJuan"
Date:
Subject: RE: [HACKERS] Indexes bug
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Indexes bug