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 9502573aa ClientSqlExecuteRequest
9502573aa is described below
commit 9502573aa14e69c79c5cb345c64df4cd7f5376b6
Author: Pavel Tupitsyn <[email protected]>
AuthorDate: Mon May 30 18:14:44 2022 +0300
ClientSqlExecuteRequest
---
.../requests/sql/ClientSqlExecuteRequest.java | 41 +++++++++++++++-------
1 file changed, 29 insertions(+), 12 deletions(-)
diff --git
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlExecuteRequest.java
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlExecuteRequest.java
index 4c724171c..199c5c6be 100644
---
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlExecuteRequest.java
+++
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlExecuteRequest.java
@@ -20,7 +20,6 @@ package org.apache.ignite.client.handler.requests.sql;
import static
org.apache.ignite.client.handler.requests.sql.ClientSqlCommon.packCurrentPage;
import static
org.apache.ignite.client.handler.requests.table.ClientTableCommon.readTx;
-import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import org.apache.ignite.client.handler.ClientResource;
@@ -29,7 +28,6 @@ import
org.apache.ignite.internal.client.proto.ClientMessagePacker;
import org.apache.ignite.internal.client.proto.ClientMessageUnpacker;
import org.apache.ignite.lang.IgniteInternalCheckedException;
import org.apache.ignite.lang.IgniteInternalException;
-import org.apache.ignite.sql.ColumnMetadata;
import org.apache.ignite.sql.IgniteSql;
import org.apache.ignite.sql.Session;
import org.apache.ignite.sql.Session.SessionBuilder;
@@ -55,10 +53,19 @@ public class ClientSqlExecuteRequest {
ClientResourceRegistry resources) {
var tx = readTx(in, resources);
- SessionBuilder sessionBuilder = sql.sessionBuilder()
- .defaultPageSize(in.unpackInt())
- .defaultSchema(in.unpackString())
- .defaultTimeout(in.unpackLong(), TimeUnit.MILLISECONDS);
+ SessionBuilder sessionBuilder = sql.sessionBuilder();
+
+ if (!in.tryUnpackNil()) {
+ sessionBuilder.defaultPageSize(in.unpackInt());
+ }
+
+ if (!in.tryUnpackNil()) {
+ sessionBuilder.defaultSchema(in.unpackString());
+ }
+
+ if (!in.tryUnpackNil()) {
+ sessionBuilder.defaultTimeout(in.unpackLong(),
TimeUnit.MILLISECONDS);
+ }
var propCount = in.unpackMapHeader();
@@ -70,12 +77,22 @@ public class ClientSqlExecuteRequest {
// Instead, we track active queries in the ClientSession and close
them there accordingly.
Session session = sessionBuilder.build();
- StatementBuilder statementBuilder = sql.statementBuilder()
- .defaultSchema(in.unpackString())
- .pageSize(in.unpackInt())
- .query(in.unpackString())
- .queryTimeout(in.unpackLong(), TimeUnit.MILLISECONDS)
- .prepared(in.unpackBoolean());
+ StatementBuilder statementBuilder = sql.statementBuilder();
+
+ if (!in.tryUnpackNil()) {
+ statementBuilder.defaultSchema(in.unpackString());
+ }
+ if (!in.tryUnpackNil()) {
+ statementBuilder.pageSize(in.unpackInt());
+ }
+
+ statementBuilder.query(in.unpackString());
+
+ if (!in.tryUnpackNil()) {
+ statementBuilder.queryTimeout(in.unpackLong(),
TimeUnit.MILLISECONDS);
+ }
+
+ statementBuilder.prepared(in.unpackBoolean());
propCount = in.unpackMapHeader();