You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Isaac Zhu (Jira)" <ji...@apache.org> on 2021/06/22 03:23:00 UTC

[jira] [Commented] (IGNITE-14958) update SQL error "column is not compatible with index definition" after upgrading to 2.10.0

    [ https://issues.apache.org/jira/browse/IGNITE-14958?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17366968#comment-17366968 ] 

Isaac Zhu commented on IGNITE-14958:
------------------------------------

Here is the server side stack trace:

class org.apache.ignite.internal.processors.query.IgniteSQLException: Type for a column 'ASSINED_DATE' is not compatible with index definition. Expected 'Timestamp', actual type 'Date'
>---at org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl.validateIndexes(QueryTypeDescriptorImpl.java:714)
>---at org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl.validateKeyAndValue(QueryTypeDescriptorImpl.java:589)
>---at org.apache.ignite.internal.processors.query.h2.dml.UpdatePlan.processRowForUpdate(UpdatePlan.java:366)
>---at org.apache.ignite.internal.processors.query.h2.dml.DmlUtils.doUpdate(DmlUtils.java:258)
>---at org.apache.ignite.internal.processors.query.h2.dml.DmlUtils.processSelectResult(DmlUtils.java:174)
>---at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeUpdateNonTransactional(IgniteH2Indexing.java:2987)
>---at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeUpdate(IgniteH2Indexing.java:2836)
>---at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeUpdateDistributed(IgniteH2Indexing.java:2766)
>---at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeDml(IgniteH2Indexing.java:1229)
>---at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1149)
>---at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2819)
>---at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2815)
>---at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
>---at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:3378)
>---at org.apache.ignite.internal.processors.query.GridQueryProcessor.lambda$querySqlFields$2(GridQueryProcessor.java:2835)
>---at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuerySafe(GridQueryProcessor.java:2873)
>---at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2809)
>---at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2767)
>---at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:652)
>---at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.doHandle(JdbcRequestHandler.java:320)
>---at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:257)
>---at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:202)
>---at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:56)
>---at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
>---at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
>---at org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
>---at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>---at org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
>---at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>---at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>---at java.lang.Thread.run(Thread.java:748)

> update SQL error "column is not compatible with index definition" after upgrading to 2.10.0
> -------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-14958
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14958
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>    Affects Versions: 2.10
>            Reporter: Isaac Zhu
>            Priority: Blocker
>
> We have an table "issues" which has columns:
>        ID int, ASSINED_DATE timestamp, CATEGORY varchar
> This table is created and inserted with data on 2.7.6 
>  
> After upgrading to 2.10.0, when I ran updating SQL:
> update issue set category = 'A' where CATEGORY = 'B';
> It errors: 
> {color:#de350b}*Error: Type for a column 'ASSIGNED_DATE' is not compatible with index definition. Expected 'Timestamp', actual type 'Date' (state=50000,code=1)*{color}
>  
> {color:#172b4d}I tried drop the index of ASSIGNED_DATE, the updating SQL then works well.{color}
> {color:#172b4d}But, If I recreate the index of the ASSIGNED_DATE, the updating SQL not working again.{color}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)