From 46944d348971a04af8c582432de3b4c6aa45f72d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Olav=20L=C3=B8ite?= Date: Mon, 28 Nov 2022 13:36:56 +0100 Subject: [PATCH 1/3] feat: add method to turn on mutations --- .../cloud/spanner/jdbc/CloudSpannerJdbcConnection.java | 3 +++ .../com/google/cloud/spanner/jdbc/JdbcConnection.java | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/main/java/com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection.java b/src/main/java/com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection.java index 679fa8716..23e3b0e3e 100644 --- a/src/main/java/com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection.java +++ b/src/main/java/com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection.java @@ -299,6 +299,9 @@ default String getStatementTag() throws SQLException { */ void bufferedWrite(Mutation mutation) throws SQLException; + /** Instructs the JDBC connection to automatically convert DML statements to mutations. */ + void setConvertDmlToMutations(boolean convert) throws SQLException; + /** * Buffers the given mutations locally on the current transaction of this {@link Connection}. The * mutations will be written to the database at the next call to {@link Connection#commit()}. The diff --git a/src/main/java/com/google/cloud/spanner/jdbc/JdbcConnection.java b/src/main/java/com/google/cloud/spanner/jdbc/JdbcConnection.java index 9d75eee3f..120220d1c 100644 --- a/src/main/java/com/google/cloud/spanner/jdbc/JdbcConnection.java +++ b/src/main/java/com/google/cloud/spanner/jdbc/JdbcConnection.java @@ -564,6 +564,16 @@ public void bufferedWrite(Iterable mutations) throws SQLException { } } + @Override + public void setConvertDmlToMutations(boolean convert) throws SQLException { + checkClosed(); + try { + getSpannerConnection().setConvertDmlToMutations(convert); + } catch (SpannerException e) { + throw JdbcSqlExceptionFactory.of(e); + } + } + @SuppressWarnings("deprecation") private static final class JdbcToSpannerTransactionRetryListener implements com.google.cloud.spanner.connection.TransactionRetryListener { From fdf0380e95a7b5c8c2089825ff61ebe40b829933 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Olav=20L=C3=B8ite?= Date: Mon, 28 Nov 2022 13:40:16 +0100 Subject: [PATCH 2/3] chore: add clirr diff --- clirr-ignored-differences.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/clirr-ignored-differences.xml b/clirr-ignored-differences.xml index 235cb9074..2c14fd712 100644 --- a/clirr-ignored-differences.xml +++ b/clirr-ignored-differences.xml @@ -6,4 +6,9 @@ com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection com.google.cloud.spanner.Dialect getDialect() + + 7012 + com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection + void setConvertDmlToMutations(boolean) + From 12882a8011579f38880a5ebb848e70bb79b0e242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Knut=20Olav=20L=C3=B8ite?= Date: Tue, 29 Nov 2022 13:51:10 +0100 Subject: [PATCH 3/3] feat: add status method for dml conversion --- clirr-ignored-differences.xml | 5 +++++ .../cloud/spanner/jdbc/CloudSpannerJdbcConnection.java | 2 ++ .../java/com/google/cloud/spanner/jdbc/JdbcConnection.java | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/clirr-ignored-differences.xml b/clirr-ignored-differences.xml index 2c14fd712..64ec7b232 100644 --- a/clirr-ignored-differences.xml +++ b/clirr-ignored-differences.xml @@ -11,4 +11,9 @@ com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection void setConvertDmlToMutations(boolean) + + 7012 + com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection + boolean isConvertDmlToMutations() + diff --git a/src/main/java/com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection.java b/src/main/java/com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection.java index 23e3b0e3e..67e4148ea 100644 --- a/src/main/java/com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection.java +++ b/src/main/java/com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection.java @@ -299,6 +299,8 @@ default String getStatementTag() throws SQLException { */ void bufferedWrite(Mutation mutation) throws SQLException; + boolean isConvertDmlToMutations() throws SQLException; + /** Instructs the JDBC connection to automatically convert DML statements to mutations. */ void setConvertDmlToMutations(boolean convert) throws SQLException; diff --git a/src/main/java/com/google/cloud/spanner/jdbc/JdbcConnection.java b/src/main/java/com/google/cloud/spanner/jdbc/JdbcConnection.java index 120220d1c..b1e5a4706 100644 --- a/src/main/java/com/google/cloud/spanner/jdbc/JdbcConnection.java +++ b/src/main/java/com/google/cloud/spanner/jdbc/JdbcConnection.java @@ -564,6 +564,11 @@ public void bufferedWrite(Iterable mutations) throws SQLException { } } + public boolean isConvertDmlToMutations() throws SQLException { + checkClosed(); + return getSpannerConnection().isConvertDmlToMutations(); + } + @Override public void setConvertDmlToMutations(boolean convert) throws SQLException { checkClosed();