calling a function within a view causes problems doing a pg_dumpall

From: juerg(dot)rietmann(at)pup(dot)ch
To: pgsql-sql(at)postgresql(dot)org
Subject: calling a function within a view causes problems doing a pg_dumpall
Date: 2001-05-07 08:28:24
Message-ID: OFC18C0F7C.E3CC1843-ONC1256A45.002DBC77@pup.ch
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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
============================================

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Josh Berkus 2001-05-07 14:53:49 Re: calling a function within a view causes problems doing a pg_dumpall
Previous Message Michael Richards 2001-05-06 21:55:17 7.1 REFERENCES contstraints