agora inbox for pljava-dev@postgresql.org  
help / color / mirror / Atom feed
Subject: [Pljava-dev] Re: the relation ID of the table on which the trigger occured.
Date: Wed, 25 May 2005 10:32:59 +0200
Message-ID: <4294383B.3080507@lewczuk.com> (raw)
In-Reply-To: <thhal-0xcZvA9f0zTYJXwu2y5ljtHShqmiCii@mailblocks.com>
References: <d71a0u$lbt$1@sea.gmane.org>
	<42942E42.9090005@mailblocks.com>
	<thhal-0xMZvA9X0zTYdkH7uFjvrCJvJ6lNMHk@mailblocks.com>
	<thhal-0xcZvA9f0zTYJXwu2y5ljtHShqmiCii@mailblocks.com>

Thomas Hallgren napisa?(a):
> Marek Lewczuk wrote:
> 
>> Hi,
>> I think that TriggerData class is missing getRelationID method - this 
>> should return  OID of the table on which the trigger fired. Can I get 
>> table's OID which fired the trigger in other way ?
> 
> The TriggerData.getTableName() will give you the name of the relation. 
True, but it returns only table's name, without schema name - table's
name can't be used as a true identifier of given table (because table
e.g. "pljavaexample" can exists in many schemas) and because of that
relation ID is needed.

> The TriggerData interface is designed to be as database agnostic as 
> possible (to allow other vendors to use the same interface) and the 
> relation OID is very PostgreSQL specific.
I understand, however that can lead to many other losts on the pljava's
functionality - PostgreSQL is very complex and it contains many unique
features, which are not available in other RDBMS.

> 
> We might add a method on the Oid class in the future. Something like:
>    public static Oid forRelationName(String relationName)
This will not help - you don't know the schema name (because 
getTableName() doesn't return schema name).

ML

 




view thread (7+ messages)  latest in thread

Message-ID: <4294383B.3080507@lewczuk.com>
Permalink:  ../4294383B.3080507@lewczuk.com/
Also on:    postgresql.org/message-id/4294383B.3080507@lewczuk.com

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] Re: the relation ID of the table on which the trigger occured.
  In-Reply-To: <4294383B.3080507@lewczuk.com>

* 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