Re: Retrieving a field from the NEW record - Mailing list pgsql-general

From Eric E
Subject Re: Retrieving a field from the NEW record
Date
Msg-id 41EE6E03.6040407@bonbon.net
Whole thread Raw
In response to Re: Retrieving a field from the NEW record  (Michael Fuhr <mike@fuhr.org>)
Responses Re: Retrieving a field from the NEW record  (Michael Fuhr <mike@fuhr.org>)
List pgsql-general
Howdy Michael,
    Thanks for the help.  I 'm presently using 8.0-beta2 on Windows.  I
will upgrade that to 8.0 release today.  However, my production server
is 7.4.2 (on Linux), and I'm somewhat reticent to migrate to 8.0 because
it is still pretty new.  I belive I came across a message that indicated
that you could do such a thing in TCL.  Do you know if this is true?
Can TCL in 7.4.2 get a field from a rowtype varaible like this?

What you outline with Perl is exactly the approach I would take, and
that's what led to crashing the server process.  Perhaps PL/PERL is not
totally stable on Windows yet?  If that's the case I will indeed submit
a bug report with a test case.

Many thanks,

Eric

Michael Fuhr wrote:

>On Tue, Jan 18, 2005 at 04:21:51PM -0500, Eric E wrote:
>
>
>
>>   I'm tearing my hair out trying to solve the following problem.  I
>>want to be able to retrieve the value of the primary key in a trigger
>>function.  I have tried using PL/PGSQL and PL/PERL, but a PL/PERL
>>trigger function crashes the postgress process.
>>
>>
>
>What versions of PostgreSQL and Perl are you using?  If the backend
>is crashing then check to see if the bug has been fixed in a newer
>version of PostgreSQL.  If not then please submit a bug report with
>a repeatable test case.
>
>I wrote a simple PL/Perl trigger in 8.0.0 and was able to access
>$_TD->{new}{$pk}, where $pk held the name of a column.  Maybe the
>bug has been fixed in the latest code.
>
>
>
>>In other words, I want:
>>
>>NEW.pkName, where pkName is a variable holding the name of my primary key.
>>
>>
>
>I'm not aware of a way to do this in a PL/pgSQL trigger.  I didn't
>think EXECUTE would work and indeed it doesn't, at least not the
>way I tried:
>
>ERROR:  NEW used in query that is not in a rule
>
>
>


pgsql-general by date:

Previous
From: Devrim GUNDUZ
Date:
Subject: Re: Best Linux Distribution
Next
From: Alban Hertroys
Date:
Subject: Re: Infinite recursion detected... How do I prevent that?