agora inbox for pljava-dev@postgresql.org
help / color / mirror / Atom feedSubject: [Pljava-dev] PLJAVA Trigger Function more arguments
Date: Wed, 02 Nov 2005 15:31:33 +0100
Message-ID: <4368CDC5.5010508@tada.se> (raw)
In-Reply-To: <5234B8D9C36F9E4D9B1AF01013708B6B0152C04D@txindoki.tekniker.es>
References: <5234B8D9C36F9E4D9B1AF01013708B6B0152C04D@txindoki.tekniker.es>
Ignacio L?zaro wrote:
> 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?
>
Please write the SQL that you envision for your use case. I don't
understand what it is you're after. PL/Java will support whatever SQL
PostgreSQL itself has support for.
If you want to do what you just wrote, i.e '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)', then the 'new' row is
sufficient. It contains the modified values of the code and value
columns. If you want to check if the values have changed, you need to
compare with the values of the 'old' row.
Regards,
Thomas Hallgren
>
>> 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
>
>
view thread (10+ messages) latest in thread
Message-ID: <4368CDC5.5010508@tada.se>
Permalink: ../4368CDC5.5010508@tada.se/
Also on: postgresql.org/message-id/4368CDC5.5010508@tada.se
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pljava-dev@postgresql.org
Subject: Re: [Pljava-dev] PLJAVA Trigger Function more arguments
In-Reply-To: <4368CDC5.5010508@tada.se>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox