Mikhail Cherkasov created IGNITE-9600:
-----------------------------------------

             Summary: SQL update fails if the sql updates more than one field
                 Key: IGNITE-9600
                 URL: https://issues.apache.org/jira/browse/IGNITE-9600
             Project: Ignite
          Issue Type: Bug
          Components: sql
    Affects Versions: 2.6
            Reporter: Mikhail Cherkasov


SQL update fails if the sql updates more than one field:
{noformat}
Exception in thread "main" javax.cache.CacheException: Failed to execute map 
query on remote node [nodeId=9c46dc49-30d2-46ca-a2ec-8b1be7f19c91, 
errMsg=Failed to execute SQL query. Data conversion error converting "Entity2"; 
SQL statement:
SELECT
__Z0._KEY __C0_0,
__Z0._VAL __C0_1,
((?1 AND (__Z0.ENTITY_NAME2 = ?2)) AND (__Z0.CONTINENT = ?3)) __C0_2
FROM PUBLIC.ENTITY_TABLE __Z0
WHERE __Z0.ENTITY_ID = ?4 [22018-195]]
at 
org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.fail(GridReduceQueryExecutor.java:288)
at 
org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.onFail(GridReduceQueryExecutor.java:278)
at 
org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.onMessage(GridReduceQueryExecutor.java:257)
at 
org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor$2.onMessage(GridReduceQueryExecutor.java:202)
at 
org.apache.ignite.internal.managers.communication.GridIoManager$ArrayListener.onMessage(GridIoManager.java:2349)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1569)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1197)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127)
at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1093)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748){noformat}
Looks like ignite or underlying h2 engine generates query incorrectly:

((?1 AND (__Z0.ENTITY_NAME2 = ?2)) AND (__Z0.CONTINENT = ?3)) __C0_2

the name for first field is missed.

 

The reproducer is attached.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to