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

Andrei Koiro updated DERBY-6890:
--------------------------------
    Description: 
we are trying to migrate to derby 10.12.1.1 and want to use 'GENERATED BY 
DEFAULT AS IDENTITY'. Now we use  

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.







  was:
we are trying to merge to derby 10.12.1.1 and want to use 'GENERATED BY DEFAULT 
AS IDENTITY'. Now we use  

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.








>  'ASSERT FAILED type of inserted column[0] = 
> org.apache.derby.iapi.types.CollatorSQLVarchartype of template column[0] = 
> org.apache.derby.iapi.types.SQLVarchar: 
> org.apache.derby.shared.common.sanity.AssertFailure'
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 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
>
>
> we are trying to migrate to derby 10.12.1.1 and want to use 'GENERATED BY 
> DEFAULT AS IDENTITY'. Now we use  
> 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)

Reply via email to