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

Reply via email to