db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bocete <kogachegajagnjet...@gmail.com>
Subject ResultSet.next() throws ERROR XSAI3: Feature not implemented.
Date Thu, 11 Dec 2008 15:14:31 GMT

Hi,

What I'm trying to do is to access a database inside a JAR archive in order
to copy some data from it to the primary, embedded database.

Here's what I did:
The database inside the jar file has been adjusted to be read-only:
"CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(" +
                "'derby.storage.tempDirectory', " +
                "'c:/Windows/Temp')"
"CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(" +
                "'derby.stream.error.file', " +
                "'c:/Windows/Temp/derby.log')"
The log directory has been deleted prior to archiving. The embedded
(primary) database has been booted properly, and has no problem working.

I boot the database inside the JAR successfully, create a statement using
ResultSet.TYPE_SCROLL_INSENSITIVE and ResultSet.CONCUR_READ_ONLY, and create
a resultSet object using the simplest query "SELECT <columns> FROM <table>".

The resultSet is created, and I start reading rows using the exact same
method that works in the embedded database: while (resultSet .next())
{doSomething();}. The application reads data from the resultSet succesfully,
until a point (row 117/~730) where the resultSet .next() throws the
exception. The rs.last() method throws the exact same stack trace. Nothing
unusual with that (or any other row) in that table before archiving.

The stack trace contants several methods that seem related to temporary
files. Could it be that the JAR database is not infact entirely set to be
read-only?

Thanks,
Ivan


Here is the stack trace:

.... // Exception wrapper, unimportant

Caused by: java.sql.SQLException: Feature not implemented.
        at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
Source)
        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
        at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
Source)
        at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
Source)
        at
org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
        at
org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
        at
org.apache.derby.impl.jdbc.EmbedResultSet.closeOnTransactionError(Unknown
Source)
        at org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(Unknown
Source)
        at org.apache.derby.impl.jdbc.EmbedResultSet.next(Unknown Source)
        at org.una.db.Database.getRowTableFromResultSet(Database.java:181)
// <- that is the while (resultSet.next()) line
        ... 31 more
Caused by: java.sql.SQLException: Feature not implemented.
        at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
Source)
        at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
Source)
        ... 41 more
Caused by: ERROR XSAI3: Feature not implemented.
        at
org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
        at org.apache.derby.impl.store.raw.log.ReadOnly.checkVersion(Unknown
Source)
        at org.apache.derby.impl.store.raw.RawStore.checkVersion(Unknown
Source)
        at
org.apache.derby.impl.store.access.RAMTransaction.checkVersion(Unknown
Source)
        at
org.apache.derby.impl.store.access.heap.HeapConglomerateFactory.createConglomerate(Unknown
Source)
        at
org.apache.derby.impl.store.access.RAMTransaction.createConglomerate(Unknown
Source)
        at org.apache.derby.iapi.store.access.DiskHashtable.<init>(Unknown
Source)
        at
org.apache.derby.iapi.store.access.BackingStoreHashtable.spillToDisk(Unknown
Source)
        at
org.apache.derby.iapi.store.access.BackingStoreHashtable.add_row_to_hash_table(Unknown
Source)
        at
org.apache.derby.iapi.store.access.BackingStoreHashtable.putRow(Unknown
Source)
        at
org.apache.derby.impl.sql.execute.ScrollInsensitiveResultSet.addRowToHashTable(Unknown
Source)
        at
org.apache.derby.impl.sql.execute.ScrollInsensitiveResultSet.getNextRowFromSource(Unknown
Source)
        at
org.apache.derby.impl.sql.execute.ScrollInsensitiveResultSet.getNextRowCore(Unknown
Source)
        at
org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.getNextRow(Unknown
Source)
        ... 34 more

-- 
View this message in context: http://www.nabble.com/ResultSet.next%28%29-throws-ERROR-XSAI3%3A-Feature-not-implemented.-tp20957328p20957328.html
Sent from the Apache Derby Users mailing list archive at Nabble.com.


Mime
View raw message