Re: Bug #701: pqReadData() -- backend closed the channel
От | Stephan Szabo |
---|---|
Тема | Re: Bug #701: pqReadData() -- backend closed the channel |
Дата | |
Msg-id | 20020629141216.E51866-100000@megazone23.bigpanda.com обсуждение исходный текст |
Ответ на | Bug #701: pqReadData() -- backend closed the channel unexpectedly. (pgsql-bugs@postgresql.org) |
Список | pgsql-bugs |
On Sat, 29 Jun 2002 pgsql-bugs@postgresql.org wrote: > Short Description > pqReadData() -- backend closed the channel unexpectedly. > > Long Description > i have to fire a trigger whenever insertion is done on a table users > that calls the postgres function which inturn calls a c function . > wheever i am doing the insertion in the table it gives the followng error & terminates the backend: > > pqReadData() -- backend closed the channel unexpectedly. > This probably means the backend terminated abnormally > before or while processing the request. > The connection to the server was lost. Attempting reset: Failed. > > i cannot find the solution to this problem .please help. > > Sample Code > the c file that contains function is as follows: > > #include <stdio.h> > #include "pgsql/postgres.h" > void users(); > > int main() > { > users(); > } > > void users() > { > FILE *fp; > fp = fopen("/home/suresh/trigger/test.txt","w"); > fputs("Hello this is c function",fp); > } I don't believe this is a valid trigger function. Looking at the trigger documentation's simple example, I think the function should return Datum and take PG_FUNCTION_ARGS (or technically what that expands to, but...). I also think you need a PG_FUNCTION_INFO_V1(users); and the function should return the new row since you're using it as a before trigger.
В списке pgsql-bugs по дате отправления: