calling a function within a view causes problems doing a pg_dumpall - Mailing list pgsql-sql

From juerg.rietmann@pup.ch
Subject calling a function within a view causes problems doing a pg_dumpall
Date
Msg-id OFC18C0F7C.E3CC1843-ONC1256A45.002DBC77@pup.ch
Whole thread Raw
Responses Re: calling a function within a view causes problems doing a pg_dumpall
List pgsql-sql
Hello

I need to transfer a db form one to another server. I wanted to do this
with pg_dumpall and psql -e ....

I isolated the problem in a view. When I call a self defined function
(buildstring) the problem occurs and when I remove this call pg_dumpall
works. Calling the view with select * from viewrzumfang works with and
without the function call.

I use postgresql 7.0 on SUSE Linux

Function :

CREATE FUNCTION buildString(bpchar) RETURNS text AS '       DECLARE               list           text;
rec         record;       BEGIN       list := '''';         FOR rec IN SELECT z_u_umfang FROM zylinder_umfang WHERE
z_u_typ
= $1;            list := list || text(rec.z_u_umfang) || '','';         END LOOP;         RETURN list;       END;
' LANGUAGE 'plpgsql';

View that is not working :

SELECT rotation.r_code, rotation.r_name, rotation.r_z_typ,
(SELECT zylinder_typen.z_laenge FROM zylinder_typen WHERE
(zylinder_typen.z_typ = rotation.r_z_typ)) AS r_z_laenge,
(SELECT zylinder_typen.z_blaenge FROM zylinder_typen WHERE
(zylinder_typen.z_typ = rotation.r_z_typ)) AS r_z_blaenge,
(SELECT zylinder_typen.z_alaenge_l FROM zylinder_typen WHERE
(zylinder_typen.z_typ = rotation.r_z_typ)) AS r_z_alaenge_l,
(SELECT zylinder_typen.z_alaenge_r FROM zylinder_typen WHERE
(zylinder_typen.z_typ = rotation.r_z_typ)) AS r_z_alaenge_r,
(SELECT rtrim(buildstring(rotation.r_z_typ), ','::text) AS rtrim) AS
r_z_umfang FROM rotation;

View that is working :

SELECT rotation.r_code, rotation.r_name, rotation.r_z_typ,
(SELECT zylinder_typen.z_laenge FROM zylinder_typen WHERE
(zylinder_typen.z_typ = rotation.r_z_typ)) AS r_z_laenge,
(SELECT zylinder_typen.z_blaenge FROM zylinder_typen WHERE
(zylinder_typen.z_typ = rotation.r_z_typ)) AS r_z_blaenge,
(SELECT zylinder_typen.z_alaenge_l FROM zylinder_typen WHERE
(zylinder_typen.z_typ = rotation.r_z_typ)) AS r_z_alaenge_l,
(SELECT zylinder_typen.z_alaenge_r FROM zylinder_typen WHERE
(zylinder_typen.z_typ = rotation.r_z_typ)) AS r_z_alaenge_r,
FROM rotation;

Thanks for any help ... jr

============================================
PFISTER + PARTNER, SYSTEM - ENGINEERING AG
Juerg Rietmann
Grundstrasse 22a
6343 Rotkreuz
Switzerland

phone: +4141 790 4040
fax: +4141 790 2545
mobile: +4179 211 0315
============================================



pgsql-sql by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: 7.1 REFERENCES contstraints
Next
From: Ian Harding
Date:
Subject: Re: Need help with search-and-replace