X-Original-To: pgsql-interfaces-postgresql.org@postgresql.org Received: from localhost (mx1.hub.org [200.46.208.251]) by postgresql.org (Postfix) with ESMTP id 2CBC29FA612 for ; Wed, 28 Jun 2006 15:15:53 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.208.251]) (amavisd-new, port 10024) with ESMTP id 07614-09 for ; Wed, 28 Jun 2006 15:15:44 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey- Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.187]) by postgresql.org (Postfix) with ESMTP id 392B19FA425 for ; Wed, 28 Jun 2006 15:15:44 -0300 (ADT) Received: from [84.187.148.9] (helo=gondolin) by mrelayeu.kundenserver.de (node=mrelayeu6) with ESMTP (Nemesis), id 0ML29c-1FveZi2pAB-0003G5; Wed, 28 Jun 2006 20:15:42 +0200 From: Dirk Heinrichs To: pgsql-interfaces@postgresql.org Subject: Re: plPerl: How to iterate over $_TD->{new} in a trigger function? Date: Wed, 28 Jun 2006 20:15:38 +0200 User-Agent: KMail/1.9.3 References: <200606282000.43782.dirk.heinrichs@online.de> In-Reply-To: <200606282000.43782.dirk.heinrichs@online.de> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart191927537.sfiBFsFffe"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200606282015.39032.dirk.heinrichs@online.de> X-Provags-ID: kundenserver.de abuse@kundenserver.de login:c7bf8d9e07a8a90137e9341cdbcdc9ab X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200606/43 X-Sequence-Number: 6184 --nextPart191927537.sfiBFsFffe Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Am Mittwoch, 28. Juni 2006 20:00 schrieb Dirk Heinrichs: > I want to write a generic trigger function, which can be attached to any > table, but it seems I'm to stupid :-) to get column/value pairs out of > $_TD->{new} and $_TD->{old}. OK, got it myself. > create or replace function test_trig() returns trigger as $$ > elog (INFO, "Table is: $_TD->{relname}\n"); > my %newrow = %_TD->{new}; my %newrow = %{$_TD->{new}}; > elog (INFO, "$x=$y\n") while (($x,$y) = each %newrow); > return; > $$ language plperl; Works as expected. Bye... Dirk --nextPart191927537.sfiBFsFffe Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.4 (GNU/Linux) iD8DBQBEosdL8NVtnsLkZ7sRAo7aAJ46dCdaEEXx6wJ2qFSJQuoFzOdwowCcCdVE Fxrp+xQPCtVz0BdhT/6RNao= =juLf -----END PGP SIGNATURE----- --nextPart191927537.sfiBFsFffe--