Hanging creating of function

From: "Mikael Carneholm" <Mikael(dot)Carneholm(at)WirelessCar(dot)com>
To: "'Pgsql-General (E-mail)" <pgsql-general(at)postgresql(dot)org>
Subject: Hanging creating of function
Date: 2005-11-09 18:38:53
Message-ID: 7F10D26ECFA1FB458B89C5B4B0D72C2B088204@sesrv12.wirelesscar.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Can anyone explain why the first one never completes, but the second one does? (the first one just keeps running, I canceled after ~1 min)
PG version: 8.1 final

-- tblname param has type varchar
create or replace function getcolstring (tblname varchar) returns varchar as $$
declare
table_columns varchar := '';
column_name record;
begin
for column_name in select pga.attname from pg_attribute pga, pg_class pgc
where pga.attrelid = pgc.relfilenode and pgc.relname = tblname and pga.attnum > 0 loop
table_columns := table_columns || column_name.attname || ',';
end loop;

-- chop the last ','
table_columns := substr(table_columns,1,(length(table_columns)-1));

return table_columns;

end;
$$
language plpgsql;

-- tblname param has type text
create or replace function getcolstring (tblname text) returns varchar as $$
declare
table_columns varchar := '';
column_name record;
begin
for column_name in select pga.attname from pg_attribute pga, pg_class pgc
where pga.attrelid = pgc.relfilenode and pgc.relname = tblname and pga.attnum > 0 loop
table_columns := table_columns || column_name.attname || ',';
end loop;

-- chop the last ','
table_columns := substr(table_columns,1,(length(table_columns)-1));

return table_columns;

end;
$$
language plpgsql;

/Mikael

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andrus 2005-11-09 18:43:28 Foreign key reference causes invalid DELETE trigger calls
Previous Message TJ O'Donnell 2005-11-09 18:18:35 using new bitmap scans to index bit columns?