Re: Problem with replace function in postgres

Поиск
Список
Период
Сортировка
От akp geek
Тема Re: Problem with replace function in postgres
Дата
Msg-id AANLkTim=TWHJ8DZ273-QL5q5w36rRpCgu9z-1EX4BgR9@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Problem with replace function in postgres  (Pavel Stehule <pavel.stehule@gmail.com>)
Список pgsql-general
I used pg_catalog.replace, it worked. Thanks for the help

On Tue, Nov 23, 2010 at 3:32 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
Hello

it working on my comp

postgres=# select mystr, test_repl(mystr) replaced_strfrom str_table;
          mystr           |           replaced_str
---------------------------+----------------------------------
 This road is INDEFLY CLSD | This road is indefinitely closed
 That is INDEFLY open      | That is indefinitely open
 That is a CLSD road       | That is a closed road
(3 rows)

I don't see a problem in your code, I am thinking so it's ok.

try to debug code with RAISE NOTICE statement

for a in select * from lookup
loop
RAISE NOTICE 'lookup rec: %', a;
RAISE NOTICE 'ret_var before replace: %', ret_var;
 ret_var := replace(ret_var,a.code,a.codeword);
RAISE NOTICE 'ret_var after replace: %', ret_var;
end loop;
return ret_var;

you can ensure using just buildin "replace" function - use

ret_var := pg_catalog.replace(...)

Regards

Pavel Stehule
maybe it can help to identify a problem





2010/11/23 akp geek <akpgeek@gmail.com>:
> Dear all -
>                 I am having trouble with replace function inside a function.
>  If I do the same replace function outside it works fine, Following example
> clearly explains my problem. Can you please help?
>
> create table str_table
> ( mystr varchar(1000));
> insert into str_table values ( 'This road is INDEFLY CLSD');
> insert into str_table values('That is INDEFLY open');
> insert into str_table values('That is a CLSD road');
>
> select * from str_table;
> create table lookup
> ( code varchar(100),
>   codeword varchar(100));
>
> insert into lookup values(  'INDEFLY','indefinitely');
> insert into lookup values(  'CLSD','closed');
> select 'This road is INDEFLY CLSD', test_repl('This road is INDEFLY CLSD
> INDEFLY') replaced_str
> from str_table;
> RESULT SET "  This road is INDEFLY CLSD;This road is indefinitely closed
> INDEFLY  "
> Regards

В списке pgsql-general по дате отправления:

Предыдущее
От: Brar Piening
Дата:
Сообщение: Re: "could not accept SSPI security context"
Следующее
От: Craig Ringer
Дата:
Сообщение: Re: What is Dialect