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} */