C function - other process - Mailing list pgsql-sql

From Jakub Woźny
Subject C function - other process
Date
Msg-id 20050422211800.241cf201@localhost
Whole thread Raw
Responses Re: C function - other process  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
Hello,

I wrote a simple function:

PG_FUNCTION_INFO_V1(my_fcn);

Datum
my_fcn()
{   int i,ret;   i=0;   signal(SIGCHLD,SIG_IGN);   switch(fork())   {       case 0:       {            SPI_connect();
       for(i=0;i<10;i++)           {               SPI_exec("insert into my_tmp values ('asdasd');",1);
sleep(1);           }           ret = SPI_finish();           exit(ret);       }       default:       {           ;
 }   }
 
}

Next I create a function in my database:

CREATE FUNCTION my_fcn() RETURNS void   AS '$libdir/my_fcn', 'my_fcn'   LANGUAGE c;

Now I execute "select my_fcn();" and I don't see records in table
'my_tmp', but function works.
I checked returns values from SPI function, tehere are correct.
What is wrong?

Best regards,
jakub

-- 
kubaw@o2.pl


pgsql-sql by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: How to install Postgres that supports 64-bit
Next
From: Tom Lane
Date:
Subject: Re: C function - other process