Concat error in PL/pgsql

Hans Peter Wuermli <wurmli@freesurf.ch>

From: Hans Peter Wuermli <wurmli@freesurf.ch>
To: pgsql-bugs@postgresql.org
Date: 2001-01-06T17:29:22Z
Lists: pgsql-bugs
I don't have a bug template at hand.

Within a plpgsql function, concatenating TEXT strings from tables that allow NULL values return nil results. Please run the following. The result of the second select is nil.

Cheers, H.P.

-----------------------------------------------------------

create table tconcattest (id char(3),str text);

insert into tconcattest values('hpw',text('Something...'));
insert into tconcattest values('wuh',text('and more of something.'));

create function fconcattest () returns text as'
 declare
	r record;
	output text;
 begin
	output := text('''');
	for r in select * from tconcattest loop
		  output := output || r.str;
	end loop;
	return output;
 end;
' language 'plpgsql';

select fconcattest();

insert into tconcattest values('abc',NULL);

select fconcattest();

update tconcattest set str='...again' where id='abc';

select fconcattest();