This is an automated email from the ASF dual-hosted git repository.

ptupitsyn pushed a commit to branch ignite-14972
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/ignite-14972 by this push:
     new 908d69373 wip ClientSqlTest
908d69373 is described below

commit 908d69373dc3de60eebc4352dc7d8a526611ce4a
Author: Pavel Tupitsyn <[email protected]>
AuthorDate: Mon May 30 20:00:14 2022 +0300

    wip ClientSqlTest
---
 .../client/handler/ClientInboundMessageHandler.java    |  1 +
 .../ignite/internal/client/sql/ClientSession.java      | 18 ++++++++++++------
 .../test/java/org/apache/ignite/client/TestServer.java |  2 +-
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git 
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientInboundMessageHandler.java
 
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientInboundMessageHandler.java
index c236606b0..a90143795 100644
--- 
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientInboundMessageHandler.java
+++ 
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientInboundMessageHandler.java
@@ -143,6 +143,7 @@ public class ClientInboundMessageHandler extends 
ChannelInboundHandlerAdapter {
         assert configuration != null;
         assert compute != null;
         assert clusterService != null;
+        assert sql != null;
 
         this.igniteTables = igniteTables;
         this.igniteTransactions = igniteTransactions;
diff --git 
a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientSession.java
 
b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientSession.java
index c660ee4ce..3e417e26d 100644
--- 
a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientSession.java
+++ 
b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientSession.java
@@ -111,6 +111,12 @@ public class ClientSession implements Session {
             @Nullable Object... arguments) {
         Objects.requireNonNull(statement);
 
+        if (!(statement instanceof ClientStatement)) {
+            throw new IllegalArgumentException("Unsupported statement type: " 
+ statement.getClass());
+        }
+
+        ClientStatement clientStatement = (ClientStatement) statement;
+
         return ch.serviceAsync(ClientOp.SQL_EXEC, w -> {
             writeTx(transaction, w);
 
@@ -118,7 +124,7 @@ public class ClientSession implements Session {
             w.out().packObject(defaultSchema);
             w.out().packObject(defaultTimeout);
 
-            if (properties != null) {
+            if (properties == null) {
                 w.out().packMapHeader(0);
             } else {
                 w.out().packMapHeader(properties.size());
@@ -129,11 +135,11 @@ public class ClientSession implements Session {
                 }
             }
 
-            w.out().packObject(statement.defaultSchema());
-            w.out().packObject(statement.pageSize());
-            w.out().packObject(statement.query());
-            w.out().packObject(statement.queryTimeout(TimeUnit.MILLISECONDS));
-            w.out().packBoolean(statement.prepared());
+            w.out().packObject(clientStatement.defaultSchema());
+            w.out().packObject(clientStatement.pageSizeNullable());
+            w.out().packObject(clientStatement.query());
+            w.out().packObject(clientStatement.queryTimeoutNullable());
+            w.out().packBoolean(clientStatement.prepared());
 
             // TODO: Pack statement properties.
             w.out().packMapHeader(0);
diff --git 
a/modules/client/src/test/java/org/apache/ignite/client/TestServer.java 
b/modules/client/src/test/java/org/apache/ignite/client/TestServer.java
index d69d4e127..ef273ef9f 100644
--- a/modules/client/src/test/java/org/apache/ignite/client/TestServer.java
+++ b/modules/client/src/test/java/org/apache/ignite/client/TestServer.java
@@ -132,7 +132,7 @@ public class TestServer implements AutoCloseable {
                         compute,
                         clusterService,
                         bootstrapFactory,
-                        null
+                        ignite.sql()
                 );
 
         module.start();

Reply via email to