db-ojb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Armin Waibel <arm...@apache.org>
Subject Re: SECUENCE of PostgreSQL increment value if use QueryByIdentityand getObjectByQuery
Date Thu, 13 Jan 2005 01:05:58 GMT


Antonio Gallardo wrote:
> Hi Armin!
> 
> Thanks for the replies! I was talking with Carlos and we think this is a
> bug because we are quering and we will not expect changes on the database
> while quering. Suppose someone is using a read-only one (on a CDROM)?
> 
> Checking in the RDBMS world, if we ask for:
> 
> SELECT count(*) FROM clients where cli_id = null;
> 
> The answer is 0 rows. No errors and not touched the Sequence at all.
> 
> Few minuts ago, Carlos tested other cases, for example, what could happen
> if we are not using a sequence at all?
> Answer: In this case, returns null! That is cool. :-D
> 
> In conclusion, we found that if we don't use sequences at all then:
> 
> if PK=null or PK!=null but the PK value does not match to a table row PK,
> then it returns null. So that is what we could expect in the case of using
> sequences.
> 
> WDYT?
> 
> Can you send me some hints, where I can find the classes and I will try to
> fix this small problem? ;-)
> 

Have a look at PersistenceBrokerImpl line 1527.

I attached a fix that should work (not tested).

The main problem was Identity class. This class obtain new id's and set 
the PK values in the persistent object (if PK fields are null). In my 
opinion this should not happen (bad design), but to change this will be 
costly.

regards,
Armin


> Best Regards,
> 
> Antonio Gallardo.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-dev-help@db.apache.org
> 
> 
> 

Mime
View raw message