Thread: Replace function BUG
In postgreSQL 7.3.2 when I execute the following query select replace('test %400% result', 'result', 'ok'); it returns "test % ok" And If I Execute: select replace('test %%400%% result', 'result', 'ok'); it returns the correct result: "test %400% ok" If this is a known BUG please tell me because I need to fix this. Thanks Nicolas Bottarini
On Tue, 13 Jul 2004, Nicolas Bottarini wrote: > In postgreSQL 7.3.2 when I execute the following query > > select replace('test %400% result', 'result', 'ok'); > > it returns "test % ok" I think this was fixed in the 7.4 branch.
Stephan Szabo <sszabo@megazone.bigpanda.com> writes: > On Tue, 13 Jul 2004, Nicolas Bottarini wrote: >> In postgreSQL 7.3.2 when I execute the following query >> >> select replace('test %400% result', 'result', 'ok'); >> >> it returns "test % ok" > I think this was fixed in the 7.4 branch. It was fixed in 7.3 branch as well: 2003-04-23 14:19 tgl * src/backend/utils/adt/varlena.c (REL7_3_STABLE): Fix misbehavior of replace() on strings containing '%'. Will patch separately but equivalently in HEAD. regards, tom lane
7.4.2 gives it like this: testbed=# select replace('test %%400%% result', 'result', 'ok'); replace ----------------- test %%400%% ok (1 row) testbed =# select replace('test %400% result', 'result', 'ok'); replace --------------- test %400% ok (1 row) Ted -- Nicolas Bottarini <nicolas@avatarla.com> wrote: > In postgreSQL 7.3.2 when I execute the following > query > > select replace('test %400% result', 'result', 'ok'); > > > > it returns "test % ok" > > > > And If I Execute: > > select replace('test %%400%% result', 'result', > 'ok'); > > it returns the correct result: "test %400% ok" > > > > If this is a known BUG please tell me because I need > to fix this. > > > > Thanks > > > > Nicolas Bottarini > > > > __________________________________ Do you Yahoo!? Vote for the stars of Yahoo!'s next ad campaign! http://advision.webevents.yahoo.com/yahoo/votelifeengine/