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 c43074280 wip
c43074280 is described below

commit c430742805eb447d5e056ad47666c10c10fd28ed
Author: Pavel Tupitsyn <[email protected]>
AuthorDate: Mon May 30 15:31:47 2022 +0300

    wip
---
 .../apache/ignite/client/handler/ClientInboundMessageHandler.java | 8 ++++++++
 .../client/handler/requests/sql/ClientSqlCursorCloseRequest.java  | 6 +++---
 .../handler/requests/sql/ClientSqlCursorNextPageRequest.java      | 3 ---
 3 files changed, 11 insertions(+), 6 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 4adde3909..c236606b0 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
@@ -38,6 +38,8 @@ import 
org.apache.ignite.client.handler.requests.jdbc.ClientJdbcQueryMetadataReq
 import 
org.apache.ignite.client.handler.requests.jdbc.ClientJdbcSchemasMetadataRequest;
 import 
org.apache.ignite.client.handler.requests.jdbc.ClientJdbcTableMetadataRequest;
 import org.apache.ignite.client.handler.requests.jdbc.JdbcMetadataCatalog;
+import 
org.apache.ignite.client.handler.requests.sql.ClientSqlCursorCloseRequest;
+import 
org.apache.ignite.client.handler.requests.sql.ClientSqlCursorNextPageRequest;
 import org.apache.ignite.client.handler.requests.sql.ClientSqlExecuteRequest;
 import org.apache.ignite.client.handler.requests.table.ClientSchemasGetRequest;
 import org.apache.ignite.client.handler.requests.table.ClientTableGetRequest;
@@ -440,6 +442,12 @@ public class ClientInboundMessageHandler extends 
ChannelInboundHandlerAdapter {
             case ClientOp.SQL_EXEC:
                 return ClientSqlExecuteRequest.process(in, out, sql, 
resources);
 
+            case ClientOp.SQL_CURSOR_NEXT_PAGE:
+                return ClientSqlCursorNextPageRequest.process(in, out, 
resources);
+
+            case ClientOp.SQL_CURSOR_CLOSE:
+                return ClientSqlCursorCloseRequest.process(in, resources);
+
             default:
                 throw new IgniteException("Unexpected operation code: " + 
opCode);
         }
diff --git 
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlCursorCloseRequest.java
 
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlCursorCloseRequest.java
index b473d0843..8ce318c84 100644
--- 
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlCursorCloseRequest.java
+++ 
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlCursorCloseRequest.java
@@ -17,6 +17,7 @@
 
 package org.apache.ignite.client.handler.requests.sql;
 
+import java.util.concurrent.CompletableFuture;
 import org.apache.ignite.client.handler.ClientResourceRegistry;
 import org.apache.ignite.internal.client.proto.ClientMessageUnpacker;
 import org.apache.ignite.lang.IgniteInternalCheckedException;
@@ -32,13 +33,12 @@ public class ClientSqlCursorCloseRequest {
      * @param in        Unpacker.
      * @param resources Resources.
      */
-    public static void process(ClientMessageUnpacker in, 
ClientResourceRegistry resources)
+    public static CompletableFuture<Void> process(ClientMessageUnpacker in, 
ClientResourceRegistry resources)
             throws IgniteInternalCheckedException {
         long resourceId = in.unpackLong();
 
         AsyncResultSet asyncResultSet = 
resources.remove(resourceId).get(AsyncResultSet.class);
 
-        // TODO: Potential blocking? Do we need closeAsync? Check 
implementation.
-        asyncResultSet.close();
+        return asyncResultSet.closeAsync().toCompletableFuture();
     }
 }
diff --git 
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlCursorNextPageRequest.java
 
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlCursorNextPageRequest.java
index 34ebca70d..3d04f1b5d 100644
--- 
a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlCursorNextPageRequest.java
+++ 
b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlCursorNextPageRequest.java
@@ -24,7 +24,6 @@ import 
org.apache.ignite.client.handler.ClientResourceRegistry;
 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.sql.IgniteSql;
 import org.apache.ignite.sql.async.AsyncResultSet;
 
 /**
@@ -36,13 +35,11 @@ public class ClientSqlCursorNextPageRequest {
      *
      * @param in  Unpacker.
      * @param out Packer.
-     * @param sql SQL API.
      * @return Future.
      */
     public static CompletableFuture<Void> process(
             ClientMessageUnpacker in,
             ClientMessagePacker out,
-            IgniteSql sql,
             ClientResourceRegistry resources)
             throws IgniteInternalCheckedException {
         long resourceId = in.unpackLong();

Reply via email to