> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Jared Williams > Sent: 30 June 2008 00:03 > To: 'Gaetano Giunta'; 'Components' > Subject: Re: [Components] [PersistentObject] Design: > Identitymap and relation pre-fetching support > > > > > Oracle does not have a "rowid" id/timestamp for this > (oracle standard > > rowid pseudocolumn is actually a row identifier, not row version > > identifier, guaranteed to be unique only within the table itself). > > > > In Oracle 11g there is the ORA_ROWSCN that could be used to > identify > > this > > (http://download.oracle.com/docs/cd/B28359_01/server.111/b2828 > > 6/pseudocolumns007.htm#BABFAFIC), but if we have to be > compatible back > > to version 9 (which imho we really should, as oracle > installs tend to > > upgrade very conservatively), we cannot rely on it. > > > > The simplest thing working for all versions would be to add > a "rowid" > > column to the table, and a trigger+sequence that updates the value > > upon updates, same as we do for autoincrement colums. I would say > > using integers guarantees better consistency than timestamps - > > timestamps in oracle can go up to 9 digits precision (as in > fractions > > of a second), with 6 digits being the default. But I also like to > > always add a LastModified column to all my tables, just for > > traceability... > > > > Ah I should've explained was using timetamps on SQL Server. > > MSSQL used the term timestamp for its rowversion datatype, > but they were 8 byte values, not the usual/standard timestamp. > In 2000 a synonym called rowversion was added, and deprecated > the use of the timestamp datatype.
Forgot to add, PostgreSQL tables have a hidden column, xmin, which can be used. Jared -- Components mailing list Components@lists.ez.no http://lists.ez.no/mailman/listinfo/components