RE: C function for use from PLpgSQL trigger - Mailing list pgsql-sql

From Michael Davis
Subject RE: C function for use from PLpgSQL trigger
Date
Msg-id 01C08F4D.A9B6D800.mdavis@sevainc.com
Whole thread Raw
List pgsql-sql
You could send the column name directly into your c function.  For example: 
c_function_name(NEW.col1, NEW.col2, NEW.col3).  Otherwise I am not sure how 
to send NEW into a C function.  You could try declaring NEW in your C 
function as a tuple.

-----Original Message-----
From:    Joe Conway [SMTP:jconway2@home.com]
Sent:    Sunday, February 04, 2001 1:04 AM
To:    pgsql-sql@postgresql.org
Subject:    Fw: C function for use from PLpgSQL trigger

Hello all,

I posted this (see below) Friday to the interfaces list with no response.
Does anyone know if what I'm trying to do is possible, or should I just
write the entire thing in a C function trigger? The latter would be
unfortunate because I think it would be nice to be able to extend PLpgSQL
using C functions like this.

Anyway, any help or advice will be much appreciated!

Thanks,

Joe

> Hi,
>
> I'm trying to create a C function that I can call from within a PLpgSQL
> trigger function which will return a list of all the values in the NEW
> record formatted suitably for an insert statement. I can't come up with a
> way to do this directly from within PLpgSQL (i.e. iterate through an
> arbitrary number of NEW.attribute).
>
> Can anyone tell me how I can either pass the NEW record to the C function
> (this produces an error message 'NEW used in a non-rule query') or gain
> access to the trigger tuple from within my C function? It seems that
> although PLpgSQL is called as a trigger, the C function is called as a
> regular function (makes sense) and thus has no access to the trigger 
tuple
> (my problem).
>
> Any help or guidance is greatly appreciated!
>
> Thanks,
>
> Joe Conway
>



pgsql-sql by date:

Previous
From: Keith Perry
Date:
Subject: Problem with Day of Week
Next
From: Franck Martin
Date:
Subject: Re: [HACKERS] BLOB HOWTO??