[Pljava-dev] PLJAVA Trigger Function more arguments

From: ilazaro at tekniker(dot)es ( Ignacio Lázaro )
To:
Subject: [Pljava-dev] PLJAVA Trigger Function more arguments
Date: 2005-11-02 14:21:19
Message-ID: 5234B8D9C36F9E4D9B1AF01013708B6B0152C04D@txindoki.tekniker.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pljava-dev

The concepts of 'old' and 'new' row is clear for me, my open question is:

Is there another way of executing a java class from PostgreSQL trigger or function different than the following?

> CREATE TRIGGER tu_elementos_instalacion_monitorizar_tr
> AFTER UPDATE
> ON elementos_instalacion_monitorizar
> FOR EACH ROW
> EXECUTE PROCEDURE sendudpmessagetr('valor');
>
> CREATE OR REPLACE FUNCTION sendudpmessagetr()
> RETURNS "trigger" AS
> 'tekniker.udpip.SendUdpMessage.sendudpmessagetr'
> LANGUAGE 'javau' VOLATILE;
> ALTER FUNCTION sendudpmessagetr() OWNER TO optemi;

Regards
Nacho

-----Mensaje original-----
De: Thomas Hallgren [mailto:thomas at tada.se]
Enviado el: mi?rcoles, 02 de noviembre de 2005 15:15
Para: Ignacio L?zaro
CC: pljava-dev at gborg.postgresql.org
Asunto: Re: [Pljava-dev] PLJAVA Trigger Function more arguments

Ignacio L?zaro wrote:
> Hello
>
> I have the table 'elementos_intalacion_monitorizar' with the fields 'value' and 'code'
> After one UPDATE of this table I want send a UDP message to a port of a IP with the code and value modified (only if the value has changed)
>
> I have a java class to send a UDP message and the required parameters are IP, port and code&value. IP and port are defined in a table named configuration
>
> So what I need, is to define a trigger that
> 1- check if the value of the code has really changed
> 2- get the ip and port from configuration table
> 3- execute the java class that send the UDP message with the required values
>
> What I have done
> 1- I have installed in postgreSQL the java class
> 2- I have defined the TRIGGER and FUNCTION explained before, but as I can understand with your last message and for my tests is that it is not possible get dinamically from a table the ip and port values inside the definition of the trigger
>
> My question at this stage : is there another way of executing a java class from PostgreSQL trigger or function?
>
>
A trigger has a concept of an 'old' and a 'new' row. What you're after
is the 'new' row, i.e.

ResultSet newRow = td.getNew();
String value = newRow.getString("value");
String code = newRow.getString("code");

Regards,
Thomas Hallgren

Responses

Browse pljava-dev by date

  From Date Subject
Next Message Thomas Hallgren 2005-11-02 14:31:33 [Pljava-dev] PLJAVA Trigger Function more arguments
Previous Message Thomas Hallgren 2005-11-02 14:15:03 [Pljava-dev] PLJAVA Trigger Function more arguments