You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Mike Matrigali (Updated) (JIRA)" <ji...@apache.org> on 2011/12/13 21:16:30 UTC

[jira] [Updated] (DERBY-5531) Assert failure when inserting NULL into indexed column with territory-based collation

     [ https://issues.apache.org/jira/browse/DERBY-5531?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mike Matrigali updated DERBY-5531:
----------------------------------


repro'd for me also.  Here is full stack on my system from derby.log:


Tue Dec 13 12:11:11 PST 2011:
Booting Derby version The Apache Software Foundation - Apache Derby - 10.9.0.0 alpha - (1): instance a816c00e-0134-390c-db37-00000001711d
on database directory C:\mikem\_db\colldb  with class loader sun.misc.Launcher$AppClassLoader@69326932
Loaded from file:/C:/derby/s1/classes/^M
java.vendor=IBM Corporation
java.runtime.version=jvmwi3260sr9-20101124_69295
java.fullversion=JRE 1.6.0 IBM J9 2.4 Windows XP x86-32 jvmwi3260sr9-20101124_69295 (JIT enabled, AOT enabled)
J9VM - 20101124_069295
JIT  - r9_20101028_17488ifx2
GC   - 20101027_AA
user.dir=C:\mikem^M
derby.system.home=_db^M
Database Class Loader started - derby.database.classpath=''^M
Tue Dec 13 12:11:49 PST 2011 Thread[main,5,main] (XID = 202), (SESSIONID = 1), (DATABASE = colldb), (DRDAID = null), Cleanup action starting^M
Tue Dec 13 12:11:49 PST 2011 Thread[main,5,main] (XID = 202), (SESSIONID = 1), (DATABASE = colldb), (DRDAID = null), Failed Statement is: insert into
t values null^M
org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED type of inserted column[0] = org.apache.derby.iapi.types.SQLVarchartype of template
 column[0] = org.apache.derby.iapi.types.CollatorSQLVarchar^M
    at org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:162)^M
    at org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:147)^M
    at org.apache.derby.impl.store.access.btree.OpenBTree.isIndexableRowConsistent(OpenBTree.java:515)^M
    at org.apache.derby.impl.store.access.btree.BTreeController.doIns(BTreeController.java:679)^M
    at org.apache.derby.impl.store.access.btree.BTreeController.insert(BTreeController.java:1374)^M
    at org.apache.derby.impl.store.access.btree.index.B2IController.insert(B2IController.java:210)^M
    at org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(IndexChanger.java:440)^M
    at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(IndexChanger.java:383)^M
    at org.apache.derby.impl.sql.execute.IndexChanger.insert(IndexChanger.java:590)^M
    at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(IndexSetChanger.java:268)^M
    at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(RowChangerImpl.java:453)^M
    at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(InsertResultSet.java:999)^M
    at org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertResultSet.java:519)^M
    at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:443)^M
    at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:324)^M
    at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1242)^M
    at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:630)^M
    at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:559)^M
    at org.apache.derby.impl.tools.ij.ij.executeImmediate(ij.java:367)^M
    at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:527)^M
    at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:369)^M
    at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:245)^M
    at org.apache.derby.impl.tools.ij.Main.go(Main.java:229)^M
    at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:184)^M
    at org.apache.derby.impl.tools.ij.Main.main(Main.java:75)^M
    at org.apache.derby.tools.ij.main(ij.java:59)^M

                
> Assert failure when inserting NULL into indexed column with territory-based collation
> -------------------------------------------------------------------------------------
>
>                 Key: DERBY-5531
>                 URL: https://issues.apache.org/jira/browse/DERBY-5531
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.8.2.2
>            Reporter: Knut Anders Hatlen
>
> ij> connect 'jdbc:derby:colldb;territory=en;collation=TERRITORY_BASED;create=true';
> ij> create table t(x varchar(10) unique);
> 0 rows inserted/updated/deleted
> ij> insert into t values null;
> ERROR XJ001: Java exception: 'ASSERT FAILED type of inserted column[0] = org.apache.derby.iapi.types.SQLVarchartype of template column[0] = org.apache.derby.iapi.types.CollatorSQLVarchar: org.apache.derby.shared.common.sanity.AssertFailure'.
> java.sql.SQLException: Java exception: 'ASSERT FAILED type of inserted column[0] = org.apache.derby.iapi.types.SQLVarchartype of template column[0] = org.apache.derby.iapi.types.CollatorSQLVarchar: org.apache.derby.shared.common.sanity.AssertFailure'.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:98)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:142)
> 	at org.apache.derby.impl.jdbc.Util.javaException(Util.java:299)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:436)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:353)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2288)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:82)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1334)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:630)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:559)
> 	at org.apache.derby.impl.tools.ij.ij.executeImmediate(ij.java:367)
> 	at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:527)
> 	at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:369)
> 	at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:245)
> 	at org.apache.derby.impl.tools.ij.Main.go(Main.java:229)
> 	at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:184)
> 	at org.apache.derby.impl.tools.ij.Main.main(Main.java:75)
> 	at org.apache.derby.tools.ij.main(ij.java:59)
> 	at org.apache.derby.iapi.tools.run.main(run.java:53)
> Caused by: java.sql.SQLException: Java exception: 'ASSERT FAILED type of inserted column[0] = org.apache.derby.iapi.types.SQLVarchartype of template column[0] = org.apache.derby.iapi.types.CollatorSQLVarchar: org.apache.derby.shared.common.sanity.AssertFailure'.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:42)
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:122)
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:71)
> 	... 18 more
> Caused by: org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED type of inserted column[0] = org.apache.derby.iapi.types.SQLVarchartype of template column[0] = org.apache.derby.iapi.types.CollatorSQLVarchar
> 	at org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:162)
> 	at org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:147)
> 	at org.apache.derby.impl.store.access.btree.OpenBTree.isIndexableRowConsistent(OpenBTree.java:515)
> 	at org.apache.derby.impl.store.access.btree.BTreeController.doIns(BTreeController.java:679)
> 	at org.apache.derby.impl.store.access.btree.BTreeController.insert(BTreeController.java:1374)
> 	at org.apache.derby.impl.store.access.btree.index.B2IController.insert(B2IController.java:210)
> 	at org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(IndexChanger.java:440)
> 	at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(IndexChanger.java:383)
> 	at org.apache.derby.impl.sql.execute.IndexChanger.insert(IndexChanger.java:590)
> 	at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(IndexSetChanger.java:268)
> 	at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(RowChangerImpl.java:453)
> 	at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(InsertResultSet.java:999)
> 	at org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertResultSet.java:519)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:443)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:324)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1242)
> 	... 11 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira