C function - other process

Поиск
Список
Период
Сортировка
От Jakub Woźny
Тема C function - other process
Дата
Msg-id 20050422211800.241cf201@localhost
обсуждение исходный текст
Ответы Re: C function - other process  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: Scott Marlowe
Дата:
Сообщение: Re: How to install Postgres that supports 64-bit
Следующее
От: Tom Lane
Дата:
Сообщение: Re: C function - other process