Thread: Unexpected input in plpgsql script.
Hi, Let's suppose I have a table called bla; It has only one attr, called szam, type int8. If this table is empty then the 'select sum(szam) from bla;' query returns the following output: sum --- (1 row) I.e. there's a row containing NOTHING. I wrote a number formatter script with a help of this list which works beautifully except for this case. In this case I've got the following message: pqReadData() -- backend closed the channel unexpectedly. This probably means the backend terminated abnormally before or while processing the request. We have lost the connection to the backend, so further processing is impossible. Terminating. How can I handle such a case in a plpgsql function or how could I avoid it? Thanks in advance -------------------------------------------------------------------------------- Sebestyén Zoltán <szoli@netvisor.hu> I'm believing that the Holy Spirit is gonna allow the hand, and the foot, and MAKE INSTALL NOT WAR the mouth, just to begin to speak, and to minister, and to heal coordinated by the head. I use UNIX because reboots are for hardware upgrades. -- Waiting for FreeBSD 3.1, not Godot --
At 22:15 +0200 on 02/02/1999, Sebestyen Zoltan wrote: > sum > --- > > (1 row) > > I.e. there's a row containing NOTHING. I wrote a number formatter script > with a help of this list which works beautifully except for this case. In > this case I've got the following message: > pqReadData() -- backend closed the channel unexpectedly. > This probably means the backend terminated abnormally before or > while processing the request. We have lost the connection to the backend, > so further processing is impossible. > Terminating. > > How can I handle such a case in a plpgsql function or how could I avoid > it? Can't you simply test whether the returned value IS NULL or not? Herouth -- Herouth Maoz, Internet developer. Open University of Israel - Telem project http://telem.openu.ac.il/~herutma
Sebestyen Zoltan ha scritto: > Hi, > > Let's suppose I have a table called bla; > It has only one attr, called szam, type int8. If this table is empty then > the 'select sum(szam) from bla;' query returns the following output: > > sum > --- > > (1 row) This is normal. SUM() returns all the time one row, in this case value is NULL because there are no rows in the table. > > > I.e. there's a row containing NOTHING. I wrote a number formatter script > with a help of this list which works beautifully except for this case. In > this case I've got the following message: > pqReadData() -- backend closed the channel unexpectedly. > This probably means the backend terminated abnormally before or > while processing the request. We have lost the connection to the backend, > so further processing is impossible. > Terminating. > > How can I handle such a case in a plpgsql function or how could I avoid > it? What you want to do in plpgsql? -Jose'-