You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2017/09/28 07:00:09 UTC

[jira] [Updated] (IGNITE-6046) Multiple SQL statements in one JDBC command do not work

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

Vladimir Ozerov updated IGNITE-6046:
------------------------------------
    Labels: important usability  (was: usability)

> Multiple SQL statements in one JDBC command do not work
> -------------------------------------------------------
>
>                 Key: IGNITE-6046
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6046
>             Project: Ignite
>          Issue Type: Task
>          Components: jdbc, sql
>            Reporter: Dmitriy Setrakyan
>            Assignee: Taras Ledkov
>              Labels: important, usability
>             Fix For: 2.3
>
>
> I have connected to Ignite from DBeaver using our thin JDBC driver. When I execute more than one statement from the SQL Editor, I get an error.
> For example, highlighting and executing these 2 statements gives an error:
> {code:sql}
> INSERT INTO city (id, name) VALUES (2, 'Forest Hill');
> INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3);
> {code}
> Here is the error I get:
> {code}
> [15:25:17,265][SEVERE][sql-connector-#150%null%][JdbcRequestHandler] Failed to execute SQL query [reqId=26, req=JdbcQueryExecuteRequest [schemaName=null, pageSize=1024, maxRows=0, sqlQry=INSERT INTO city (id, name) VALUES (2, 'Forest Hill');
> INSERT INTO person (id, name, city_id) VALUES (2, 'John Doe', 3), args=[]]]
> javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: Can not set org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to org.h2.command.CommandList
>         at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1863)
>         at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.executeQuery(JdbcRequestHandler.java:188)
>         at org.apache.ignite.internal.processors.odbc.jdbc.JdbcRequestHandler.handle(JdbcRequestHandler.java:122)
>         at org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:152)
>         at org.apache.ignite.internal.processors.odbc.SqlListenerNioListener.onMessage(SqlListenerNioListener.java:44)
>         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:110)
>         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:745)
> Caused by: class org.apache.ignite.IgniteCheckedException: Can not set org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to org.h2.command.CommandList
>         at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2316)
>         at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFieldsNoCache(GridQueryProcessor.java:1860)
>         ... 12 more
> Caused by: java.lang.IllegalArgumentException: Can not set org.h2.command.Prepared field org.h2.command.CommandContainer.prepared to org.h2.command.CommandList
>         at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167)
>         at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171)
>         at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58)
>         at sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:36)
>         at java.lang.reflect.Field.get(Field.java:393)
>         at org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser$Getter.get(GridSqlQueryParser.java:1600)
>         at org.apache.ignite.internal.processors.query.h2.sql.GridSqlQueryParser.prepared(GridSqlQueryParser.java:443)
>         at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1298)
>         at org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1856)
>         at org.apache.ignite.internal.processors.query.GridQueryProcessor$6.applyx(GridQueryProcessor.java:1852)
>         at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
>         at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2293)
>         ... 13 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)