You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by pt...@apache.org on 2022/05/30 14:41:06 UTC
[ignite-3] branch ignite-14972 updated: wip ClientStatement, ClientStatementBuilder
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 8dc58e297 wip ClientStatement, ClientStatementBuilder
8dc58e297 is described below
commit 8dc58e2979adc9218971139de243e8c227fa7a75
Author: Pavel Tupitsyn <pt...@apache.org>
AuthorDate: Mon May 30 17:40:49 2022 +0300
wip ClientStatement, ClientStatementBuilder
---
.../internal/client/sql/ClientStatement.java | 23 +++++++++++++-
.../client/sql/ClientStatementBuilder.java | 37 ++++++++++++++++++++--
2 files changed, 56 insertions(+), 4 deletions(-)
diff --git a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientStatement.java b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientStatement.java
index a615f494f..6648fd0fc 100644
--- a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientStatement.java
+++ b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientStatement.java
@@ -24,6 +24,9 @@ import org.apache.ignite.sql.Statement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+/**
+ * Client SQL statement.
+ */
class ClientStatement implements Statement {
/** */
private final String query;
@@ -43,6 +46,16 @@ class ClientStatement implements Statement {
/** */
private final Map<String, Object> properties;
+ /**
+ * Constructor.
+ *
+ * @param query Query.
+ * @param defaultSchema Default schema.
+ * @param prepared Prepared.
+ * @param queryTimeoutMs Timeout
+ * @param pageSize Page size.
+ * @param properties Properties.
+ */
@SuppressWarnings("AssignmentOrReturnOfFieldWithMutableType")
public ClientStatement(
String query,
@@ -59,11 +72,13 @@ class ClientStatement implements Statement {
this.properties = properties;
}
+ /** {@inheritDoc} */
@Override
public @NotNull String query() {
return query;
}
+ /** {@inheritDoc} */
@Override
public long queryTimeout(@NotNull TimeUnit timeUnit) {
Objects.requireNonNull(timeUnit);
@@ -71,26 +86,31 @@ class ClientStatement implements Statement {
return timeUnit.convert(queryTimeoutMs, TimeUnit.MILLISECONDS);
}
+ /** {@inheritDoc} */
@Override
public String defaultSchema() {
return defaultSchema;
}
+ /** {@inheritDoc} */
@Override
public int pageSize() {
return pageSize;
}
+ /** {@inheritDoc} */
@Override
public boolean prepared() {
return prepared;
}
+ /** {@inheritDoc} */
@Override
public @Nullable Object property(@NotNull String name) {
return properties.get(name);
}
+ /** {@inheritDoc} */
@Override
public StatementBuilder toBuilder() {
var builder = new ClientStatementBuilder()
@@ -109,8 +129,9 @@ class ClientStatement implements Statement {
return builder;
}
+ /** {@inheritDoc} */
@Override
public void close() throws Exception {
-
+ // No-op.
}
}
diff --git a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientStatementBuilder.java b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientStatementBuilder.java
index f630be66b..37ecddbc2 100644
--- a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientStatementBuilder.java
+++ b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientStatementBuilder.java
@@ -17,6 +17,8 @@
package org.apache.ignite.internal.client.sql;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import org.apache.ignite.sql.Statement;
@@ -25,21 +27,31 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
class ClientStatementBuilder implements Statement.StatementBuilder {
+ /** */
+ private final Map<String, Object> properties = new HashMap<>();
+
+ /** */
private String query;
+ /** */
private String defaultSchema;
+ /** */
private boolean prepared;
+ /** */
private long queryTimeoutMs;
+ /** */
private int pageSize;
+ /** {@inheritDoc} */
@Override
public @NotNull String query() {
return query;
}
+ /** {@inheritDoc} */
@Override
public StatementBuilder query(String sql) {
query = sql;
@@ -47,11 +59,13 @@ class ClientStatementBuilder implements Statement.StatementBuilder {
return this;
}
+ /** {@inheritDoc} */
@Override
public boolean prepared() {
return prepared;
}
+ /** {@inheritDoc} */
@Override
public StatementBuilder prepared(boolean prepared) {
this.prepared = prepared;
@@ -59,6 +73,7 @@ class ClientStatementBuilder implements Statement.StatementBuilder {
return this;
}
+ /** {@inheritDoc} */
@Override
public long queryTimeout(@NotNull TimeUnit timeUnit) {
Objects.requireNonNull(timeUnit);
@@ -66,6 +81,7 @@ class ClientStatementBuilder implements Statement.StatementBuilder {
return timeUnit.convert(queryTimeoutMs, TimeUnit.MILLISECONDS);
}
+ /** {@inheritDoc} */
@Override
public StatementBuilder queryTimeout(long timeout, @NotNull TimeUnit timeUnit) {
Objects.requireNonNull(timeUnit);
@@ -75,11 +91,13 @@ class ClientStatementBuilder implements Statement.StatementBuilder {
return this;
}
+ /** {@inheritDoc} */
@Override
public String defaultSchema() {
return defaultSchema;
}
+ /** {@inheritDoc} */
@Override
public StatementBuilder defaultSchema(@NotNull String schema) {
defaultSchema = schema;
@@ -87,11 +105,13 @@ class ClientStatementBuilder implements Statement.StatementBuilder {
return this;
}
+ /** {@inheritDoc} */
@Override
public int pageSize() {
return pageSize;
}
+ /** {@inheritDoc} */
@Override
public StatementBuilder pageSize(int pageSize) {
this.pageSize = pageSize;
@@ -99,18 +119,29 @@ class ClientStatementBuilder implements Statement.StatementBuilder {
return this;
}
+ /** {@inheritDoc} */
@Override
public @Nullable Object property(@NotNull String name) {
- return null;
+ return properties.get(name);
}
+ /** {@inheritDoc} */
@Override
public StatementBuilder property(@NotNull String name, @Nullable Object value) {
- return null;
+ properties.put(name, value);
+
+ return this;
}
+ /** {@inheritDoc} */
@Override
public Statement build() {
- return null;
+ return new ClientStatement(
+ query,
+ defaultSchema,
+ prepared,
+ queryTimeoutMs,
+ pageSize,
+ new HashMap<>(properties));
}
}