Re: C vs plpgsql and child processes - Mailing list pgsql-general

From Jan Wieck
Subject Re: C vs plpgsql and child processes
Date
Msg-id 3F40D785.3030706@Yahoo.com
Whole thread Raw
In response to Re: C vs plpgsql and child processes  (Jason Godden <jasongodden@optushome.com.au>)
Responses Re: C vs plpgsql and child processes
List pgsql-general
Jason Godden wrote:
> Hi Sean,
>
> Yeah - It is declared VOLATILE.  I think there must be something specific with
> the way PL/PGSQL handles child processes of a called function.  The child
> process actually spawns mpg123 or ogg123 so it has to live beyond the life of
> the parent.  Not sure.  What I might do is rewrite the entire procedure from
> woe to go in using SPI and see how that goes.  Failing that I guess I could
> always peek at the source! : )

PL/pgSQL does not pay any attention or could affect child processes of a
backend to my knowledge. Are you sure that the PL/pgSQL function really
calls your C function forking off the child? The best way to check would
be to have some NOTICE coming out of your C function before it actually
does create the child.


Jan

>
> Thanks,
>
> Jason
>
> On Mon, 18 Aug 2003 04:48 am, Sean Chittenden wrote:
>> > Problem is that when I call these particular functions from within
>> > plpgsql rather than through a single sql command the child never
>> > actually starts (or starts and then exits immediately).
>>
>> Are you sure?  I can't think of much that'd prevent a C function from
>> executing other than how you've declared the function (ie, is PgSQL
>> caching the results of the function?).  Make sure you've declared it
>> as VOLATILE (or don't declare it anything and it'll default to
>> VOLATILE).
>>
>> http://developer.postgresql.org/docs/postgres/sql-createfunction.html
>>
>> -sc
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>       joining column's datatypes do not match


--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: PQgetResultSet Problem
Next
From: Tom Lane
Date:
Subject: Re: compiling the examples