You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ko...@apache.org on 2022/09/11 08:05:23 UTC
[ignite-3] branch main updated: IGNITE-17628 Get rid of Statement#prepared in public API (#1068)
This is an automated email from the ASF dual-hosted git repository.
korlov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new 2049b5858c IGNITE-17628 Get rid of Statement#prepared in public API (#1068)
2049b5858c is described below
commit 2049b5858c3f6c50828045ff4d8fc987dd4626fe
Author: korlov42 <ko...@gridgain.com>
AuthorDate: Sun Sep 11 11:05:18 2022 +0300
IGNITE-17628 Get rid of Statement#prepared in public API (#1068)
---
.../main/java/org/apache/ignite/sql/Statement.java | 22 ----------------------
.../requests/sql/ClientSqlExecuteRequest.java | 1 -
.../ignite/internal/client/sql/ClientSession.java | 3 +--
.../ignite/internal/client/sql/ClientSql.java | 2 +-
.../internal/client/sql/ClientStatement.java | 15 +--------------
.../client/sql/ClientStatementBuilder.java | 18 ------------------
.../dotnet/Apache.Ignite.Tests/FakeServer.cs | 1 -
.../Apache.Ignite.Tests/Sql/SqlStatementTests.cs | 2 +-
.../dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs | 4 +---
.../dotnet/Apache.Ignite/Internal/Sql/Sql.cs | 1 -
.../dotnet/Apache.Ignite/Sql/SqlStatement.cs | 10 +---------
.../internal/sql/api/StatementBuilderImpl.java | 17 -----------------
.../ignite/internal/sql/api/StatementImpl.java | 6 ------
.../internal/sql/engine/IgniteSqlApiTest.java | 10 ++++------
14 files changed, 10 insertions(+), 102 deletions(-)
diff --git a/modules/api/src/main/java/org/apache/ignite/sql/Statement.java b/modules/api/src/main/java/org/apache/ignite/sql/Statement.java
index 3f73a6ecb0..2be06e8f29 100644
--- a/modules/api/src/main/java/org/apache/ignite/sql/Statement.java
+++ b/modules/api/src/main/java/org/apache/ignite/sql/Statement.java
@@ -61,13 +61,6 @@ public interface Statement extends AutoCloseable {
*/
int pageSize();
- /**
- * Returns a value indicating whether this is a prepared statement.
- *
- * @return Whether this is a prepared statement.
- */
- boolean prepared();
-
/**
* Returns statement property value that overrides the session property value or {@code null} if session property value should be used.
*
@@ -103,21 +96,6 @@ public interface Statement extends AutoCloseable {
*/
StatementBuilder query(String sql);
- /**
- * Returns prepared flag.
- *
- * @return Prepared flag.
- */
- boolean prepared();
-
- /**
- * Marks current statement as prepared.
- *
- * @param prepared if {@code true} marks current statement as prepared.
- * @return {@code this} for chaining.
- */
- StatementBuilder prepared(boolean prepared);
-
/**
* Returns query timeout.
*
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 ad106c35ef..9f2b450fdb 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
@@ -121,7 +121,6 @@ public class ClientSqlExecuteRequest {
StatementBuilder statementBuilder = sql.statementBuilder();
statementBuilder.query(in.unpackString());
- statementBuilder.prepared(in.unpackBoolean());
return statementBuilder.build();
}
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 8c19fb211c..ea257719eb 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
@@ -89,7 +89,7 @@ public class ClientSession implements Session {
public CompletableFuture<AsyncResultSet> executeAsync(@Nullable Transaction transaction, String query, @Nullable Object... arguments) {
Objects.requireNonNull(query);
- ClientStatement statement = new ClientStatement(query, null, false, null, null, null);
+ ClientStatement statement = new ClientStatement(query, null, null, null, null);
return executeAsync(transaction, statement, arguments);
}
@@ -120,7 +120,6 @@ public class ClientSession implements Session {
packProperties(w, clientStatement.properties());
w.out().packString(clientStatement.query());
- w.out().packBoolean(clientStatement.prepared());
w.out().packObjectArray(arguments);
}, r -> new ClientAsyncResultSet(r.clientChannel(), r.in()));
diff --git a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientSql.java b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientSql.java
index 88dbbd15fa..76679a7e4f 100644
--- a/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientSql.java
+++ b/modules/client/src/main/java/org/apache/ignite/internal/client/sql/ClientSql.java
@@ -55,7 +55,7 @@ public class ClientSql implements IgniteSql {
/** {@inheritDoc} */
@Override
public Statement createStatement(String query) {
- return new ClientStatement(query, null, false, null, null, null);
+ return new ClientStatement(query, null, null, null, null);
}
/** {@inheritDoc} */
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 6fc1c1cdd9..ad5ea7bc74 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
@@ -34,9 +34,6 @@ public class ClientStatement implements Statement {
/** Default schema. */
private final String defaultSchema;
- /** Prepared flag. */
- private final boolean prepared;
-
/** Query timeout. */
private final Long queryTimeoutMs;
@@ -51,7 +48,6 @@ public class ClientStatement implements Statement {
*
* @param query Query.
* @param defaultSchema Default schema.
- * @param prepared Prepared.
* @param queryTimeoutMs Timeout
* @param pageSize Page size.
* @param properties Properties.
@@ -60,7 +56,6 @@ public class ClientStatement implements Statement {
public ClientStatement(
String query,
String defaultSchema,
- boolean prepared,
Long queryTimeoutMs,
Integer pageSize,
Map<String, Object> properties) {
@@ -68,7 +63,6 @@ public class ClientStatement implements Statement {
this.query = query;
this.defaultSchema = defaultSchema;
- this.prepared = prepared;
this.queryTimeoutMs = queryTimeoutMs;
this.pageSize = pageSize;
this.properties = properties;
@@ -118,12 +112,6 @@ public class ClientStatement implements Statement {
return pageSize;
}
- /** {@inheritDoc} */
- @Override
- public boolean prepared() {
- return prepared;
- }
-
/** {@inheritDoc} */
@Override
public @Nullable Object property(@NotNull String name) {
@@ -145,8 +133,7 @@ public class ClientStatement implements Statement {
public StatementBuilder toBuilder() {
var builder = new ClientStatementBuilder()
.query(query)
- .defaultSchema(defaultSchema)
- .prepared(prepared);
+ .defaultSchema(defaultSchema);
if (pageSize != null) {
builder.pageSize(pageSize);
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 a966e3463b..42c389ec1f 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
@@ -39,9 +39,6 @@ public class ClientStatementBuilder implements Statement.StatementBuilder {
/** Default schema. */
private String defaultSchema;
- /** Prepared flag. */
- private boolean prepared;
-
/** Query timeout. */
private Long queryTimeoutMs;
@@ -62,20 +59,6 @@ public class ClientStatementBuilder implements Statement.StatementBuilder {
return this;
}
- /** {@inheritDoc} */
- @Override
- public boolean prepared() {
- return prepared;
- }
-
- /** {@inheritDoc} */
- @Override
- public StatementBuilder prepared(boolean prepared) {
- this.prepared = prepared;
-
- return this;
- }
-
/** {@inheritDoc} */
@Override
public long queryTimeout(@NotNull TimeUnit timeUnit) {
@@ -142,7 +125,6 @@ public class ClientStatementBuilder implements Statement.StatementBuilder {
return new ClientStatement(
query,
defaultSchema,
- prepared,
queryTimeoutMs,
pageSize,
new HashMap<>(properties));
diff --git a/modules/platforms/dotnet/Apache.Ignite.Tests/FakeServer.cs b/modules/platforms/dotnet/Apache.Ignite.Tests/FakeServer.cs
index ab20970e67..40b4845187 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Tests/FakeServer.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Tests/FakeServer.cs
@@ -189,7 +189,6 @@ namespace Apache.Ignite.Tests
var sql = reader.ReadString();
props["sql"] = sql;
- props["prepared"] = reader.ReadBoolean();
using var arrayBufferWriter = new PooledArrayBufferWriter();
var writer = new MessagePackWriter(arrayBufferWriter);
diff --git a/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlStatementTests.cs b/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlStatementTests.cs
index 0a70050a46..b3e0796644 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlStatementTests.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlStatementTests.cs
@@ -78,7 +78,7 @@ namespace Apache.Ignite.Tests.Sql
});
var expected = "SqlStatement { Query = select foo from bar, Timeout = 00:00:01, Schema = schema2, PageSize = 256, " +
- "Prepared = False, Properties = { a = 1, b = 02:00:00 } }";
+ "Properties = { a = 1, b = 02:00:00 } }";
Assert.AreEqual(expected, s.ToString());
}
diff --git a/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs b/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs
index ddfec19d2e..5d10eadc16 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs
@@ -255,7 +255,6 @@ namespace Apache.Ignite.Tests.Sql
timeout: TimeSpan.FromSeconds(123),
schema: "schema-1",
pageSize: 987,
- prepared: true,
properties: new Dictionary<string, object?> { { "prop1", 10 }, { "prop-2", "xyz" } });
var res = await client.Sql.ExecuteAsync(null, sqlStatement);
@@ -263,13 +262,12 @@ namespace Apache.Ignite.Tests.Sql
var props = rows.ToDictionary(x => (string)x["NAME"]!, x => (string)x["VAL"]!);
Assert.IsTrue(res.HasRowSet);
- Assert.AreEqual(9, props.Count);
+ Assert.AreEqual(8, props.Count);
Assert.AreEqual("schema-1", props["schema"]);
Assert.AreEqual("987", props["pageSize"]);
Assert.AreEqual("123000", props["timeoutMs"]);
Assert.AreEqual("SELECT PROPS", props["sql"]);
- Assert.AreEqual("True", props["prepared"]);
Assert.AreEqual("10", props["prop1"]);
Assert.AreEqual("xyz", props["prop-2"]);
}
diff --git a/modules/platforms/dotnet/Apache.Ignite/Internal/Sql/Sql.cs b/modules/platforms/dotnet/Apache.Ignite/Internal/Sql/Sql.cs
index 48d2f9fdba..e92af06367 100644
--- a/modules/platforms/dotnet/Apache.Ignite/Internal/Sql/Sql.cs
+++ b/modules/platforms/dotnet/Apache.Ignite/Internal/Sql/Sql.cs
@@ -77,7 +77,6 @@ namespace Apache.Ignite.Internal.Sql
}
w.Write(statement.Query);
- w.Write(statement.Prepared);
w.WriteObjectArrayWithTypes(args);
diff --git a/modules/platforms/dotnet/Apache.Ignite/Sql/SqlStatement.cs b/modules/platforms/dotnet/Apache.Ignite/Sql/SqlStatement.cs
index 832b252057..b87890f7c4 100644
--- a/modules/platforms/dotnet/Apache.Ignite/Sql/SqlStatement.cs
+++ b/modules/platforms/dotnet/Apache.Ignite/Sql/SqlStatement.cs
@@ -55,14 +55,12 @@ namespace Apache.Ignite.Sql
/// <param name="timeout">Timeout.</param>
/// <param name="schema">Schema.</param>
/// <param name="pageSize">Page size.</param>
- /// <param name="prepared">Prepared statement mode.</param>
/// <param name="properties">Properties.</param>
public SqlStatement(
string query,
TimeSpan? timeout = null,
string? schema = null,
int? pageSize = null,
- bool prepared = false,
IReadOnlyDictionary<string, object?>? properties = null)
{
IgniteArgumentCheck.NotNull(query, nameof(query));
@@ -72,7 +70,6 @@ namespace Apache.Ignite.Sql
Timeout = timeout ?? DefaultTimeout;
Schema = schema ?? DefaultSchema;
PageSize = pageSize ?? DefaultPageSize;
- Prepared = prepared;
Properties = properties == null || properties == EmptyProperties ? EmptyProperties : new(properties);
}
@@ -96,11 +93,6 @@ namespace Apache.Ignite.Sql
/// </summary>
public int PageSize { get; init; }
- /// <summary>
- /// Gets a value indicating whether this is a prepared statement.
- /// </summary>
- public bool Prepared { get; init; }
-
/// <summary>
/// Gets the property bag.
/// </summary>
@@ -127,7 +119,7 @@ namespace Apache.Ignite.Sql
builder
.Append("SqlStatement { ")
- .Append($"Query = {Query}, Timeout = {Timeout}, Schema = {Schema}, PageSize = {PageSize}, Prepared = {Prepared}, ")
+ .Append($"Query = {Query}, Timeout = {Timeout}, Schema = {Schema}, PageSize = {PageSize}, ")
.Append("Properties = {");
var first = true;
diff --git a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/api/StatementBuilderImpl.java b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/api/StatementBuilderImpl.java
index 5002888b6a..893fa24d18 100644
--- a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/api/StatementBuilderImpl.java
+++ b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/api/StatementBuilderImpl.java
@@ -39,9 +39,6 @@ class StatementBuilderImpl implements StatementBuilder {
/** Default schema. */
private String defaultSchema;
- /** Prepared flag. */
- private boolean prepared;
-
/** Query timeout. */
private Long queryTimeoutMs;
@@ -62,20 +59,6 @@ class StatementBuilderImpl implements StatementBuilder {
return this;
}
- /** {@inheritDoc} */
- @Override
- public boolean prepared() {
- return prepared;
- }
-
- /** {@inheritDoc} */
- @Override
- public StatementBuilder prepared(boolean prepared) {
- this.prepared = prepared;
-
- return this;
- }
-
/** {@inheritDoc} */
@Override
public long queryTimeout(@NotNull TimeUnit timeUnit) {
diff --git a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/api/StatementImpl.java b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/api/StatementImpl.java
index 5a3df6a480..910190f948 100644
--- a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/api/StatementImpl.java
+++ b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/api/StatementImpl.java
@@ -62,12 +62,6 @@ class StatementImpl implements Statement {
throw new UnsupportedOperationException("Not implemented yet.");
}
- /** {@inheritDoc} */
- @Override
- public boolean prepared() {
- throw new UnsupportedOperationException("Not implemented yet.");
- }
-
/** {@inheritDoc} */
@Override
public @Nullable Object property(@NotNull String name) {
diff --git a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/IgniteSqlApiTest.java b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/IgniteSqlApiTest.java
index a91d14476a..eb60c6a57e 100644
--- a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/IgniteSqlApiTest.java
+++ b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/IgniteSqlApiTest.java
@@ -105,19 +105,18 @@ public class IgniteSqlApiTest {
.property("memoryQuota", 10 * Constants.MiB) // Set default quota.
.build();
- // Statement with params. Prepared statement.
- Statement preparedStatement = igniteSql.statementBuilder()
+ // Statement with params.
+ Statement statementWipParams = igniteSql.statementBuilder()
.query("SELECT id, val FROM tbl WHERE id > ?")
.defaultSchema("PUBLIC")
- .prepared(true)
.build();
// Execute statement.
session.execute(null, simpleStatement, /* args */ 1);
// Execute same statement in different sessions is allowed.
- session.execute(null, preparedStatement, /* args */ 1);
- sessionWithParams.execute(null, preparedStatement, /* args */ 1);
+ session.execute(null, statementWipParams, /* args */ 1);
+ sessionWithParams.execute(null, statementWipParams, /* args */ 1);
// Releasing session resources.
session.close();
@@ -421,7 +420,6 @@ public class IgniteSqlApiTest {
Mockito.when(stmtBuilder.pageSize(Mockito.anyInt())).thenAnswer(Answers.RETURNS_SELF);
Mockito.when(stmtBuilder.queryTimeout(Mockito.anyLong(), Mockito.any(TimeUnit.class))).thenAnswer(Answers.RETURNS_SELF);
Mockito.when(stmtBuilder.property(Mockito.anyString(), Mockito.any())).thenAnswer(Answers.RETURNS_SELF);
- Mockito.when(stmtBuilder.prepared(Mockito.anyBoolean())).thenAnswer(Answers.RETURNS_SELF);
Mockito.when(stmtBuilder.build()).thenReturn(statement);
Mockito.when(igniteSql.createSession()).thenReturn(session);