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();