array handling on 8.0.3

Поиск
Список
Период
Сортировка
От Daniel Drotos
Тема array handling on 8.0.3
Дата
Msg-id Pine.LNX.4.64.0710091506550.7196@mazsola.iit.uni-miskolc.hu
обсуждение исходный текст
Ответы Re: array handling on 8.0.3  (Daniel Drotos <drdani@mazsola.iit.uni-miskolc.hu>)
Список pgsql-sql
Hi,

I have to run a function on a 9.0.3 server. Following part 
(of a bigger function):

create or replace function t(p varchar) returns void as
$$
declare    v varchar; f varchar; a varchar[]; i integer;
begin    a:= '{}';    if p like '%/%' then        v:= trim_null(split_part(p, '/', 1));        f:= v; a:= a||v; i:= 2;
     while v != '' loop            v:= trim_null(split_part(p, '/', i));            raise INFO 'splitted=%',v;
 a:= a||v; i:= i+1;            raise INFO 'a=%',a;        end loop;        raise INFO 'a=% ready',a;    else        f:=
p;   end if;    return;
 
end;
$$
language 'plpgsql' volatile;

raises (if called as t('a/b')):

INFO:  splitted=b
INFO:  a={a,b}
INFO:  splitted=<NULL>
INFO:  a=<NULL>
INFO:  a=<NULL> ready

It looks that value of the array `a' is lost after the loop. Is this 
normal? What do I do wrong?

Daniel


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

Предыдущее
От: Rodrigo De León
Дата:
Сообщение: Re: UNIQUEness and time interval
Следующее
От: "George Pavlov"
Дата:
Сообщение: Re: finding unused indexes?