Обсуждение: Examing cotets of NEW & OLD in a function programed in perl

Поиск
Список
Период
Сортировка

Examing cotets of NEW & OLD in a function programed in perl

От
stan
Дата:
I need to write a generic function to process data before allowing the
insert or update to continue.

To do this, I need to be able to examine the NEW, and OLD structures
without prior knowledge of the structure of the table that fired the
trigger.

Can someone show me an example of how to get these structures into
something I can work with in Perl?


-- 
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
                        -- Benjamin Franklin



Re: Examing cotets of NEW & OLD in a function programed in perl

От
Tom Lane
Дата:
stan <stanb@panix.com> writes:
> I need to write a generic function to process data before allowing the
> insert or update to continue.
> To do this, I need to be able to examine the NEW, and OLD structures
> without prior knowledge of the structure of the table that fired the
> trigger.

AFAIR, they're just hashes in Perl, so you should be able to do
stuff like iterating over the hash keys.

            regards, tom lane



Re: Examing cotets of NEW & OLD in a function programed in perl

От
stan
Дата:
On Tue, Mar 03, 2020 at 12:59:00PM -0500, Tom Lane wrote:
> stan <stanb@panix.com> writes:
> > I need to write a generic function to process data before allowing the
> > insert or update to continue.
> > To do this, I need to be able to examine the NEW, and OLD structures
> > without prior knowledge of the structure of the table that fired the
> > trigger.
> 
> AFAIR, they're just hashes in Perl, so you should be able to do
> stuff like iterating over the hash keys.
> 
>             regards, tom lane

So, they should just be visible as OLD, and NEW as hasshes?

Sorry for my lack of understnading.

-- 
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
                        -- Benjamin Franklin



Re: Examing cotets of NEW & OLD in a function programed in perl

От
Christophe Pettus
Дата:

> On Mar 3, 2020, at 13:26, stan <stanb@panix.com> wrote:
> So, they should just be visible as OLD, and NEW as hasshes?

They're documented here:

    https://www.postgresql.org/docs/current/plperl-triggers.html

A global hash variable $_TD is available in the trigger function with all sorts of trigger-related info.

--
-- Christophe Pettus
   xof@thebuild.com