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 09ca831d5 wip ClientAsyncResultSet
09ca831d5 is described below

commit 09ca831d56e5c148c84bb20d5f480beccab44e4c
Author: Pavel Tupitsyn <[email protected]>
AuthorDate: Mon May 30 20:54:59 2022 +0300

    wip ClientAsyncResultSet
---
 .../internal/client/sql/ClientAsyncResultSet.java  | 38 +++++++++++-----------
 .../ignite/internal/client/sql/ClientSession.java  | 18 +---------
 2 files changed, 20 insertions(+), 36 deletions(-)

diff --git 
a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientAsyncResultSet.java
 
b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientAsyncResultSet.java
index 8a1f63e75..d3874a795 100644
--- 
a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientAsyncResultSet.java
+++ 
b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientAsyncResultSet.java
@@ -17,8 +17,10 @@
 
 package org.apache.ignite.internal.client.sql;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.CompletionStage;
+import org.apache.ignite.internal.client.proto.ClientMessageUnpacker;
 import org.apache.ignite.sql.NoRowSetExpectedException;
 import org.apache.ignite.sql.ResultSetMetadata;
 import org.apache.ignite.sql.SqlRow;
@@ -50,26 +52,24 @@ class ClientAsyncResultSet implements AsyncResultSet {
     /**
      * Constructor.
      *
-     * @param resourceId Resource id.
-     * @param hasRowSet Row set flag.
-     * @param hasMorePages More pages flag.
-     * @param wasApplied Applied flag.
-     * @param rows Rows.
+     * @param in Unpacker.
      */
-    @SuppressWarnings("AssignmentOrReturnOfFieldWithMutableType")
-    public ClientAsyncResultSet(
-            Long resourceId,
-            boolean hasRowSet,
-            boolean hasMorePages,
-            boolean wasApplied,
-            long affectedRows,
-            @Nullable List<SqlRow> rows) {
-        this.resourceId = resourceId;
-        this.hasRowSet = hasRowSet;
-        this.hasMorePages = hasMorePages;
-        this.wasApplied = wasApplied;
-        this.affectedRows = affectedRows;
-        this.rows = rows;
+    public ClientAsyncResultSet(ClientMessageUnpacker in) {
+
+        resourceId = in.tryUnpackNil() ? null : in.unpackLong();
+        hasRowSet = in.unpackBoolean();
+        hasMorePages = in.unpackBoolean();
+        wasApplied = in.unpackBoolean();
+        affectedRows = in.unpackLong();
+
+        in.unpackArrayHeader(); // TODO: Metadata IGNITE-17052.
+
+        if (hasRowSet) {
+            // TODO: Unpack rows.
+            rows = new ArrayList<>();
+        } else {
+            rows = null;
+        }
     }
 
     /** {@inheritDoc} */
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 f2f67b93d..e45c95867 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
@@ -145,23 +145,7 @@ public class ClientSession implements Session {
 
             // TODO: Pack statement properties.
             w.out().packMapHeader(0);
-        }, r -> {
-            Long resourceId = r.in().tryUnpackNil() ? null : 
r.in().unpackLong();
-            boolean hasRowSet = r.in().unpackBoolean();
-            boolean hasMorePages = r.in().unpackBoolean();
-            boolean wasApplied = r.in().unpackBoolean();
-            long affectedRows = r.in().unpackLong();
-
-            r.in().unpackArrayHeader(); // TODO: Metadata IGNITE-17052.
-
-            List<SqlRow> rows = null;
-
-            if (hasRowSet) {
-                // TODO: Unpack rows.
-            }
-
-            return new ClientAsyncResultSet(resourceId, hasRowSet, 
hasMorePages, wasApplied, affectedRows, rows);
-        });
+        }, r -> new ClientAsyncResultSet(r.in()));
     }
 
     /** {@inheritDoc} */

Reply via email to