You can find more information about what "IX"/"S" etc mean at http://db.apache.org/derby/javadoc/engine/org/apache/derby/diag/LockTable.html
The other very useful (but little hard to read page because of the formatting) would be http://www.mail-archive.com/[email protected]/msg04584.html Mamta On 9/5/08, Geoff hendrey <[EMAIL PROTECTED]> wrote: > > Any thoughts on why dropping a column gave a deadlock? Also, where can I go > to understand the syntax of the "Lock" print. For example, what does "IX" > mean? What does "S" mean? What does (5,15) mean? > > > java.sql.SQLTransactionRollbackException: > A lock could not be obtained due to a deadlock, cycle of > locks and waiters is: > Lock : TABLE, XXX, Tablelock > Waiting XID : {178, IX} , TEST, ALTER TABLE XXX DROP COLUMN "v" > Granted XID : {176, X} > Lock : ROW, SYSCONGLOMERATES, (5,15) > Waiting XID : {176, X} , TEST, ALTER TABLE XXX DROP COLUMN "v" > Granted XID : {176, S} , {178, S} > . The selected victim is XID : 178. > 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.EmbedStatement.execute(Unknown > Source) > at > org.apache.derby.impl.jdbc.EmbedStatement.executeBatchElement(Unknown > Source) > at > org.apache.derby.impl.jdbc.EmbedStatement.executeBatch(Unknown > Source) > at > org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297) > at > org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
