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 "Andrei Koiro (JIRA)" <ji...@apache.org> on 2016/05/27 07:29:13 UTC
[jira] [Updated] (DERBY-6890) ASSERT FAILED type of inserted
column[0] = org.apache.derby.iapi.types.CollatorSQLVarchartype of template
column[0] = org.apache.derby.iapi.types.SQLVarchar
[ https://issues.apache.org/jira/browse/DERBY-6890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrei Koiro updated DERBY-6890:
--------------------------------
Summary: ASSERT FAILED type of inserted column[0] = org.apache.derby.iapi.types.CollatorSQLVarchartype of template column[0] = org.apache.derby.iapi.types.SQLVarchar (was: ASSERT FAILED: )
> ASSERT FAILED type of inserted column[0] = org.apache.derby.iapi.types.CollatorSQLVarchartype of template column[0] = org.apache.derby.iapi.types.SQLVarchar
> ------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-6890
> URL: https://issues.apache.org/jira/browse/DERBY-6890
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.12.1.1
> Environment: Mac OS X 10.11.5
> JDK: Oracle 1.8.0_92
> Reporter: Andrei Koiro
> Attachments: Test.groovy
>
>
> After issue https://issues.apache.org/jira/browse/DERBY-3888 was fixed, we want to use the 'GENERATED BY DEFAULT' feature
> for our tables. To do it we use this sql to alter our pk columns:
> ALTER TABLE MODULE ADD COLUMN ID_TEMP BIGINT GENERATED BY DEFAULT AS IDENTITY
> UPDATE MODULE SET ID_TEMP = ID
> 'ALTER TABLE MODULE ALTER COLUMN ID_TEMP NOT NULL;\n' +
> 'ALTER TABLE MODULE DROP ID;\n' +
> 'RENAME COLUMN MODULE.ID_TEMP TO ID;\n' +
> we are trying to migrate to derby 10.12.1.1 and want to use 'GENERATED BY DEFAULT AS IDENTITY'.
> we altered our pk columns, and added 'GENERATED BY DEFAULT AS IDENTITY'. After that when I try to insert in my table any record, I get this exception:
> Caused by: org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED type of inserted column[0] = org.apache.derby.iapi.types.CollatorSQLVarchartype of template column[0] = org.apache.derby.iapi.types.SQLVarchar
> 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:519)
> 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:1372)
> 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:565)
> at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(IndexChanger.java:393)
> at org.apache.derby.impl.sql.execute.IndexChanger.insert(IndexChanger.java:713)
> at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(IndexSetChanger.java:268)
> at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(RowChangerImpl.java:458)
> at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(InsertResultSet.java:881)
> at org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertResultSet.java:452)
> at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:473)
> at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:352)
> at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1340)
> ... 30 more
> I attached Test.groovy class which shows this issue.
> I found this workaround:
> we need drop indexes and create them again.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)