Alan, I don't have any tips on solving the problem you are encountering but
I did want to mention that the 2 properties derby.storage.pageSize and
derby.storage.pageReservedSpace should be set prior to CREATE TABLE or
CREATE INDEX statement. Setting these properties does not change the
exisiting tables or indexes. They apply to newly created tables/indexes. You
can find more about them in the Derby Tuning Guide at
http://db.apache.org/derby/docs/10.2/tuning/rtunproper28026.html and
http://db.apache.org/derby/docs/10.2/tuning/rtunproper40688.html
Mamta
On 1/16/07, BALDWIN, ALAN J [AG-Contractor/1000] <
[EMAIL PROTECTED]> wrote:
Hi all,
I'm wondering if anyone knows a resolution for the below problem:
We are getting the "ERROR XSDA3 (Record cannot be updated or inserted due
to
lack of space on the page)" when we try to execute an INSERT statement on
a
cloudscape table via our Java Application. The table that we are inserting
into has 4128 rows before the insert.
(Stack trace is at the end of this email). After that any database access
from the application causes the following error:
"Could not open XXXXX database: java.sql.SQLException: Java exception: ':
java.lang.ArrayIndexOutOfBoundsException'."
If we exit out of the application, we are no longer able to connect to the
database. We get the following exception:
java.sql.SQLException: Failed to start database 'SeedTrakDB', see the next
exception for details.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown
Source)
at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown
Source)
at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
We tried adding the following two properties in the service.propertiesfile
of the database but that did not help:
derby.storage.pageSize=32768
derby.storage.pageReservedSpace=80
Stack Trace:
ERROR XSDA3: Limitation: Record cannot be updated or inserted due to lack
of
space on the page. Use the parameters derby.storage.pageSize and/or
derby.storage.pageReservedSpace to work around this limitation.
at
org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
at
org.apache.derby.impl.store.raw.data.CopyRowsOperation.writeOptionalDataToBu
ffer(Unknown Source)
at
org.apache.derby.impl.store.raw.data.CopyRowsOperation.<init>(Unknown
Source)
at
org.apache.derby.impl.store.raw.data.LoggableActions.actionCopyRows
(Unknown
Source)
at org.apache.derby.impl.store.raw.data.BasePage.copyInto(Unknown
Source)
at
org.apache.derby.impl.store.raw.data.BasePage.copyAndPurge(Unknown Source)
at
org.apache.derby.impl.store.access.btree.LeafControlRow.splitFor(Unknown
Source)
at
org.apache.derby.impl.store.access.btree.BranchControlRow.splitFor(Unknown
Source)
at
org.apache.derby.impl.store.access.btree.BTreeController.start_xact_and_dosp
lit(Unknown Source)
at
org.apache.derby.impl.store.access.btree.BTreeController.doIns(Unknown
Source)
at
org.apache.derby.impl.store.access.btree.BTreeController.insert(Unknown
Source)
at
org.apache.derby.impl.store.access.btree.index.B2IController.insert
(Unknown
Source)
at
org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown
Source)
at
org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown Source)
at
org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown
Source)
at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown
Source)
at
org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown
Source)
Regards,
-Alan Baldwin-
---------------------------------------------------------------------------------------------------------
This e-mail message may contain privileged and/or confidential
information, and is intended to be received only by persons entitled to
receive such information. If you have received this e-mail in error, please
notify the sender immediately. Please delete it and all attachments from any
servers, hard drives or any other media. Other use of this e-mail by you is
strictly prohibited.
All e-mails and attachments sent and received are subject to monitoring,
reading and archival by Monsanto. The recipient of this e-mail is solely
responsible for checking for the presence of "Viruses" or other "Malware".
Monsanto accepts no liability for any damage caused by any such code
transmitted by or accompanying this e-mail or any attachment.
---------------------------------------------------------------------------------------------------------