calling a function within a view causes problems doing a pg_dumpall
От | juerg.rietmann@pup.ch |
---|---|
Тема | calling a function within a view causes problems doing a pg_dumpall |
Дата | |
Msg-id | OFC18C0F7C.E3CC1843-ONC1256A45.002DBC77@pup.ch обсуждение исходный текст |
Ответы |
Re: calling a function within a view causes problems doing a pg_dumpall
|
Список | 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 по дате отправления: