On 2017-05-30 14:42, Ann Harrison wrote:
On May 25, 2017, at 8:13 AM, Mark Rotteveel <m...@lawinegevaar.nl> wrote:

How can I find out if a parameter is a DB_KEY?

I'm implementing JDBC ROWID support in Jaybird

Does it matter that the ID is not consistent except within a transaction?

No, as JDBC is totally OK with that, it defines the following rowid 'lifetimes':

- ROWID_UNSUPPORTED
- ROWID_VALID_FOREVER
- ROWID_VALID_OTHER
- ROWID_VALID_SESSION
- ROWID_VALID_TRANSACTION

With the following consideration for validity:
ROWID_UNSUPPORTED < ROWID_VALID_OTHER < ROWID_VALID_TRANSACTION < ROWID_VALID_SESSION < ROWID_VALID_FOREVER

See https://docs.oracle.com/javase/8/docs/api/java/sql/RowIdLifetime.html and https://docs.oracle.com/javase/8/docs/api/java/sql/DatabaseMetaData.html#getRowIdLifetime--

BTW: isc_dpb_dbkey_scope=1 should extend it to session/connection scope (although my implementation will now always report ROWID_VALID_TRANSACTION).

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to