diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml
index 6983bb26347..f817c5f4499 100644
--- a/.github/.OwlBot.lock.yaml
+++ b/.github/.OwlBot.lock.yaml
@@ -13,5 +13,5 @@
# limitations under the License.
docker:
image: gcr.io/cloud-devrel-public-resources/owlbot-java:latest
- digest: sha256:25b384ee1674eda3984ec41c15b514a63bbeb5eda4d57c73c7e6f5adef2fd2f1
-# created: 2024-04-05T19:12:34.133475268Z
+ digest: sha256:31aa2ef27b071c2e7844b0eb1d5a24254daff06615b1b138b994dd6345c0b0ea
+# created: 2024-05-17T15:15:57.6714113Z
diff --git a/.github/workflows/approve-readme.yaml b/.github/workflows/approve-readme.yaml
index f5fc7d5169e..59f00b8eb6e 100644
--- a/.github/workflows/approve-readme.yaml
+++ b/.github/workflows/approve-readme.yaml
@@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'googleapis' && github.head_ref == 'autosynth-readme'
steps:
- - uses: actions/github-script@v6
+ - uses: actions/github-script@v7
with:
github-token: ${{secrets.YOSHI_APPROVER_TOKEN}}
script: |
diff --git a/.github/workflows/renovate_config_check.yaml b/.github/workflows/renovate_config_check.yaml
index 87d8eb2be8c..7c5ec7865e1 100644
--- a/.github/workflows/renovate_config_check.yaml
+++ b/.github/workflows/renovate_config_check.yaml
@@ -14,7 +14,7 @@ jobs:
uses: actions/checkout@v4
- name: Set up Node.js
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version: '20'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f689e6160e6..df2d86a1349 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,24 @@
# Changelog
+## [6.68.0](https://github.com/googleapis/java-spanner/compare/v6.67.0...v6.68.0) (2024-05-27)
+
+
+### Features
+
+* [java] allow passing libraries_bom_version from env ([#1967](https://github.com/googleapis/java-spanner/issues/1967)) ([#3112](https://github.com/googleapis/java-spanner/issues/3112)) ([7d5a52c](https://github.com/googleapis/java-spanner/commit/7d5a52c19a4b8028b78fc64a10f1ba6127fa6ffe))
+* Allow DML batches in transactions to execute analyzeUpdate ([#3114](https://github.com/googleapis/java-spanner/issues/3114)) ([dee7cda](https://github.com/googleapis/java-spanner/commit/dee7cdabe74058434e4d630846f066dc82fdf512))
+* **spanner:** Add support for Proto Columns in Connection API ([#3123](https://github.com/googleapis/java-spanner/issues/3123)) ([7e7c814](https://github.com/googleapis/java-spanner/commit/7e7c814045dc84aaa57e7c716b0221e6cb19bcd1))
+
+
+### Bug Fixes
+
+* Allow getMetadata() calls before calling next() ([#3111](https://github.com/googleapis/java-spanner/issues/3111)) ([39902c3](https://github.com/googleapis/java-spanner/commit/39902c384f3f7f9438252cbee287f2428faf1440))
+
+
+### Dependencies
+
+* Update dependency org.graalvm.buildtools:native-maven-plugin to v0.10.2 ([#3117](https://github.com/googleapis/java-spanner/issues/3117)) ([ddebbbb](https://github.com/googleapis/java-spanner/commit/ddebbbbeef976f61f23cdd66c5f7c1f412e2f9bd))
+
## [6.67.0](https://github.com/googleapis/java-spanner/compare/v6.66.0...v6.67.0) (2024-05-22)
diff --git a/README.md b/README.md
index 038867956ae..ba3bc5d59c7 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file:
com.google.cloud
libraries-bom
- 26.37.0
+ 26.39.0
pom
import
@@ -42,7 +42,7 @@ If you are using Maven without the BOM, add this to your dependencies:
com.google.cloud
google-cloud-spanner
- 6.66.0
+ 6.67.0
```
@@ -57,13 +57,13 @@ implementation 'com.google.cloud:google-cloud-spanner'
If you are using Gradle without BOM, add this to your dependencies:
```Groovy
-implementation 'com.google.cloud:google-cloud-spanner:6.66.0'
+implementation 'com.google.cloud:google-cloud-spanner:6.67.0'
```
If you are using SBT, add this to your dependencies:
```Scala
-libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.66.0"
+libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.67.0"
```
@@ -671,7 +671,7 @@ Java is a registered trademark of Oracle and/or its affiliates.
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-spanner/java11.html
[stability-image]: https://img.shields.io/badge/stability-stable-green
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-spanner.svg
-[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner/6.66.0
+[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner/6.67.0
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles
diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml
index 4c5d4f6efbd..5d9d436fc21 100644
--- a/benchmarks/pom.xml
+++ b/benchmarks/pom.xml
@@ -24,7 +24,7 @@
com.google.cloud
google-cloud-spanner-parent
- 6.67.0
+ 6.68.0
@@ -92,7 +92,7 @@
com.google.cloud
google-cloud-spanner
- 6.66.0
+ 6.67.0
commons-cli
diff --git a/google-cloud-spanner-bom/pom.xml b/google-cloud-spanner-bom/pom.xml
index 375aafe0817..75f97b7fc25 100644
--- a/google-cloud-spanner-bom/pom.xml
+++ b/google-cloud-spanner-bom/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.google.cloud
google-cloud-spanner-bom
- 6.67.0
+ 6.68.0
pom
com.google.cloud
@@ -53,43 +53,43 @@
com.google.cloud
google-cloud-spanner
- 6.67.0
+ 6.68.0
com.google.cloud
google-cloud-spanner
test-jar
- 6.67.0
+ 6.68.0
com.google.api.grpc
grpc-google-cloud-spanner-v1
- 6.67.0
+ 6.68.0
com.google.api.grpc
grpc-google-cloud-spanner-admin-instance-v1
- 6.67.0
+ 6.68.0
com.google.api.grpc
grpc-google-cloud-spanner-admin-database-v1
- 6.67.0
+ 6.68.0
com.google.api.grpc
proto-google-cloud-spanner-admin-instance-v1
- 6.67.0
+ 6.68.0
com.google.api.grpc
proto-google-cloud-spanner-v1
- 6.67.0
+ 6.68.0
com.google.api.grpc
proto-google-cloud-spanner-admin-database-v1
- 6.67.0
+ 6.68.0
diff --git a/google-cloud-spanner-executor/pom.xml b/google-cloud-spanner-executor/pom.xml
index ab7d060a86c..fab27c91baf 100644
--- a/google-cloud-spanner-executor/pom.xml
+++ b/google-cloud-spanner-executor/pom.xml
@@ -5,14 +5,14 @@
4.0.0
com.google.cloud
google-cloud-spanner-executor
- 6.67.0
+ 6.68.0
jar
Google Cloud Spanner Executor
com.google.cloud
google-cloud-spanner-parent
- 6.67.0
+ 6.68.0
diff --git a/google-cloud-spanner/clirr-ignored-differences.xml b/google-cloud-spanner/clirr-ignored-differences.xml
index e659fd125ce..b591c0378de 100644
--- a/google-cloud-spanner/clirr-ignored-differences.xml
+++ b/google-cloud-spanner/clirr-ignored-differences.xml
@@ -337,6 +337,12 @@
com/google/cloud/spanner/spi/v1/GapicSpannerRpc
com.google.cloud.spanner.spi.v1.SpannerRpc$StreamingCall read(com.google.spanner.v1.ReadRequest, com.google.cloud.spanner.spi.v1.SpannerRpc$ResultStreamConsumer, java.util.Map)
+
+ 7005
+ com/google/cloud/spanner/spi/v1/GapicSpannerRpc
+ com.google.api.gax.longrunning.OperationFuture updateDatabaseDdl(java.lang.String, java.lang.Iterable, java.lang.String)
+ com.google.api.gax.longrunning.OperationFuture updateDatabaseDdl(com.google.cloud.spanner.Database, java.lang.Iterable, java.lang.String)
+
7005
com/google/cloud/spanner/spi/v1/GapicSpannerRpc
@@ -387,6 +393,12 @@
com/google/cloud/spanner/spi/v1/SpannerRpc
com.google.cloud.spanner.spi.v1.SpannerRpc$StreamingCall read(com.google.spanner.v1.ReadRequest, com.google.cloud.spanner.spi.v1.SpannerRpc$ResultStreamConsumer, java.util.Map)
+
+ 7005
+ com/google/cloud/spanner/spi/v1/SpannerRpc
+ com.google.api.gax.longrunning.OperationFuture updateDatabaseDdl(java.lang.String, java.lang.Iterable, java.lang.String)
+ com.google.api.gax.longrunning.OperationFuture updateDatabaseDdl(com.google.cloud.spanner.Database, java.lang.Iterable, java.lang.String)
+
7005
com/google/cloud/spanner/spi/v1/SpannerRpc
@@ -656,7 +668,7 @@
com/google/cloud/spanner/connection/Connection
com.google.cloud.spanner.Spanner getSpanner()
-
+
7012
@@ -668,7 +680,7 @@
com/google/cloud/spanner/connection/Connection
com.google.cloud.spanner.connection.DdlInTransactionMode getDdlInTransactionMode()
-
+
7012
@@ -676,4 +688,28 @@
boolean isEnableExtendedTracing()
+
+
+ 7012
+ com/google/cloud/spanner/connection/Connection
+ boolean isExcludeTxnFromChangeStreams()
+
+
+ 7012
+ com/google/cloud/spanner/connection/Connection
+ void setExcludeTxnFromChangeStreams(boolean)
+
+
+
+
+ 7012
+ com/google/cloud/spanner/connection/Connection
+ byte[] getProtoDescriptors()
+
+
+ 7012
+ com/google/cloud/spanner/connection/Connection
+ void setProtoDescriptors(byte[])
+
+
diff --git a/google-cloud-spanner/pom.xml b/google-cloud-spanner/pom.xml
index ba3a19bd16a..511ccc8eec2 100644
--- a/google-cloud-spanner/pom.xml
+++ b/google-cloud-spanner/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.google.cloud
google-cloud-spanner
- 6.67.0
+ 6.68.0
jar
Google Cloud Spanner
https://github.com/googleapis/java-spanner
@@ -11,7 +11,7 @@
com.google.cloud
google-cloud-spanner-parent
- 6.67.0
+ 6.68.0
google-cloud-spanner
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/Type.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/Type.java
index 4d93a9bfb02..748cb7f87ec 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/Type.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/Type.java
@@ -147,7 +147,7 @@ public static Type pgOid() {
/**
* To get the descriptor for the {@code PROTO} type.
*
- * @param protoTypeFqn Proto fully qualified name (ex: "spanner.examples.music.SingerInfo").
+ * @param protoTypeFqn Proto fully qualified name (ex: "examples.spanner.music.SingerInfo").
*/
public static Type proto(String protoTypeFqn) {
return new Type(Code.PROTO, protoTypeFqn);
@@ -156,7 +156,7 @@ public static Type proto(String protoTypeFqn) {
/**
* To get the descriptor for the {@code ENUM} type.
*
- * @param protoTypeFqn Proto ENUM fully qualified name (ex: "spanner.examples.music.Genre")
+ * @param protoTypeFqn Proto ENUM fully qualified name (ex: "examples.spanner.music.Genre")
*/
public static Type protoEnum(String protoTypeFqn) {
return new Type(Code.ENUM, protoTypeFqn);
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractBaseUnitOfWork.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractBaseUnitOfWork.java
index 698e20dca26..ef624ea8416 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractBaseUnitOfWork.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractBaseUnitOfWork.java
@@ -73,6 +73,7 @@ abstract class AbstractBaseUnitOfWork implements UnitOfWork {
private final StatementExecutor statementExecutor;
private final StatementTimeout statementTimeout;
protected final String transactionTag;
+ protected final boolean excludeTxnFromChangeStreams;
protected final RpcPriority rpcPriority;
protected final Span span;
@@ -107,6 +108,8 @@ abstract static class Builder, T extends AbstractBaseUni
private StatementExecutor statementExecutor;
private StatementTimeout statementTimeout = new StatementTimeout();
private String transactionTag;
+
+ private boolean excludeTxnFromChangeStreams;
private RpcPriority rpcPriority;
private Span span;
@@ -134,6 +137,11 @@ B setTransactionTag(@Nullable String tag) {
return self();
}
+ B setExcludeTxnFromChangeStreams(boolean excludeTxnFromChangeStreams) {
+ this.excludeTxnFromChangeStreams = excludeTxnFromChangeStreams;
+ return self();
+ }
+
B setRpcPriority(@Nullable RpcPriority rpcPriority) {
this.rpcPriority = rpcPriority;
return self();
@@ -152,6 +160,7 @@ B setSpan(@Nullable Span span) {
this.statementExecutor = builder.statementExecutor;
this.statementTimeout = builder.statementTimeout;
this.transactionTag = builder.transactionTag;
+ this.excludeTxnFromChangeStreams = builder.excludeTxnFromChangeStreams;
this.rpcPriority = builder.rpcPriority;
this.span = Preconditions.checkNotNull(builder.span);
}
@@ -167,8 +176,6 @@ private Void endUnitOfWorkSpan() {
return null;
}
- abstract boolean isSingleUse();
-
/**
* Returns a descriptive name for the type of transaction / unit of work. This is used in error
* messages.
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractMultiUseTransaction.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractMultiUseTransaction.java
index f84f379e79a..ca78c3e5aea 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractMultiUseTransaction.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractMultiUseTransaction.java
@@ -96,7 +96,7 @@ public String toString() {
}
@Override
- boolean isSingleUse() {
+ public boolean isSingleUse() {
return false;
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementValueConverters.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementValueConverters.java
index 6be277777a6..4e4053249d2 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementValueConverters.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementValueConverters.java
@@ -26,10 +26,12 @@
import com.google.cloud.spanner.connection.PgTransactionMode.IsolationLevel;
import com.google.common.base.Function;
import com.google.common.base.Preconditions;
+import com.google.common.base.Strings;
import com.google.protobuf.Duration;
import com.google.protobuf.util.Durations;
import com.google.spanner.v1.DirectedReadOptions;
import com.google.spanner.v1.RequestOptions.Priority;
+import java.util.Base64;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Locale;
@@ -563,4 +565,46 @@ public String convert(String value) {
return value.substring(7).trim();
}
}
+
+ /** Converter for converting Base64 encoded string to byte[] */
+ static class ProtoDescriptorsConverter implements ClientSideStatementValueConverter {
+
+ public ProtoDescriptorsConverter(String allowedValues) {}
+
+ @Override
+ public Class getParameterClass() {
+ return byte[].class;
+ }
+
+ @Override
+ public byte[] convert(String value) {
+ if (value == null || value.length() == 0 || value.equalsIgnoreCase("null")) {
+ return null;
+ }
+ try {
+ return Base64.getDecoder().decode(value);
+ } catch (IllegalArgumentException e) {
+ return null;
+ }
+ }
+ }
+
+ /** Converter for converting String that take in file path as input to String */
+ static class ProtoDescriptorsFileConverter implements ClientSideStatementValueConverter {
+
+ public ProtoDescriptorsFileConverter(String allowedValues) {}
+
+ @Override
+ public Class getParameterClass() {
+ return String.class;
+ }
+
+ @Override
+ public String convert(String filePath) {
+ if (Strings.isNullOrEmpty(filePath)) {
+ return null;
+ }
+ return filePath;
+ }
+ }
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/Connection.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/Connection.java
index e1a4415ea49..0178be3b289 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/Connection.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/Connection.java
@@ -47,6 +47,7 @@
import java.util.Set;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
+import javax.annotation.Nonnull;
/**
* Internal connection API for Google Cloud Spanner. This interface may introduce breaking changes
@@ -387,6 +388,41 @@ default String getStatementTag() {
throw new UnsupportedOperationException();
}
+ /**
+ * Sets whether the next transaction should be excluded from all change streams with the DDL
+ * option `allow_txn_exclusion=true`
+ */
+ default void setExcludeTxnFromChangeStreams(boolean excludeTxnFromChangeStreams) {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * Returns true if the next transaction should be excluded from all change streams with the DDL
+ * option `allow_txn_exclusion=true`
+ */
+ default boolean isExcludeTxnFromChangeStreams() {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * Sets the proto descriptors to use for the next DDL statement (single or batch) that will be
+ * executed. The proto descriptor is automatically cleared after the statement is executed.
+ *
+ * @param protoDescriptors The proto descriptors to use with the next DDL statement (single or
+ * batch) that will be executed on this connection.
+ */
+ default void setProtoDescriptors(@Nonnull byte[] protoDescriptors) {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @return The proto descriptor that will be used with the next DDL statement (single or batch)
+ * that is executed on this connection.
+ */
+ default byte[] getProtoDescriptors() {
+ throw new UnsupportedOperationException();
+ }
+
/**
* @return true if this connection will automatically retry read/write transactions
* that abort. This method may only be called when the connection is in read/write
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionImpl.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionImpl.java
index e4afc501b51..c0cbc8c22d5 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionImpl.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionImpl.java
@@ -22,6 +22,7 @@
import com.google.api.core.ApiFuture;
import com.google.api.core.ApiFutures;
import com.google.api.gax.core.GaxProperties;
+import com.google.cloud.ByteArray;
import com.google.cloud.Timestamp;
import com.google.cloud.spanner.AsyncResultSet;
import com.google.cloud.spanner.BatchClient;
@@ -65,6 +66,9 @@
import io.opentelemetry.api.common.AttributesBuilder;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Tracer;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Arrays;
@@ -81,6 +85,7 @@
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.stream.Collectors;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.threeten.bp.Instant;
@@ -113,7 +118,7 @@ private LeakedConnectionException() {
}
}
- private volatile LeakedConnectionException leakedException;;
+ private volatile LeakedConnectionException leakedException;
private final SpannerPool spannerPool;
private AbstractStatementParser statementParser;
/**
@@ -268,8 +273,11 @@ static UnitOfWorkType of(TransactionMode transactionMode) {
private String transactionTag;
private String statementTag;
+ private boolean excludeTxnFromChangeStreams;
private Duration maxCommitDelay;
+ private byte[] protoDescriptors;
+ private String protoDescriptorsFilePath;
/** Create a connection and register it in the SpannerPool. */
ConnectionImpl(ConnectionOptions options) {
@@ -351,6 +359,7 @@ public Spanner getSpanner() {
private DdlClient createDdlClient() {
return DdlClient.newBuilder()
.setDatabaseAdminClient(spanner.getDatabaseAdminClient())
+ .setProjectId(options.getProjectId())
.setInstanceId(options.getInstanceId())
.setDatabaseName(options.getDatabaseName())
.build();
@@ -743,6 +752,70 @@ public void setStatementTag(String tag) {
this.statementTag = tag;
}
+ @Override
+ public boolean isExcludeTxnFromChangeStreams() {
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ ConnectionPreconditions.checkState(!isDdlBatchActive(), "This connection is in a DDL batch");
+ return excludeTxnFromChangeStreams;
+ }
+
+ @Override
+ public void setExcludeTxnFromChangeStreams(boolean excludeTxnFromChangeStreams) {
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ ConnectionPreconditions.checkState(
+ !isBatchActive(), "Cannot set exclude_txn_from_change_streams while in a batch");
+ ConnectionPreconditions.checkState(
+ !isTransactionStarted(),
+ "exclude_txn_from_change_streams cannot be set after the transaction has started");
+ this.excludeTxnFromChangeStreams = excludeTxnFromChangeStreams;
+ }
+
+ @Override
+ public byte[] getProtoDescriptors() {
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ if (this.protoDescriptors == null && this.protoDescriptorsFilePath != null) {
+ // Read from file if filepath is valid
+ try {
+ File protoDescriptorsFile = new File(this.protoDescriptorsFilePath);
+ if (!protoDescriptorsFile.isFile()) {
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.INVALID_ARGUMENT,
+ String.format(
+ "File %s is not a valid proto descriptors file", this.protoDescriptorsFilePath));
+ }
+ InputStream pdStream = new FileInputStream(protoDescriptorsFile);
+ this.protoDescriptors = ByteArray.copyFrom(pdStream).toByteArray();
+ } catch (Exception exception) {
+ throw SpannerExceptionFactory.newSpannerException(exception);
+ }
+ }
+ return this.protoDescriptors;
+ }
+
+ @Override
+ public void setProtoDescriptors(@Nonnull byte[] protoDescriptors) {
+ Preconditions.checkNotNull(protoDescriptors);
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ ConnectionPreconditions.checkState(
+ !isBatchActive(), "Proto descriptors cannot be set when a batch is active");
+ this.protoDescriptors = protoDescriptors;
+ this.protoDescriptorsFilePath = null;
+ }
+
+ void setProtoDescriptorsFilePath(@Nonnull String protoDescriptorsFilePath) {
+ Preconditions.checkNotNull(protoDescriptorsFilePath);
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ ConnectionPreconditions.checkState(
+ !isBatchActive(), "Proto descriptors file path cannot be set when a batch is active");
+ this.protoDescriptorsFilePath = protoDescriptorsFilePath;
+ this.protoDescriptors = null;
+ }
+
+ String getProtoDescriptorsFilePath() {
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ return this.protoDescriptorsFilePath;
+ }
+
/**
* Throws an {@link SpannerException} with code {@link ErrorCode#FAILED_PRECONDITION} if the
* current state of this connection does not allow changing the setting for retryAbortsInternally.
@@ -899,6 +972,7 @@ private void setDefaultTransactionOptions() {
: UnitOfWorkType.READ_WRITE_TRANSACTION;
batchMode = BatchMode.NONE;
transactionTag = null;
+ excludeTxnFromChangeStreams = false;
} else {
popUnitOfWorkFromTransactionStack();
}
@@ -1768,22 +1842,30 @@ UnitOfWork createNewUnitOfWork(
if (isInternalMetadataQuery
|| (isAutocommit() && !isInTransaction() && !isInBatch())
|| forceSingleUse) {
- return SingleUseTransaction.newBuilder()
- .setInternalMetadataQuery(isInternalMetadataQuery)
- .setDdlClient(ddlClient)
- .setDatabaseClient(dbClient)
- .setBatchClient(batchClient)
- .setReadOnly(isReadOnly())
- .setReadOnlyStaleness(readOnlyStaleness)
- .setAutocommitDmlMode(autocommitDmlMode)
- .setReturnCommitStats(returnCommitStats)
- .setMaxCommitDelay(maxCommitDelay)
- .setStatementTimeout(statementTimeout)
- .withStatementExecutor(statementExecutor)
- .setSpan(
- createSpanForUnitOfWork(
- statementType == StatementType.DDL ? DDL_STATEMENT : SINGLE_USE_TRANSACTION))
- .build();
+ SingleUseTransaction singleUseTransaction =
+ SingleUseTransaction.newBuilder()
+ .setInternalMetadataQuery(isInternalMetadataQuery)
+ .setDdlClient(ddlClient)
+ .setDatabaseClient(dbClient)
+ .setBatchClient(batchClient)
+ .setReadOnly(isReadOnly())
+ .setReadOnlyStaleness(readOnlyStaleness)
+ .setAutocommitDmlMode(autocommitDmlMode)
+ .setReturnCommitStats(returnCommitStats)
+ .setExcludeTxnFromChangeStreams(excludeTxnFromChangeStreams)
+ .setMaxCommitDelay(maxCommitDelay)
+ .setStatementTimeout(statementTimeout)
+ .withStatementExecutor(statementExecutor)
+ .setSpan(
+ createSpanForUnitOfWork(
+ statementType == StatementType.DDL ? DDL_STATEMENT : SINGLE_USE_TRANSACTION))
+ .setProtoDescriptors(getProtoDescriptors())
+ .build();
+ if (!isInternalMetadataQuery && !forceSingleUse) {
+ // Reset the transaction options after starting a single-use transaction.
+ setDefaultTransactionOptions();
+ }
+ return singleUseTransaction;
} else {
switch (getUnitOfWorkType()) {
case READ_ONLY_TRANSACTION:
@@ -1810,6 +1892,7 @@ UnitOfWork createNewUnitOfWork(
.setStatementTimeout(statementTimeout)
.withStatementExecutor(statementExecutor)
.setTransactionTag(transactionTag)
+ .setExcludeTxnFromChangeStreams(excludeTxnFromChangeStreams)
.setRpcPriority(rpcPriority)
.setSpan(createSpanForUnitOfWork(READ_WRITE_TRANSACTION))
.build();
@@ -1822,6 +1905,7 @@ UnitOfWork createNewUnitOfWork(
.setStatementTimeout(statementTimeout)
.withStatementExecutor(statementExecutor)
.setStatementTag(statementTag)
+ .setExcludeTxnFromChangeStreams(excludeTxnFromChangeStreams)
.setRpcPriority(rpcPriority)
.setSpan(createSpanForUnitOfWork(DML_BATCH))
.build();
@@ -1832,6 +1916,7 @@ UnitOfWork createNewUnitOfWork(
.setStatementTimeout(statementTimeout)
.withStatementExecutor(statementExecutor)
.setSpan(createSpanForUnitOfWork(DDL_BATCH))
+ .setProtoDescriptors(getProtoDescriptors())
.build();
default:
}
@@ -1855,7 +1940,11 @@ private void popUnitOfWorkFromTransactionStack() {
}
private ApiFuture executeDdlAsync(CallType callType, ParsedStatement ddl) {
- return getOrStartDdlUnitOfWork().executeDdlAsync(callType, ddl);
+ ApiFuture result = getOrStartDdlUnitOfWork().executeDdlAsync(callType, ddl);
+ // reset proto descriptors after executing a DDL statement
+ this.protoDescriptors = null;
+ this.protoDescriptorsFilePath = null;
+ return result;
}
@Override
@@ -1955,6 +2044,11 @@ public ApiFuture runBatchAsync() {
}
return ApiFutures.immediateFuture(new long[0]);
} finally {
+ if (isDdlBatchActive()) {
+ // reset proto descriptors after executing a DDL batch
+ this.protoDescriptors = null;
+ this.protoDescriptorsFilePath = null;
+ }
this.batchMode = BatchMode.NONE;
setDefaultTransactionOptions();
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionStatementExecutor.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionStatementExecutor.java
index cc4c53275b3..0abebabf84d 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionStatementExecutor.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionStatementExecutor.java
@@ -99,6 +99,10 @@ StatementResult statementSetDelayTransactionStartUntilFirstWrite(
StatementResult statementShowTransactionTag();
+ StatementResult statementSetExcludeTxnFromChangeStreams(Boolean excludeTxnFromChangeStreams);
+
+ StatementResult statementShowExcludeTxnFromChangeStreams();
+
StatementResult statementBeginTransaction();
StatementResult statementBeginPgTransaction(PgTransactionMode transactionMode);
@@ -134,6 +138,14 @@ StatementResult statementSetPgSessionCharacteristicsTransactionMode(
StatementResult statementShowTransactionIsolationLevel();
+ StatementResult statementSetProtoDescriptors(byte[] protoDescriptors);
+
+ StatementResult statementSetProtoDescriptorsFilePath(String filePath);
+
+ StatementResult statementShowProtoDescriptors();
+
+ StatementResult statementShowProtoDescriptorsFilePath();
+
StatementResult statementExplain(String sql);
StatementResult statementShowDataBoostEnabled();
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorImpl.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorImpl.java
index ec0ca4f4ac3..412dcce8916 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorImpl.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorImpl.java
@@ -29,11 +29,14 @@
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_DEFAULT_TRANSACTION_ISOLATION;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_DIRECTED_READ;
+import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_EXCLUDE_TXN_FROM_CHANGE_STREAMS;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_MAX_COMMIT_DELAY;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_MAX_PARTITIONED_PARALLELISM;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_MAX_PARTITIONS;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_OPTIMIZER_STATISTICS_PACKAGE;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_OPTIMIZER_VERSION;
+import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_PROTO_DESCRIPTORS;
+import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_PROTO_DESCRIPTORS_FILE_PATH;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_READONLY;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_READ_ONLY_STALENESS;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_RETRY_ABORTS_INTERNALLY;
@@ -52,11 +55,14 @@
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_DATA_BOOST_ENABLED;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_DIRECTED_READ;
+import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_EXCLUDE_TXN_FROM_CHANGE_STREAMS;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_MAX_COMMIT_DELAY;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_MAX_PARTITIONED_PARALLELISM;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_MAX_PARTITIONS;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_OPTIMIZER_STATISTICS_PACKAGE;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_OPTIMIZER_VERSION;
+import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_PROTO_DESCRIPTORS;
+import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_PROTO_DESCRIPTORS_FILE_PATH;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_READONLY;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_READ_ONLY_STALENESS;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_READ_TIMESTAMP;
@@ -409,6 +415,21 @@ public StatementResult statementShowTransactionTag() {
SHOW_TRANSACTION_TAG);
}
+ @Override
+ public StatementResult statementSetExcludeTxnFromChangeStreams(
+ Boolean excludeTxnFromChangeStreams) {
+ getConnection().setExcludeTxnFromChangeStreams(excludeTxnFromChangeStreams);
+ return noResult(SET_EXCLUDE_TXN_FROM_CHANGE_STREAMS);
+ }
+
+ @Override
+ public StatementResult statementShowExcludeTxnFromChangeStreams() {
+ return resultSet(
+ String.format("%sEXCLUDE_TXN_FROM_CHANGE_STREAMS", getNamespace(connection.getDialect())),
+ getConnection().isExcludeTxnFromChangeStreams(),
+ SHOW_EXCLUDE_TXN_FROM_CHANGE_STREAMS);
+ }
+
@Override
public StatementResult statementBeginTransaction() {
getConnection().beginTransaction();
@@ -620,6 +641,36 @@ public StatementResult statementRunPartitionedQuery(Statement statement) {
ClientSideStatementType.RUN_PARTITIONED_QUERY);
}
+ @Override
+ public StatementResult statementSetProtoDescriptors(byte[] protoDescriptors) {
+ Preconditions.checkNotNull(protoDescriptors);
+ getConnection().setProtoDescriptors(protoDescriptors);
+ return noResult(SET_PROTO_DESCRIPTORS);
+ }
+
+ @Override
+ public StatementResult statementSetProtoDescriptorsFilePath(String filePath) {
+ Preconditions.checkNotNull(filePath);
+ getConnection().setProtoDescriptorsFilePath(filePath);
+ return noResult(SET_PROTO_DESCRIPTORS_FILE_PATH);
+ }
+
+ @Override
+ public StatementResult statementShowProtoDescriptors() {
+ return resultSet(
+ String.format("%sPROTO_DESCRIPTORS", getNamespace(connection.getDialect())),
+ getConnection().getProtoDescriptors(),
+ SHOW_PROTO_DESCRIPTORS);
+ }
+
+ @Override
+ public StatementResult statementShowProtoDescriptorsFilePath() {
+ return resultSet(
+ String.format("%sPROTO_DESCRIPTORS_FILE_PATH", getNamespace(connection.getDialect())),
+ getConnection().getProtoDescriptorsFilePath(),
+ SHOW_PROTO_DESCRIPTORS_FILE_PATH);
+ }
+
private String processQueryPlan(PlanNode planNode) {
StringBuilder planNodeDescription = new StringBuilder(" : { ");
com.google.protobuf.Struct metadata = planNode.getMetadata();
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DdlBatch.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DdlBatch.java
index ca5da153f6a..4c8a0542696 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DdlBatch.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DdlBatch.java
@@ -59,10 +59,12 @@ class DdlBatch extends AbstractBaseUnitOfWork {
private final DatabaseClient dbClient;
private final List statements = new ArrayList<>();
private UnitOfWorkState state = UnitOfWorkState.STARTED;
+ private final byte[] protoDescriptors;
static class Builder extends AbstractBaseUnitOfWork.Builder {
private DdlClient ddlClient;
private DatabaseClient dbClient;
+ private byte[] protoDescriptors;
private Builder() {}
@@ -78,6 +80,11 @@ Builder setDatabaseClient(DatabaseClient client) {
return this;
}
+ Builder setProtoDescriptors(byte[] protoDescriptors) {
+ this.protoDescriptors = protoDescriptors;
+ return this;
+ }
+
@Override
DdlBatch build() {
Preconditions.checkState(ddlClient != null, "No DdlClient specified");
@@ -94,10 +101,11 @@ private DdlBatch(Builder builder) {
super(builder);
this.ddlClient = builder.ddlClient;
this.dbClient = builder.dbClient;
+ this.protoDescriptors = builder.protoDescriptors;
}
@Override
- boolean isSingleUse() {
+ public boolean isSingleUse() {
return false;
}
@@ -227,7 +235,7 @@ public ApiFuture runBatchAsync(CallType callType) {
() -> {
try {
OperationFuture operation =
- ddlClient.executeDdl(statements);
+ ddlClient.executeDdl(statements, protoDescriptors);
try {
// Wait until the operation has finished.
getWithStatementTimeout(operation, RUN_BATCH_STATEMENT);
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DdlClient.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DdlClient.java
index fedf60d7a91..7bce1ab78cd 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DdlClient.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DdlClient.java
@@ -19,6 +19,7 @@
import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.spanner.Database;
import com.google.cloud.spanner.DatabaseAdminClient;
+import com.google.cloud.spanner.DatabaseId;
import com.google.cloud.spanner.Dialect;
import com.google.cloud.spanner.ErrorCode;
import com.google.cloud.spanner.SpannerExceptionFactory;
@@ -35,11 +36,13 @@
*/
class DdlClient {
private final DatabaseAdminClient dbAdminClient;
+ private final String projectId;
private final String instanceId;
private final String databaseName;
static class Builder {
private DatabaseAdminClient dbAdminClient;
+ private String projectId;
private String instanceId;
private String databaseName;
@@ -51,6 +54,13 @@ Builder setDatabaseAdminClient(DatabaseAdminClient client) {
return this;
}
+ Builder setProjectId(String projectId) {
+ Preconditions.checkArgument(
+ !Strings.isNullOrEmpty(projectId), "Empty projectId is not allowed");
+ this.projectId = projectId;
+ return this;
+ }
+
Builder setInstanceId(String instanceId) {
Preconditions.checkArgument(
!Strings.isNullOrEmpty(instanceId), "Empty instanceId is not allowed");
@@ -67,6 +77,7 @@ Builder setDatabaseName(String name) {
DdlClient build() {
Preconditions.checkState(dbAdminClient != null, "No DatabaseAdminClient specified");
+ Preconditions.checkState(!Strings.isNullOrEmpty(projectId), "No ProjectId specified");
Preconditions.checkState(!Strings.isNullOrEmpty(instanceId), "No InstanceId specified");
Preconditions.checkArgument(
!Strings.isNullOrEmpty(databaseName), "No database name specified");
@@ -80,6 +91,7 @@ static Builder newBuilder() {
private DdlClient(Builder builder) {
this.dbAdminClient = builder.dbAdminClient;
+ this.projectId = builder.projectId;
this.instanceId = builder.instanceId;
this.databaseName = builder.databaseName;
}
@@ -92,17 +104,24 @@ OperationFuture executeCreateDatabase(
}
/** Execute a single DDL statement. */
- OperationFuture executeDdl(String ddl) {
- return executeDdl(Collections.singletonList(ddl));
+ OperationFuture executeDdl(String ddl, byte[] protoDescriptors) {
+ return executeDdl(Collections.singletonList(ddl), protoDescriptors);
}
/** Execute a list of DDL statements as one operation. */
- OperationFuture executeDdl(List statements) {
+ OperationFuture executeDdl(
+ List statements, byte[] protoDescriptors) {
if (statements.stream().anyMatch(DdlClient::isCreateDatabaseStatement)) {
throw SpannerExceptionFactory.newSpannerException(
ErrorCode.INVALID_ARGUMENT, "CREATE DATABASE is not supported in a DDL batch");
}
- return dbAdminClient.updateDatabaseDdl(instanceId, databaseName, statements, null);
+ Database.Builder dbBuilder =
+ dbAdminClient.newDatabaseBuilder(DatabaseId.of(projectId, instanceId, databaseName));
+ if (protoDescriptors != null) {
+ dbBuilder.setProtoDescriptors(protoDescriptors);
+ }
+ Database db = dbBuilder.build();
+ return dbAdminClient.updateDatabaseDdl(db, statements, null);
}
/** Returns true if the statement is a `CREATE DATABASE ...` statement. */
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DmlBatch.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DmlBatch.java
index 1551a186e7f..fde3c609cb3 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DmlBatch.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DmlBatch.java
@@ -78,12 +78,12 @@ static Builder newBuilder() {
private DmlBatch(Builder builder) {
super(builder);
- this.transaction = builder.transaction;
+ this.transaction = Preconditions.checkNotNull(builder.transaction);
this.statementTag = builder.statementTag;
}
@Override
- boolean isSingleUse() {
+ public boolean isSingleUse() {
return false;
}
@@ -174,8 +174,11 @@ public ApiFuture executeUpdateAsync(
@Override
public ApiFuture analyzeUpdateAsync(
CallType callType, ParsedStatement update, AnalyzeMode analyzeMode, UpdateOption... options) {
- throw SpannerExceptionFactory.newSpannerException(
- ErrorCode.FAILED_PRECONDITION, "Analyzing updates is not allowed for DML batches.");
+ if (transaction.isSingleUse()) {
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.FAILED_PRECONDITION, "Analyzing updates is not allowed for DML batches.");
+ }
+ return transaction.analyzeUpdateAsync(callType, update, analyzeMode, options);
}
@Override
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/MergedResultSet.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/MergedResultSet.java
index 36451bc8f40..fcbc49f346d 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/MergedResultSet.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/MergedResultSet.java
@@ -18,6 +18,7 @@
import static com.google.common.base.Preconditions.checkState;
+import com.google.cloud.spanner.ErrorCode;
import com.google.cloud.spanner.ForwardingStructReader;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.SpannerException;
@@ -30,6 +31,7 @@
import com.google.spanner.v1.ResultSetStats;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingDeque;
@@ -47,15 +49,18 @@ static class PartitionExecutor implements Runnable {
private final Connection connection;
private final String partitionId;
private final LinkedBlockingDeque queue;
+ private final CountDownLatch metadataAvailableLatch;
private final AtomicBoolean shouldStop = new AtomicBoolean();
PartitionExecutor(
Connection connection,
String partitionId,
- LinkedBlockingDeque queue) {
+ LinkedBlockingDeque queue,
+ CountDownLatch metadataAvailableLatch) {
this.connection = Preconditions.checkNotNull(connection);
this.partitionId = Preconditions.checkNotNull(partitionId);
this.queue = queue;
+ this.metadataAvailableLatch = Preconditions.checkNotNull(metadataAvailableLatch);
}
@Override
@@ -68,6 +73,7 @@ public void run() {
queue.put(
PartitionExecutorResult.dataAndMetadata(
row, resultSet.getType(), resultSet.getMetadata()));
+ metadataAvailableLatch.countDown();
first = false;
} else {
queue.put(PartitionExecutorResult.data(row));
@@ -82,9 +88,11 @@ public void run() {
queue.put(
PartitionExecutorResult.typeAndMetadata(
resultSet.getType(), resultSet.getMetadata()));
+ metadataAvailableLatch.countDown();
}
} catch (Throwable exception) {
putWithoutInterruptPropagation(PartitionExecutorResult.exception(exception));
+ metadataAvailableLatch.countDown();
} finally {
// Emit a special 'finished' result to ensure that the row producer is not blocked on a
// queue that never receives any more results. This ensures that we can safely block on
@@ -215,6 +223,7 @@ private static class RowProducerImpl implements RowProducer {
private final AtomicInteger finishedCounter;
private final LinkedBlockingDeque queue;
private ResultSetMetadata metadata;
+ private final CountDownLatch metadataAvailableLatch = new CountDownLatch(1);
private Type type;
private Struct currentRow;
private Throwable exception;
@@ -243,7 +252,7 @@ private static class RowProducerImpl implements RowProducer {
this.finishedCounter = new AtomicInteger(partitions.size());
for (String partition : partitions) {
PartitionExecutor partitionExecutor =
- new PartitionExecutor(connection, partition, this.queue);
+ new PartitionExecutor(connection, partition, this.queue, this.metadataAvailableLatch);
this.partitionExecutors.add(partitionExecutor);
this.executor.submit(partitionExecutor);
}
@@ -310,8 +319,27 @@ public Struct get() {
return currentRow;
}
+ private PartitionExecutorResult getFirstResult() {
+ try {
+ metadataAvailableLatch.await();
+ } catch (InterruptedException interruptedException) {
+ throw SpannerExceptionFactory.propagateInterrupt(interruptedException);
+ }
+ PartitionExecutorResult result = queue.peek();
+ if (result == null) {
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.FAILED_PRECONDITION, "Thread-unsafe access to ResultSet");
+ }
+ if (result.exception != null) {
+ throw SpannerExceptionFactory.asSpannerException(result.exception);
+ }
+ return result;
+ }
+
public ResultSetMetadata getMetadata() {
- checkState(metadata != null, "next() call required");
+ if (metadata == null) {
+ return getFirstResult().metadata;
+ }
return metadata;
}
@@ -326,7 +354,9 @@ public int getParallelism() {
}
public Type getType() {
- checkState(type != null, "next() call required");
+ if (type == null) {
+ return getFirstResult().type;
+ }
return type;
}
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java
index 19c91ac1945..0c55d90a9a3 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java
@@ -251,6 +251,9 @@ private TransactionOption[] extractOptions(Builder builder) {
if (this.transactionTag != null) {
numOptions++;
}
+ if (this.excludeTxnFromChangeStreams) {
+ numOptions++;
+ }
if (this.rpcPriority != null) {
numOptions++;
}
@@ -265,6 +268,9 @@ private TransactionOption[] extractOptions(Builder builder) {
if (this.transactionTag != null) {
options[index++] = Options.tag(this.transactionTag);
}
+ if (this.excludeTxnFromChangeStreams) {
+ options[index++] = Options.excludeTxnFromChangeStreams();
+ }
if (this.rpcPriority != null) {
options[index++] = Options.priority(this.rpcPriority);
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/SingleUseTransaction.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/SingleUseTransaction.java
index 7dfa46a5977..44f20ccdbd8 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/SingleUseTransaction.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/SingleUseTransaction.java
@@ -55,6 +55,7 @@
import com.google.spanner.v1.SpannerGrpc;
import io.opentelemetry.context.Scope;
import java.time.Duration;
+import java.util.Arrays;
import java.util.concurrent.Callable;
/**
@@ -83,6 +84,7 @@ class SingleUseTransaction extends AbstractBaseUnitOfWork {
private final boolean returnCommitStats;
private final Duration maxCommitDelay;
private final boolean internalMetdataQuery;
+ private final byte[] protoDescriptors;
private volatile SettableApiFuture readTimestamp = null;
private volatile TransactionRunner writeTransaction;
private boolean used = false;
@@ -98,6 +100,7 @@ static class Builder extends AbstractBaseUnitOfWork.Builder executeDdlAsync(CallType callType, final ParsedStatement
ddlClient.executeCreateDatabase(
ddl.getSqlWithoutComments(), dbClient.getDialect());
} else {
- operation = ddlClient.executeDdl(ddl.getSqlWithoutComments());
+ operation = ddlClient.executeDdl(ddl.getSqlWithoutComments(), protoDescriptors);
}
getWithStatementTimeout(operation, ddl);
state = UnitOfWorkState.COMMITTED;
@@ -497,6 +506,9 @@ private TransactionRunner createWriteTransaction() {
if (returnCommitStats) {
numOptions++;
}
+ if (excludeTxnFromChangeStreams) {
+ numOptions++;
+ }
if (maxCommitDelay != null) {
numOptions++;
}
@@ -511,6 +523,9 @@ private TransactionRunner createWriteTransaction() {
if (returnCommitStats) {
options[index++] = Options.commitStats();
}
+ if (excludeTxnFromChangeStreams) {
+ options[index++] = Options.excludeTxnFromChangeStreams();
+ }
if (maxCommitDelay != null) {
options[index++] = Options.maxCommitDelay(maxCommitDelay);
}
@@ -580,10 +595,21 @@ private ApiFuture analyzeTransactionalUpdateAsync(
private ApiFuture executePartitionedUpdateAsync(
CallType callType, final ParsedStatement update, final UpdateOption... options) {
+ final UpdateOption[] effectiveOptions;
+ if (excludeTxnFromChangeStreams) {
+ if (options.length == 0) {
+ effectiveOptions = new UpdateOption[] {Options.excludeTxnFromChangeStreams()};
+ } else {
+ effectiveOptions = Arrays.copyOf(options, options.length + 1);
+ effectiveOptions[effectiveOptions.length - 1] = Options.excludeTxnFromChangeStreams();
+ }
+ } else {
+ effectiveOptions = options;
+ }
Callable callable =
() -> {
try {
- Long res = dbClient.executePartitionedUpdate(update.getStatement(), options);
+ Long res = dbClient.executePartitionedUpdate(update.getStatement(), effectiveOptions);
state = UnitOfWorkState.COMMITTED;
return res;
} catch (Throwable t) {
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/StatementResult.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/StatementResult.java
index 77f544a046f..3ddf32ca5fe 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/StatementResult.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/StatementResult.java
@@ -79,6 +79,8 @@ enum ClientSideStatementType {
SET_STATEMENT_TAG,
SHOW_TRANSACTION_TAG,
SET_TRANSACTION_TAG,
+ SHOW_EXCLUDE_TXN_FROM_CHANGE_STREAMS,
+ SET_EXCLUDE_TXN_FROM_CHANGE_STREAMS,
BEGIN,
COMMIT,
ROLLBACK,
@@ -105,6 +107,10 @@ enum ClientSideStatementType {
PARTITION,
RUN_PARTITION,
RUN_PARTITIONED_QUERY,
+ SET_PROTO_DESCRIPTORS,
+ SET_PROTO_DESCRIPTORS_FILE_PATH,
+ SHOW_PROTO_DESCRIPTORS,
+ SHOW_PROTO_DESCRIPTORS_FILE_PATH
}
/**
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/StatementResultImpl.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/StatementResultImpl.java
index 58a1f7ae1c0..ee5032463cd 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/StatementResultImpl.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/StatementResultImpl.java
@@ -18,6 +18,7 @@
import static com.google.cloud.spanner.SpannerApiFutures.get;
+import com.google.cloud.ByteArray;
import com.google.cloud.Timestamp;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.ResultSets;
@@ -147,6 +148,23 @@ static StatementResult resultSet(
clientSideStatementType);
}
+ /**
+ * Convenience method for creating a {@link StatementResult} containing a {@link ResultSet} with
+ * one BYTES column and one row that is created by a {@link ClientSideStatement}.
+ */
+ static StatementResult resultSet(
+ String name, byte[] values, ClientSideStatementType clientSideStatementType) {
+ return of(
+ ResultSets.forRows(
+ Type.struct(StructField.of(name, Type.bytes())),
+ Collections.singletonList(
+ Struct.newBuilder()
+ .set(name)
+ .to(values != null ? ByteArray.copyFrom(values) : null)
+ .build())),
+ clientSideStatementType);
+ }
+
/** {@link StatementResult} containing no results. */
static StatementResult noResult() {
return new StatementResultImpl((ClientSideStatementType) null);
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/UnitOfWork.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/UnitOfWork.java
index 1c8bc6a29c0..577cd39d201 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/UnitOfWork.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/UnitOfWork.java
@@ -77,6 +77,9 @@ public boolean isActive() {
/** @return true if this unit of work is still active. */
boolean isActive();
+ /** Returns true if this transaction can only be used for a single statement. */
+ boolean isSingleUse();
+
/**
* Commits the changes in this unit of work to the database. For read-only transactions, this only
* closes the {@link ReadContext}. This method will throw a {@link SpannerException} if called for
diff --git a/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/ClientSideStatements.json b/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/ClientSideStatements.json
index da2f79b844e..d0c2f7f3a6a 100644
--- a/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/ClientSideStatements.json
+++ b/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/ClientSideStatements.json
@@ -149,6 +149,15 @@
"method": "statementShowTransactionTag",
"exampleStatements": ["show variable transaction_tag"]
},
+ {
+ "name": "SHOW VARIABLE EXCLUDE_TXN_FROM_CHANGE_STREAMS",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "SHOW_EXCLUDE_TXN_FROM_CHANGE_STREAMS",
+ "regex": "(?is)\\A\\s*show\\s+variable\\s+exclude_txn_from_change_streams\\s*\\z",
+ "method": "statementShowExcludeTxnFromChangeStreams",
+ "exampleStatements": ["show variable exclude_txn_from_change_streams"]
+ },
{
"name": "SHOW VARIABLE RPC_PRIORITY",
"executorName": "ClientSideStatementNoParamExecutor",
@@ -497,6 +506,21 @@
"converterName": "ClientSideStatementValueConverters$StringValueConverter"
}
},
+ {
+ "name": "SET EXCLUDE_TXN_FROM_CHANGE_STREAMS = TRUE|FALSE",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_EXCLUDE_TXN_FROM_CHANGE_STREAMS",
+ "regex": "(?is)\\A\\s*set\\s+exclude_txn_from_change_streams\\s*(?:=)\\s*(.*)\\z",
+ "method": "statementSetExcludeTxnFromChangeStreams",
+ "exampleStatements": ["set exclude_txn_from_change_streams = true", "set exclude_txn_from_change_streams = false"],
+ "setStatement": {
+ "propertyName": "EXCLUDE_TXN_FROM_CHANGE_STREAMS",
+ "separator": "=",
+ "allowedValues": "(TRUE|FALSE)",
+ "converterName": "ClientSideStatementValueConverters$BooleanConverter"
+ }
+ },
{
"name": "SET RPC_PRIORITY = 'HIGH'|'MEDIUM'|'LOW'|'NULL'",
"executorName": "ClientSideStatementSetExecutor",
@@ -645,6 +669,56 @@
"allowedValues": "(\\d{1,9})",
"converterName": "ClientSideStatementValueConverters$NonNegativeIntegerConverter"
}
+ },
+ {
+ "name": "SET PROTO_DESCRIPTORS = ''",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_PROTO_DESCRIPTORS",
+ "regex": "(?is)\\A\\s*set\\s+proto_descriptors\\s*(?:=)\\s*(.*)\\z",
+ "method": "statementSetProtoDescriptors",
+ "exampleStatements": ["set proto_descriptors='protodescriptorsbase64'"],
+ "setStatement": {
+ "propertyName": "PROTO_DESCRIPTORS",
+ "separator": "=",
+ "allowedValues": "'((\\S+)|())'",
+ "converterName": "ClientSideStatementValueConverters$ProtoDescriptorsConverter"
+ }
+ },
+ {
+ "name": "SET PROTO_DESCRIPTORS_FILE_PATH = ''",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_PROTO_DESCRIPTORS_FILE_PATH",
+ "regex": "(?is)\\A\\s*set\\s+proto_descriptors_file_path\\s*(?:=)\\s*(.*)\\z",
+ "method": "statementSetProtoDescriptorsFilePath",
+ "exampleStatements": ["set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'"],
+ "setStatement": {
+ "propertyName": "PROTO_DESCRIPTORS_FILE_PATH",
+ "separator": "=",
+ "allowedValues": "'((\\S+)|())'",
+ "converterName": "ClientSideStatementValueConverters$ProtoDescriptorsFileConverter"
+ }
+ },
+ {
+ "name": "SHOW VARIABLE PROTO_DESCRIPTORS",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "SHOW_PROTO_DESCRIPTORS",
+ "regex": "(?is)\\A\\s*show\\s+variable\\s+proto_descriptors\\s*\\z",
+ "method": "statementShowProtoDescriptors",
+ "exampleStatements": ["show variable proto_descriptors"]
+ },
+ {
+ "name": "SHOW VARIABLE PROTO_DESCRIPTORS_FILE_PATH",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "SHOW_PROTO_DESCRIPTORS_FILE_PATH",
+ "regex": "(?is)\\A\\s*show\\s+variable\\s+proto_descriptors_file_path\\s*\\z",
+ "method": "statementShowProtoDescriptorsFilePath",
+ "exampleStatements": [
+ "show variable proto_descriptors_file_path"
+ ]
}
]
}
diff --git a/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/PG_ClientSideStatements.json b/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/PG_ClientSideStatements.json
index f641f7be0d9..396a36c7a54 100644
--- a/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/PG_ClientSideStatements.json
+++ b/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/PG_ClientSideStatements.json
@@ -149,6 +149,15 @@
"method": "statementShowTransactionTag",
"exampleStatements": ["show spanner.transaction_tag","show variable spanner.transaction_tag"]
},
+ {
+ "name": "SHOW [VARIABLE] SPANNER.EXCLUDE_TXN_FROM_CHANGE_STREAMS",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "SHOW_EXCLUDE_TXN_FROM_CHANGE_STREAMS",
+ "regex": "(?is)\\A\\s*show\\s+(?:variable\\s+)?spanner\\.exclude_txn_from_change_streams\\s*\\z",
+ "method": "statementShowExcludeTxnFromChangeStreams",
+ "exampleStatements": ["show spanner.exclude_txn_from_change_streams","show variable spanner.exclude_txn_from_change_streams"]
+ },
{
"name": "SHOW [VARIABLE] SPANNER.RPC_PRIORITY",
"executorName": "ClientSideStatementNoParamExecutor",
@@ -679,6 +688,21 @@
"converterName": "ClientSideStatementValueConverters$StringValueConverter"
}
},
+ {
+ "name": "SET SPANNER.EXCLUDE_TXN_FROM_CHANGE_STREAMS =|TO TRUE|FALSE",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_EXCLUDE_TXN_FROM_CHANGE_STREAMS",
+ "regex": "(?is)\\A\\s*set\\s+spanner\\.exclude_txn_from_change_streams(?:\\s*=\\s*|\\s+to\\s+)(.*)\\z",
+ "method": "statementSetReturnCommitStats",
+ "exampleStatements": ["set spanner.exclude_txn_from_change_streams = true", "set spanner.exclude_txn_from_change_streams = false", "set spanner.exclude_txn_from_change_streams to true", "set spanner.exclude_txn_from_change_streams to false"],
+ "setStatement": {
+ "propertyName": "SPANNER.EXCLUDE_TXN_FROM_CHANGE_STREAMS",
+ "separator": "(?:=|\\s+TO\\s+)",
+ "allowedValues": "(TRUE|FALSE)",
+ "converterName": "ClientSideStatementValueConverters$BooleanConverter"
+ }
+ },
{
"name": "SET SPANNER.RPC_PRIORITY =|TO 'HIGH'|'MEDIUM'|'LOW'|'NULL'",
"executorName": "ClientSideStatementSetExecutor",
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AnalyzeStatementsTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AnalyzeStatementsTest.java
index 3adb50b170f..6f76963fef7 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AnalyzeStatementsTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AnalyzeStatementsTest.java
@@ -355,8 +355,9 @@ public void testAnalyzeUpdateStatementDdlBatch() {
}
@Test
- public void testAnalyzeUpdateDmlBatch() {
+ public void testAnalyzeUpdateDmlBatch_AutoCommit() {
try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
connection.startBatchDml();
SpannerException exception =
@@ -371,8 +372,23 @@ public void testAnalyzeUpdateDmlBatch() {
}
@Test
- public void testAnalyzeUpdateStatementDmlBatch() {
+ public void testAnalyzeUpdateDmlBatch_Transactional() {
try (Connection connection = createConnection()) {
+ connection.setAutocommit(false);
+ connection.startBatchDml();
+
+ assertNotNull(connection.analyzeUpdate(PLAN_UPDATE, QueryAnalyzeMode.PLAN));
+ assertEquals(-1L, connection.executeUpdate(INSERT_STATEMENT));
+ connection.runBatch();
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ }
+ }
+
+ @Test
+ public void testAnalyzeUpdateStatementDmlBatch_AutoCommit() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
connection.startBatchDml();
SpannerException exception =
@@ -385,4 +401,18 @@ public void testAnalyzeUpdateStatementDmlBatch() {
assertEquals(0, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
assertEquals(0, mockSpanner.countRequestsOfType(CommitRequest.class));
}
+
+ @Test
+ public void testAnalyzeUpdateStatementDmlBatch_Transactional() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(false);
+ connection.startBatchDml();
+
+ connection.analyzeUpdateStatement(PLAN_UPDATE, QueryAnalyzeMode.PLAN);
+ assertEquals(-1L, connection.executeUpdate(INSERT_STATEMENT));
+ connection.runBatch();
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ }
+ }
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplTest.java
index a14f91a4815..299205bafc6 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplTest.java
@@ -25,6 +25,7 @@
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -32,6 +33,7 @@
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyList;
import static org.mockito.Mockito.anyString;
@@ -77,9 +79,11 @@
import com.google.cloud.spanner.connection.UnitOfWork.CallType;
import com.google.cloud.spanner.connection.UnitOfWork.UnitOfWorkState;
import com.google.common.collect.ImmutableSet;
+import com.google.common.io.ByteStreams;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata;
import com.google.spanner.v1.ExecuteSqlRequest.QueryOptions;
import com.google.spanner.v1.ResultSetStats;
+import java.io.InputStream;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@@ -220,8 +224,8 @@ private static DdlClient createDefaultMockDdlClient() {
UpdateDatabaseDdlMetadata metadata = UpdateDatabaseDdlMetadata.getDefaultInstance();
ApiFuture futureMetadata = ApiFutures.immediateFuture(metadata);
when(operation.getMetadata()).thenReturn(futureMetadata);
- when(ddlClient.executeDdl(anyString())).thenCallRealMethod();
- when(ddlClient.executeDdl(anyList())).thenReturn(operation);
+ when(ddlClient.executeDdl(anyString(), isNull())).thenCallRealMethod();
+ when(ddlClient.executeDdl(anyList(), isNull())).thenReturn(operation);
return ddlClient;
} catch (Exception e) {
throw new RuntimeException(e);
@@ -1925,4 +1929,101 @@ private void assertThrowResultNotAllowed(
.contains(
"Only statements that return a result of one of the following types are allowed"));
}
+
+ @Test
+ public void testProtoDescriptorsAlwaysAllowed() {
+ ConnectionOptions connectionOptions = mock(ConnectionOptions.class);
+ when(connectionOptions.isAutocommit()).thenReturn(true);
+ SpannerPool spannerPool = mock(SpannerPool.class);
+ DdlClient ddlClient = mock(DdlClient.class);
+ DatabaseClient dbClient = mock(DatabaseClient.class);
+ when(dbClient.getDialect()).thenReturn(Dialect.GOOGLE_STANDARD_SQL);
+ final UnitOfWork unitOfWork = mock(UnitOfWork.class);
+ final String protoDescriptorsFilePath =
+ "src/test/resources/com/google/cloud/spanner/descriptors.pb";
+ when(unitOfWork.executeDdlAsync(any(), any(ParsedStatement.class)))
+ .thenReturn(ApiFutures.immediateFuture(null));
+ when(unitOfWork.executeQueryAsync(
+ any(), any(ParsedStatement.class), any(AnalyzeMode.class), Mockito.any()))
+ .thenReturn(ApiFutures.immediateFuture(mock(ResultSet.class)));
+ try (ConnectionImpl connection =
+ new ConnectionImpl(
+ connectionOptions, spannerPool, ddlClient, dbClient, mock(BatchClient.class)) {
+ @Override
+ UnitOfWork getCurrentUnitOfWorkOrStartNewUnitOfWork(
+ StatementType statementType, boolean isInternalMetadataQuery) {
+ return unitOfWork;
+ }
+ }) {
+ byte[] protoDescriptors;
+ try {
+ InputStream in =
+ ConnectionImplTest.class
+ .getClassLoader()
+ .getResourceAsStream("com/google/cloud/spanner/descriptors.pb");
+ assertNotNull(in);
+ protoDescriptors = ByteStreams.toByteArray(in);
+ } catch (Exception e) {
+ throw SpannerExceptionFactory.newSpannerException(e);
+ }
+
+ assertTrue(connection.isAutocommit());
+
+ assertNull(connection.getProtoDescriptors());
+ connection.setProtoDescriptors(protoDescriptors);
+ assertArrayEquals(protoDescriptors, connection.getProtoDescriptors());
+
+ connection.setAutocommit(false);
+
+ connection.setProtoDescriptors(protoDescriptors);
+ assertArrayEquals(protoDescriptors, connection.getProtoDescriptors());
+
+ // proto descriptor should reset after executing a DDL statement
+ connection.setProtoDescriptors(protoDescriptors);
+ assertArrayEquals(protoDescriptors, connection.getProtoDescriptors());
+ connection.execute(Statement.of("CREATE PROTO BUNDLE (examples.spanner.music.SingerInfo)"));
+ assertNull(connection.getProtoDescriptors());
+
+ // proto descriptor should not reset if the statement is not a DDL statement
+ connection.setProtoDescriptors(protoDescriptors);
+ assertArrayEquals(protoDescriptors, connection.getProtoDescriptors());
+ connection.execute(Statement.of("SELECT FOO FROM BAR"));
+ assertArrayEquals(protoDescriptors, connection.getProtoDescriptors());
+
+ // proto descriptor file path should reset after executing a DDL statement
+ connection.setProtoDescriptorsFilePath(protoDescriptorsFilePath);
+ assertArrayEquals(protoDescriptors, connection.getProtoDescriptors());
+ connection.execute(Statement.of("CREATE PROTO BUNDLE (examples.spanner.music.SingerInfo)"));
+ assertNull(connection.getProtoDescriptors());
+ assertNull(connection.getProtoDescriptorsFilePath());
+
+ // proto descriptor file path should not reset if the statement is not a DDL statement
+ connection.setProtoDescriptorsFilePath(protoDescriptorsFilePath);
+ assertArrayEquals(protoDescriptors, connection.getProtoDescriptors());
+ connection.execute(Statement.of("SELECT FOO FROM BAR"));
+ assertArrayEquals(protoDescriptors, connection.getProtoDescriptors());
+ assertEquals(protoDescriptorsFilePath, connection.getProtoDescriptorsFilePath());
+
+ // test proto descriptor file path as input
+ connection.setProtoDescriptorsFilePath(protoDescriptorsFilePath);
+ assertArrayEquals(protoDescriptors, connection.getProtoDescriptors());
+ connection.execute(Statement.of("CREATE PROTO BUNDLE (examples.spanner.music.SingerInfo)"));
+ assertNull(connection.getProtoDescriptors());
+
+ // proto descriptor set through file path should overwrite the proto descriptor set from
+ // byte[]
+ connection.setProtoDescriptors("protoDescriptors".getBytes());
+ connection.setProtoDescriptorsFilePath(protoDescriptorsFilePath);
+ assertArrayEquals(protoDescriptors, connection.getProtoDescriptors());
+ connection.execute(Statement.of("CREATE PROTO BUNDLE (examples.spanner.music.SingerInfo)"));
+ assertNull(connection.getProtoDescriptors());
+
+ // proto descriptor set through byte[] should overwrite the proto descriptor from file path
+ connection.setProtoDescriptorsFilePath(protoDescriptorsFilePath);
+ connection.setProtoDescriptors("protoDescriptors".getBytes());
+ assertArrayEquals("protoDescriptors".getBytes(), connection.getProtoDescriptors());
+ connection.execute(Statement.of("CREATE PROTO BUNDLE (examples.spanner.music.SingerInfo)"));
+ assertNull(connection.getProtoDescriptors());
+ }
+ }
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorTest.java
index bf7822e3285..3e883c377fe 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorTest.java
@@ -252,4 +252,29 @@ public void testStatementSetPgTransactionModeNoOp() {
verify(connection, never()).setTransactionMode(TransactionMode.READ_ONLY_TRANSACTION);
verify(connection, never()).setTransactionMode(TransactionMode.READ_WRITE_TRANSACTION);
}
+
+ @Test
+ public void testStatementSetProtoDescriptors() {
+ subject.statementSetProtoDescriptors("protoDescriptor".getBytes());
+ verify(connection).setProtoDescriptors("protoDescriptor".getBytes());
+ }
+
+ @Test
+ public void testStatementSetProtoDescriptorsFilePath() {
+ String filePath = "com/google/cloud/spanner/descriptors.pb";
+ subject.statementSetProtoDescriptorsFilePath(filePath);
+ verify(connection).setProtoDescriptorsFilePath(filePath);
+ }
+
+ @Test
+ public void testStatementGetProtoDescriptors() {
+ subject.statementShowProtoDescriptors();
+ verify(connection).getProtoDescriptors();
+ }
+
+ @Test
+ public void testStatementGetProtoDescriptorsFilePath() {
+ subject.statementShowProtoDescriptorsFilePath();
+ verify(connection).getProtoDescriptorsFilePath();
+ }
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/DdlBatchTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/DdlBatchTest.java
index 74cc925ee85..b6a12567101 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/DdlBatchTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/DdlBatchTest.java
@@ -21,9 +21,12 @@
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.isNull;
+import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyList;
import static org.mockito.Mockito.anyString;
import static org.mockito.Mockito.argThat;
@@ -48,10 +51,12 @@
import com.google.cloud.spanner.connection.AbstractStatementParser.StatementType;
import com.google.cloud.spanner.connection.UnitOfWork.CallType;
import com.google.cloud.spanner.connection.UnitOfWork.UnitOfWorkState;
+import com.google.common.io.ByteStreams;
import com.google.protobuf.Timestamp;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata;
import io.grpc.Status;
import io.opentelemetry.api.trace.Span;
+import java.io.InputStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -108,8 +113,8 @@ private DdlClient createDefaultMockDdlClient(
ApiFuture metadataFuture =
ApiFutures.immediateFuture(metadataBuilder.build());
when(operation.getMetadata()).thenReturn(metadataFuture);
- when(ddlClient.executeDdl(anyString())).thenReturn(operation);
- when(ddlClient.executeDdl(anyList())).thenReturn(operation);
+ when(ddlClient.executeDdl(anyString(), any())).thenReturn(operation);
+ when(ddlClient.executeDdl(anyList(), any())).thenReturn(operation);
return ddlClient;
} catch (Exception e) {
throw new RuntimeException(e);
@@ -253,7 +258,7 @@ public void testGetStateAndIsActive() {
DdlClient client = mock(DdlClient.class);
SpannerException exception = mock(SpannerException.class);
when(exception.getErrorCode()).thenReturn(ErrorCode.FAILED_PRECONDITION);
- doThrow(exception).when(client).executeDdl(anyList());
+ doThrow(exception).when(client).executeDdl(anyList(), isNull());
batch = createSubject(client);
assertThat(batch.getState(), is(UnitOfWorkState.STARTED));
assertThat(batch.isActive(), is(true));
@@ -299,8 +304,8 @@ public void testRunBatch() {
DdlBatch batch = createSubject(client);
get(batch.runBatchAsync(CallType.SYNC));
assertThat(batch.getState(), is(UnitOfWorkState.RAN));
- verify(client, never()).executeDdl(anyString());
- verify(client, never()).executeDdl(argThat(isEmptyListOfStrings()));
+ verify(client, never()).executeDdl(anyString(), isNull());
+ verify(client, never()).executeDdl(argThat(isEmptyListOfStrings()), isNull());
ParsedStatement statement = mock(ParsedStatement.class);
when(statement.getType()).thenReturn(StatementType.DDL);
@@ -311,14 +316,14 @@ public void testRunBatch() {
batch = createSubject(client);
batch.executeDdlAsync(CallType.SYNC, statement);
get(batch.runBatchAsync(CallType.SYNC));
- verify(client).executeDdl(argThat(isListOfStringsWithSize(1)));
+ verify(client).executeDdl(argThat(isListOfStringsWithSize(1)), isNull());
client = createDefaultMockDdlClient();
batch = createSubject(client);
batch.executeDdlAsync(CallType.SYNC, statement);
batch.executeDdlAsync(CallType.SYNC, statement);
get(batch.runBatchAsync(CallType.SYNC));
- verify(client).executeDdl(argThat(isListOfStringsWithSize(2)));
+ verify(client).executeDdl(argThat(isListOfStringsWithSize(2)), isNull());
assertThat(batch.getState(), is(UnitOfWorkState.RAN));
boolean exception = false;
try {
@@ -364,7 +369,48 @@ public void testRunBatch() {
}
assertThat(exception, is(true));
assertThat(batch.getState(), is(UnitOfWorkState.RUN_FAILED));
- verify(client).executeDdl(argThat(isListOfStringsWithSize(2)));
+ verify(client).executeDdl(argThat(isListOfStringsWithSize(2)), isNull());
+
+ // verify when protoDescriptors is null
+ client = createDefaultMockDdlClient();
+ batch =
+ DdlBatch.newBuilder()
+ .setDdlClient(client)
+ .setDatabaseClient(mock(DatabaseClient.class))
+ .withStatementExecutor(new StatementExecutor())
+ .setSpan(Span.getInvalid())
+ .setProtoDescriptors(null)
+ .build();
+ batch.executeDdlAsync(CallType.SYNC, statement);
+ batch.executeDdlAsync(CallType.SYNC, statement);
+ get(batch.runBatchAsync(CallType.SYNC));
+ verify(client).executeDdl(argThat(isListOfStringsWithSize(2)), isNull());
+
+ // verify when protoDescriptors is not null
+ byte[] protoDescriptors;
+ try {
+ InputStream in =
+ DdlBatchTest.class
+ .getClassLoader()
+ .getResourceAsStream("com/google/cloud/spanner/descriptors.pb");
+ assertNotNull(in);
+ protoDescriptors = ByteStreams.toByteArray(in);
+ } catch (Exception e) {
+ throw SpannerExceptionFactory.newSpannerException(e);
+ }
+ client = createDefaultMockDdlClient();
+ batch =
+ DdlBatch.newBuilder()
+ .setDdlClient(client)
+ .setDatabaseClient(mock(DatabaseClient.class))
+ .withStatementExecutor(new StatementExecutor())
+ .setSpan(Span.getInvalid())
+ .setProtoDescriptors(protoDescriptors)
+ .build();
+ batch.executeDdlAsync(CallType.SYNC, statement);
+ batch.executeDdlAsync(CallType.SYNC, statement);
+ get(batch.runBatchAsync(CallType.SYNC));
+ verify(client).executeDdl(argThat(isListOfStringsWithSize(2)), any(byte[].class));
}
@Test
@@ -383,7 +429,8 @@ public void testUpdateCount() throws InterruptedException, ExecutionException {
OperationFuture operationFuture = mock(OperationFuture.class);
when(operationFuture.get()).thenReturn(null);
when(operationFuture.getMetadata()).thenReturn(metadataFuture);
- when(client.executeDdl(argThat(isListOfStringsWithSize(2)))).thenReturn(operationFuture);
+ when(client.executeDdl(argThat(isListOfStringsWithSize(2)), isNull()))
+ .thenReturn(operationFuture);
DdlBatch batch =
DdlBatch.newBuilder()
.withStatementExecutor(new StatementExecutor())
@@ -422,7 +469,8 @@ public void testFailedUpdateCount() throws InterruptedException, ExecutionExcept
new ExecutionException(
"ddl statement failed", Status.INVALID_ARGUMENT.asRuntimeException()));
when(operationFuture.getMetadata()).thenReturn(metadataFuture);
- when(client.executeDdl(argThat(isListOfStringsWithSize(2)))).thenReturn(operationFuture);
+ when(client.executeDdl(argThat(isListOfStringsWithSize(2)), isNull()))
+ .thenReturn(operationFuture);
DdlBatch batch =
DdlBatch.newBuilder()
.withStatementExecutor(new StatementExecutor())
@@ -465,7 +513,8 @@ public void testFailedAfterFirstStatement() throws InterruptedException, Executi
new ExecutionException(
"ddl statement failed", Status.INVALID_ARGUMENT.asRuntimeException()));
when(operationFuture.getMetadata()).thenReturn(metadataFuture);
- when(client.executeDdl(argThat(isListOfStringsWithSize(2)))).thenReturn(operationFuture);
+ when(client.executeDdl(argThat(isListOfStringsWithSize(2)), isNull()))
+ .thenReturn(operationFuture);
DdlBatch batch =
DdlBatch.newBuilder()
.withStatementExecutor(new StatementExecutor())
@@ -497,8 +546,8 @@ public void testAbort() {
DdlBatch batch = createSubject(client);
batch.abortBatch();
assertThat(batch.getState(), is(UnitOfWorkState.ABORTED));
- verify(client, never()).executeDdl(anyString());
- verify(client, never()).executeDdl(anyList());
+ verify(client, never()).executeDdl(anyString(), isNull());
+ verify(client, never()).executeDdl(anyList(), isNull());
ParsedStatement statement = mock(ParsedStatement.class);
when(statement.getType()).thenReturn(StatementType.DDL);
@@ -509,21 +558,21 @@ public void testAbort() {
batch = createSubject(client);
batch.executeDdlAsync(CallType.SYNC, statement);
batch.abortBatch();
- verify(client, never()).executeDdl(anyList());
+ verify(client, never()).executeDdl(anyList(), isNull());
client = createDefaultMockDdlClient();
batch = createSubject(client);
batch.executeDdlAsync(CallType.SYNC, statement);
batch.executeDdlAsync(CallType.SYNC, statement);
batch.abortBatch();
- verify(client, never()).executeDdl(anyList());
+ verify(client, never()).executeDdl(anyList(), isNull());
client = createDefaultMockDdlClient();
batch = createSubject(client);
batch.executeDdlAsync(CallType.SYNC, statement);
batch.executeDdlAsync(CallType.SYNC, statement);
batch.abortBatch();
- verify(client, never()).executeDdl(anyList());
+ verify(client, never()).executeDdl(anyList(), isNull());
boolean exception = false;
try {
get(batch.runBatchAsync(CallType.SYNC));
@@ -534,7 +583,7 @@ public void testAbort() {
exception = true;
}
assertThat(exception, is(true));
- verify(client, never()).executeDdl(anyList());
+ verify(client, never()).executeDdl(anyList(), isNull());
}
@Test
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/DdlClientTests.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/DdlClientTests.java
index d46e4dca592..c61635fce23 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/DdlClientTests.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/DdlClientTests.java
@@ -17,17 +17,25 @@
package com.google.cloud.spanner.connection;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyList;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.isNull;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import com.google.api.gax.longrunning.OperationFuture;
+import com.google.cloud.spanner.Database;
import com.google.cloud.spanner.DatabaseAdminClient;
+import com.google.cloud.spanner.DatabaseId;
+import com.google.cloud.spanner.SpannerExceptionFactory;
+import com.google.common.io.ByteStreams;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata;
+import java.io.InputStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -39,11 +47,13 @@
@RunWith(JUnit4.class)
public class DdlClientTests {
+ private final String projectId = "test-project";
private final String instanceId = "test-instance";
private final String databaseId = "test-database";
private DdlClient createSubject(DatabaseAdminClient client) {
return DdlClient.newBuilder()
+ .setProjectId(projectId)
.setInstanceId(instanceId)
.setDatabaseName(databaseId)
.setDatabaseAdminClient(client)
@@ -52,21 +62,48 @@ private DdlClient createSubject(DatabaseAdminClient client) {
@Test
public void testExecuteDdl() throws InterruptedException, ExecutionException {
+ byte[] protoDescriptors;
+ try {
+ InputStream in =
+ DdlBatchTest.class
+ .getClassLoader()
+ .getResourceAsStream("com/google/cloud/spanner/descriptors.pb");
+ assertNotNull(in);
+ protoDescriptors = ByteStreams.toByteArray(in);
+ } catch (Exception e) {
+ throw SpannerExceptionFactory.newSpannerException(e);
+ }
+
DatabaseAdminClient client = mock(DatabaseAdminClient.class);
+ Database database = mock(Database.class);
+ Database.Builder databaseBuilder = mock(Database.Builder.class);
@SuppressWarnings("unchecked")
OperationFuture operation = mock(OperationFuture.class);
+
when(operation.get()).thenReturn(null);
- when(client.updateDatabaseDdl(eq(instanceId), eq(databaseId), anyList(), isNull()))
- .thenReturn(operation);
+ when(client.newDatabaseBuilder((DatabaseId.of(projectId, instanceId, databaseId))))
+ .thenReturn(databaseBuilder);
+ when(databaseBuilder.setProtoDescriptors(protoDescriptors)).thenReturn(databaseBuilder);
+ when(databaseBuilder.build()).thenReturn(database);
+ when(client.updateDatabaseDdl(eq(database), anyList(), isNull())).thenReturn(operation);
+
DdlClient subject = createSubject(client);
String ddl = "CREATE TABLE FOO";
- subject.executeDdl(ddl);
- verify(client).updateDatabaseDdl(instanceId, databaseId, Collections.singletonList(ddl), null);
+ subject.executeDdl(ddl, null);
+ verify(databaseBuilder, never()).setProtoDescriptors(any(byte[].class));
+ verify(client).updateDatabaseDdl(database, Collections.singletonList(ddl), null);
subject = createSubject(client);
List ddlList = Arrays.asList("CREATE TABLE FOO", "DROP TABLE FOO");
- subject.executeDdl(ddlList);
- verify(client).updateDatabaseDdl(instanceId, databaseId, ddlList, null);
+ subject.executeDdl(ddlList, null);
+ verify(databaseBuilder, never()).setProtoDescriptors(any(byte[].class));
+ verify(client).updateDatabaseDdl(database, ddlList, null);
+
+ subject = createSubject(client);
+ ddlList = Arrays.asList("CREATE PROTO BUNDLE", "CREATE TABLE FOO");
+ subject.executeDdl(ddlList, protoDescriptors);
+ verify(databaseBuilder).setProtoDescriptors(protoDescriptors);
+ verify(client).updateDatabaseDdl(database, ddlList, null);
}
@Test
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ExcludeTxnFromChangeStreamsMockServerTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ExcludeTxnFromChangeStreamsMockServerTest.java
new file mode 100644
index 00000000000..5fc8fc7cfef
--- /dev/null
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ExcludeTxnFromChangeStreamsMockServerTest.java
@@ -0,0 +1,236 @@
+/*
+ * Copyright 2024 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.cloud.spanner.connection;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.assertTrue;
+
+import com.google.cloud.spanner.ResultSet;
+import com.google.cloud.spanner.SpannerException;
+import com.google.cloud.spanner.Statement;
+import com.google.common.collect.ImmutableList;
+import com.google.spanner.v1.BeginTransactionRequest;
+import com.google.spanner.v1.ExecuteBatchDmlRequest;
+import com.google.spanner.v1.ExecuteSqlRequest;
+import org.junit.After;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@RunWith(JUnit4.class)
+public class ExcludeTxnFromChangeStreamsMockServerTest extends AbstractMockServerTest {
+
+ @After
+ public void clearRequests() {
+ mockSpanner.clearRequests();
+ }
+
+ @Test
+ public void testAutoCommit_includedByDefault() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ connection.executeUpdate(INSERT_STATEMENT);
+ }
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertTrue(request.hasTransaction());
+ assertTrue(request.getTransaction().hasBegin());
+ assertTrue(request.getTransaction().getBegin().hasReadWrite());
+ assertFalse(request.getTransaction().getBegin().getExcludeTxnFromChangeStreams());
+ }
+
+ @Test
+ public void testAutoCommitUpdate() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ connection.setExcludeTxnFromChangeStreams(true);
+ connection.executeUpdate(INSERT_STATEMENT);
+
+ // Verify that the setting is reset after executing a transaction.
+ assertFalse(connection.isExcludeTxnFromChangeStreams());
+ }
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertTrue(request.hasTransaction());
+ assertTrue(request.getTransaction().hasBegin());
+ assertTrue(request.getTransaction().getBegin().hasReadWrite());
+ assertTrue(request.getTransaction().getBegin().getExcludeTxnFromChangeStreams());
+ }
+
+ @Test
+ public void testAutoCommitBatchDml() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ connection.setExcludeTxnFromChangeStreams(true);
+ connection.executeBatchUpdate(ImmutableList.of(INSERT_STATEMENT, INSERT_STATEMENT));
+
+ assertFalse(connection.isExcludeTxnFromChangeStreams());
+ }
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteBatchDmlRequest.class));
+ ExecuteBatchDmlRequest request =
+ mockSpanner.getRequestsOfType(ExecuteBatchDmlRequest.class).get(0);
+ assertTrue(request.hasTransaction());
+ assertTrue(request.getTransaction().hasBegin());
+ assertTrue(request.getTransaction().getBegin().hasReadWrite());
+ assertTrue(request.getTransaction().getBegin().getExcludeTxnFromChangeStreams());
+ }
+
+ @Test
+ public void testAutoCommitUpdateReturning() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ connection.setExcludeTxnFromChangeStreams(true);
+ connection.executeQuery(INSERT_RETURNING_STATEMENT);
+
+ assertFalse(connection.isExcludeTxnFromChangeStreams());
+ }
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertTrue(request.hasTransaction());
+ assertTrue(request.getTransaction().hasBegin());
+ assertTrue(request.getTransaction().getBegin().hasReadWrite());
+ assertTrue(request.getTransaction().getBegin().getExcludeTxnFromChangeStreams());
+ }
+
+ @Test
+ public void testPartitionedDml() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ connection.setAutocommitDmlMode(AutocommitDmlMode.PARTITIONED_NON_ATOMIC);
+ connection.setExcludeTxnFromChangeStreams(true);
+ connection.executeUpdate(INSERT_STATEMENT);
+
+ // Verify that the setting is reset after executing a transaction.
+ assertFalse(connection.isExcludeTxnFromChangeStreams());
+ }
+
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ BeginTransactionRequest request =
+ mockSpanner.getRequestsOfType(BeginTransactionRequest.class).get(0);
+ assertTrue(request.hasOptions());
+ assertTrue(request.getOptions().hasPartitionedDml());
+ assertTrue(request.getOptions().getExcludeTxnFromChangeStreams());
+ }
+
+ @Test
+ public void testTransaction_includedByDefault() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(false);
+ connection.executeUpdate(INSERT_STATEMENT);
+ connection.commit();
+ }
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertTrue(request.hasTransaction());
+ assertTrue(request.getTransaction().hasBegin());
+ assertTrue(request.getTransaction().getBegin().hasReadWrite());
+ assertFalse(request.getTransaction().getBegin().getExcludeTxnFromChangeStreams());
+ }
+
+ @Test
+ public void testTransactionUpdate() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(false);
+ connection.setExcludeTxnFromChangeStreams(true);
+ connection.executeUpdate(INSERT_STATEMENT);
+ connection.commit();
+
+ // Verify that the setting is reset after executing a transaction.
+ assertFalse(connection.isExcludeTxnFromChangeStreams());
+ }
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertTrue(request.hasTransaction());
+ assertTrue(request.getTransaction().hasBegin());
+ assertTrue(request.getTransaction().getBegin().hasReadWrite());
+ assertTrue(request.getTransaction().getBegin().getExcludeTxnFromChangeStreams());
+ }
+
+ @Test
+ public void testTransactionBatchDml() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(false);
+ connection.setExcludeTxnFromChangeStreams(true);
+ connection.executeBatchUpdate(ImmutableList.of(INSERT_STATEMENT, INSERT_STATEMENT));
+ connection.commit();
+
+ assertFalse(connection.isExcludeTxnFromChangeStreams());
+ }
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteBatchDmlRequest.class));
+ ExecuteBatchDmlRequest request =
+ mockSpanner.getRequestsOfType(ExecuteBatchDmlRequest.class).get(0);
+ assertTrue(request.hasTransaction());
+ assertTrue(request.getTransaction().hasBegin());
+ assertTrue(request.getTransaction().getBegin().hasReadWrite());
+ assertTrue(request.getTransaction().getBegin().getExcludeTxnFromChangeStreams());
+ }
+
+ @Test
+ public void testTransactionUpdateReturning() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(false);
+ connection.setExcludeTxnFromChangeStreams(true);
+ connection.executeQuery(INSERT_RETURNING_STATEMENT);
+ connection.commit();
+
+ assertFalse(connection.isExcludeTxnFromChangeStreams());
+ }
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertTrue(request.hasTransaction());
+ assertTrue(request.getTransaction().hasBegin());
+ assertTrue(request.getTransaction().getBegin().hasReadWrite());
+ assertTrue(request.getTransaction().getBegin().getExcludeTxnFromChangeStreams());
+ }
+
+ @Test
+ public void testSqlStatements() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+
+ connection.execute(Statement.of("set exclude_txn_from_change_streams = true"));
+ assertTrue(connection.isExcludeTxnFromChangeStreams());
+
+ try (ResultSet resultSet =
+ connection
+ .execute(Statement.of("show variable exclude_txn_from_change_streams"))
+ .getResultSet()) {
+ assertTrue(resultSet.next());
+ assertTrue(resultSet.getBoolean("EXCLUDE_TXN_FROM_CHANGE_STREAMS"));
+ assertFalse(resultSet.next());
+ }
+
+ connection.setAutocommit(false);
+ connection.execute(Statement.of("set exclude_txn_from_change_streams = true"));
+ assertTrue(connection.isExcludeTxnFromChangeStreams());
+ connection.execute(INSERT_STATEMENT);
+ assertThrows(
+ SpannerException.class,
+ () -> connection.execute(Statement.of("set exclude_txn_from_change_streams=false")));
+ }
+ }
+}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/PartitionedQueryMockServerTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/PartitionedQueryMockServerTest.java
index 95bb4fb8fa0..655ca0de586 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/PartitionedQueryMockServerTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/PartitionedQueryMockServerTest.java
@@ -417,6 +417,94 @@ public void testRunEmptyPartitionedQuery() {
assertEquals(1, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
}
+ @Test
+ public void testGetMetadataWithoutNextCall() {
+ int generatedRowCount = 1;
+ RandomResultSetGenerator generator = new RandomResultSetGenerator(generatedRowCount);
+ Statement statement =
+ Statement.newBuilder("select * from random_table where active=@active")
+ .bind("active")
+ .to(true)
+ .build();
+ mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate()));
+
+ int maxPartitions = 1;
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ try (PartitionedQueryResultSet resultSet =
+ connection.runPartitionedQuery(
+ statement, PartitionOptions.newBuilder().setMaxPartitions(maxPartitions).build())) {
+ assertNotNull(resultSet.getMetadata());
+ assertEquals(24, resultSet.getMetadata().getRowType().getFieldsCount());
+ assertNotNull(resultSet.getType());
+ assertEquals(24, resultSet.getType().getStructFields().size());
+
+ assertTrue(resultSet.next());
+ assertNotNull(resultSet.getMetadata());
+ assertEquals(24, resultSet.getMetadata().getRowType().getFieldsCount());
+ assertNotNull(resultSet.getType());
+ assertEquals(24, resultSet.getType().getStructFields().size());
+
+ assertFalse(resultSet.next());
+ }
+ }
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ }
+
+ @Test
+ public void testGetMetadataWithoutNextCallOnEmptyResultSet() {
+ int generatedRowCount = 0;
+ RandomResultSetGenerator generator = new RandomResultSetGenerator(generatedRowCount);
+ Statement statement =
+ Statement.newBuilder("select * from random_table where active=@active")
+ .bind("active")
+ .to(true)
+ .build();
+ mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate()));
+
+ int maxPartitions = 1;
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ try (PartitionedQueryResultSet resultSet =
+ connection.runPartitionedQuery(
+ statement, PartitionOptions.newBuilder().setMaxPartitions(maxPartitions).build())) {
+ assertNotNull(resultSet.getMetadata());
+ assertEquals(24, resultSet.getMetadata().getRowType().getFieldsCount());
+ assertNotNull(resultSet.getType());
+ assertEquals(24, resultSet.getType().getStructFields().size());
+
+ assertFalse(resultSet.next());
+ }
+ }
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ }
+
+ @Test
+ public void testGetMetadataWithoutNextCallOnResultSetWithError() {
+ Statement statement =
+ Statement.newBuilder("select * from random_table where active=@active")
+ .bind("active")
+ .to(true)
+ .build();
+ mockSpanner.putStatementResult(
+ StatementResult.exception(statement, Status.NOT_FOUND.asRuntimeException()));
+
+ int maxPartitions = 1;
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ try (PartitionedQueryResultSet resultSet =
+ connection.runPartitionedQuery(
+ statement, PartitionOptions.newBuilder().setMaxPartitions(maxPartitions).build())) {
+ assertThrows(SpannerException.class, resultSet::getMetadata);
+ assertThrows(SpannerException.class, resultSet::getType);
+ }
+ }
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ }
+
@Test
public void testRunPartitionedQueryUsingSql() {
int generatedRowCount = 20;
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ProtoDescriptorsConverterTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ProtoDescriptorsConverterTest.java
new file mode 100644
index 00000000000..766bc987d37
--- /dev/null
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ProtoDescriptorsConverterTest.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2024 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.cloud.spanner.connection;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import com.google.cloud.spanner.Dialect;
+import com.google.cloud.spanner.SpannerExceptionFactory;
+import com.google.cloud.spanner.connection.ClientSideStatementImpl.CompileException;
+import com.google.cloud.spanner.connection.ClientSideStatementValueConverters.ProtoDescriptorsConverter;
+import com.google.common.io.ByteStreams;
+import java.io.InputStream;
+import java.util.Base64;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@RunWith(JUnit4.class)
+public class ProtoDescriptorsConverterTest {
+ @Test
+ public void testConvert() throws CompileException {
+ String allowedValues =
+ ReadOnlyStalenessConverterTest.getAllowedValues(
+ ProtoDescriptorsConverter.class, Dialect.GOOGLE_STANDARD_SQL);
+ assertNotNull(allowedValues);
+ ProtoDescriptorsConverter converter = new ProtoDescriptorsConverter(allowedValues);
+
+ byte[] protoDescriptors;
+ try {
+ InputStream in =
+ ProtoDescriptorsConverterTest.class
+ .getClassLoader()
+ .getResourceAsStream("com/google/cloud/spanner/descriptors.pb");
+ assertNotNull(in);
+ protoDescriptors = ByteStreams.toByteArray(in);
+ } catch (Exception e) {
+ throw SpannerExceptionFactory.newSpannerException(e);
+ }
+
+ assertNull(converter.convert(""));
+ assertNull(converter.convert("null"));
+ assertNull(converter.convert(null));
+ assertNull(converter.convert("random string"));
+
+ assertArrayEquals(
+ converter.convert(Base64.getEncoder().encodeToString(protoDescriptors)), protoDescriptors);
+ }
+}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ProtoDescriptorsFileConverterTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ProtoDescriptorsFileConverterTest.java
new file mode 100644
index 00000000000..29e4a2b591b
--- /dev/null
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ProtoDescriptorsFileConverterTest.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2024 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.cloud.spanner.connection;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import com.google.cloud.spanner.Dialect;
+import com.google.cloud.spanner.connection.ClientSideStatementImpl.CompileException;
+import com.google.cloud.spanner.connection.ClientSideStatementValueConverters.ProtoDescriptorsFileConverter;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@RunWith(JUnit4.class)
+public class ProtoDescriptorsFileConverterTest {
+ @Test
+ public void testConvert() throws CompileException {
+ String allowedValues =
+ ReadOnlyStalenessConverterTest.getAllowedValues(
+ ProtoDescriptorsFileConverter.class, Dialect.GOOGLE_STANDARD_SQL);
+ assertNotNull(allowedValues);
+ ProtoDescriptorsFileConverter converter = new ProtoDescriptorsFileConverter(allowedValues);
+
+ assertNull(converter.convert(""));
+ assertNull(converter.convert(null));
+
+ String filePath = "com/google/cloud/spanner/descriptors.pb";
+ assertEquals(converter.convert(filePath), filePath);
+ }
+}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SingleUseTransactionTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SingleUseTransactionTest.java
index 0ab419f294b..1fd6d6bd7e2 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SingleUseTransactionTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SingleUseTransactionTest.java
@@ -22,6 +22,7 @@
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.fail;
+import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyList;
import static org.mockito.Mockito.anyString;
import static org.mockito.Mockito.mock;
@@ -57,9 +58,11 @@
import com.google.cloud.spanner.connection.StatementExecutor.StatementTimeout;
import com.google.cloud.spanner.connection.UnitOfWork.CallType;
import com.google.common.base.Preconditions;
+import com.google.common.io.ByteStreams;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata;
import com.google.spanner.v1.ResultSetStats;
import io.opentelemetry.api.trace.Span;
+import java.io.InputStream;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
@@ -301,8 +304,8 @@ private DdlClient createDefaultMockDdlClient() {
final OperationFuture operation =
mock(OperationFuture.class);
when(operation.get()).thenReturn(null);
- when(ddlClient.executeDdl(anyString())).thenCallRealMethod();
- when(ddlClient.executeDdl(anyList())).thenReturn(operation);
+ when(ddlClient.executeDdl(anyString(), any())).thenCallRealMethod();
+ when(ddlClient.executeDdl(anyList(), any())).thenReturn(operation);
return ddlClient;
} catch (Exception e) {
throw new RuntimeException(e);
@@ -316,7 +319,8 @@ private SingleUseTransaction createSubject() {
TimestampBound.strong(),
AutocommitDmlMode.TRANSACTIONAL,
CommitBehavior.SUCCEED,
- 0L);
+ 0L,
+ null);
}
private SingleUseTransaction createSubject(AutocommitDmlMode dmlMode) {
@@ -326,7 +330,8 @@ private SingleUseTransaction createSubject(AutocommitDmlMode dmlMode) {
TimestampBound.strong(),
dmlMode,
CommitBehavior.SUCCEED,
- 0L);
+ 0L,
+ null);
}
private SingleUseTransaction createSubject(CommitBehavior commitBehavior) {
@@ -336,7 +341,8 @@ private SingleUseTransaction createSubject(CommitBehavior commitBehavior) {
TimestampBound.strong(),
AutocommitDmlMode.TRANSACTIONAL,
commitBehavior,
- 0L);
+ 0L,
+ null);
}
private SingleUseTransaction createDdlSubject(DdlClient ddlClient) {
@@ -346,7 +352,20 @@ private SingleUseTransaction createDdlSubject(DdlClient ddlClient) {
TimestampBound.strong(),
AutocommitDmlMode.TRANSACTIONAL,
CommitBehavior.SUCCEED,
- 0L);
+ 0L,
+ null);
+ }
+
+ private SingleUseTransaction createProtoDescriptorsSubject(
+ DdlClient ddlClient, byte[] protoDescriptors) {
+ return createSubject(
+ ddlClient,
+ false,
+ TimestampBound.strong(),
+ AutocommitDmlMode.TRANSACTIONAL,
+ CommitBehavior.SUCCEED,
+ 0L,
+ protoDescriptors);
}
private SingleUseTransaction createReadOnlySubject(TimestampBound staleness) {
@@ -356,7 +375,8 @@ private SingleUseTransaction createReadOnlySubject(TimestampBound staleness) {
staleness,
AutocommitDmlMode.TRANSACTIONAL,
CommitBehavior.SUCCEED,
- 0L);
+ 0L,
+ null);
}
private SingleUseTransaction createSubject(
@@ -365,7 +385,8 @@ private SingleUseTransaction createSubject(
TimestampBound staleness,
AutocommitDmlMode dmlMode,
final CommitBehavior commitBehavior,
- long timeout) {
+ long timeout,
+ byte[] protoDescriptors) {
DatabaseClient dbClient = mock(DatabaseClient.class);
com.google.cloud.spanner.ReadOnlyTransaction singleUse =
new SimpleReadOnlyTransaction(staleness);
@@ -454,6 +475,7 @@ public TransactionRunner allowNestedTransaction() {
timeout == 0L ? nullTimeout() : timeout(timeout, TimeUnit.MILLISECONDS))
.withStatementExecutor(executor)
.setSpan(Span.getInvalid())
+ .setProtoDescriptors(protoDescriptors)
.build();
}
@@ -541,7 +563,34 @@ public void testExecuteDdl() {
DdlClient ddlClient = createDefaultMockDdlClient();
SingleUseTransaction subject = createDdlSubject(ddlClient);
get(subject.executeDdlAsync(CallType.SYNC, ddl));
- verify(ddlClient).executeDdl(sql);
+ verify(ddlClient).executeDdl(sql, null);
+ }
+
+ @Test
+ public void testExecuteDdlWithProtoDescriptors() {
+ String sql = "CREATE TABLE FOO";
+ ParsedStatement ddl = createParsedDdl(sql);
+ DdlClient ddlClient = createDefaultMockDdlClient();
+ // verify when protoDescriptors value is null
+ SingleUseTransaction subject = createProtoDescriptorsSubject(ddlClient, null);
+ get(subject.executeDdlAsync(CallType.SYNC, ddl));
+ verify(ddlClient).executeDdl(sql, null);
+
+ // verify when protoDescriptors value is not null
+ byte[] protoDescriptors;
+ try {
+ InputStream in =
+ SingleUseTransactionTest.class
+ .getClassLoader()
+ .getResourceAsStream("com/google/cloud/spanner/descriptors.pb");
+ assertNotNull(in);
+ protoDescriptors = ByteStreams.toByteArray(in);
+ } catch (Exception e) {
+ throw SpannerExceptionFactory.newSpannerException(e);
+ }
+ subject = createProtoDescriptorsSubject(ddlClient, protoDescriptors);
+ get(subject.executeDdlAsync(CallType.SYNC, ddl));
+ verify(ddlClient).executeDdl(sql, protoDescriptors);
}
@Test
@@ -735,7 +784,7 @@ public void testMultiUse() {
DdlClient ddlClient = createDefaultMockDdlClient();
SingleUseTransaction subject = createDdlSubject(ddlClient);
get(subject.executeDdlAsync(CallType.SYNC, ddl));
- verify(ddlClient).executeDdl(sql);
+ verify(ddlClient).executeDdl(sql, null);
try {
get(subject.executeDdlAsync(CallType.SYNC, ddl));
fail("missing expected exception");
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/StatementResultImplTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/StatementResultImplTest.java
index c28d3b75b95..0a55ff2c420 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/StatementResultImplTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/StatementResultImplTest.java
@@ -21,9 +21,13 @@
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
+import com.google.cloud.ByteArray;
import com.google.cloud.Timestamp;
import com.google.cloud.spanner.ErrorCode;
import com.google.cloud.spanner.ResultSet;
@@ -154,6 +158,18 @@ public void testStringResultSetGetResultSet() {
assertThat(subject.getResultSet().next(), is(true));
assertThat(subject.getResultSet().getString("foo"), is(equalTo("bar")));
assertThat(subject.getResultSet().next(), is(false));
+
+ subject =
+ StatementResultImpl.resultSet(
+ "path", "descriptors.pb", ClientSideStatementType.SHOW_PROTO_DESCRIPTORS_FILE_PATH);
+ assertThat(subject.getResultType(), is(equalTo(ResultType.RESULT_SET)));
+ assertThat(
+ subject.getClientSideStatementType(),
+ is(equalTo(ClientSideStatementType.SHOW_PROTO_DESCRIPTORS_FILE_PATH)));
+ assertThat(subject.getResultSet(), is(notNullValue()));
+ assertThat(subject.getResultSet().next(), is(true));
+ assertThat(subject.getResultSet().getString("path"), is(equalTo("descriptors.pb")));
+ assertThat(subject.getResultSet().next(), is(false));
}
@Test
@@ -190,4 +206,19 @@ public void testTimestampResultSetGetResultSet() {
is(equalTo(Timestamp.ofTimeSecondsAndNanos(10L, 10))));
assertThat(subject.getResultSet().next(), is(false));
}
+
+ @Test
+ public void testBytesResultSetGetResultSet() {
+ StatementResult subject =
+ StatementResultImpl.resultSet(
+ "foo", "protoDescriptors".getBytes(), ClientSideStatementType.SHOW_PROTO_DESCRIPTORS);
+ assertEquals(subject.getResultType(), ResultType.RESULT_SET);
+ assertEquals(
+ subject.getClientSideStatementType(), ClientSideStatementType.SHOW_PROTO_DESCRIPTORS);
+ assertNotNull(subject.getResultSet());
+ assertTrue(subject.getResultSet().next());
+ assertEquals(
+ subject.getResultSet().getBytes("foo"), ByteArray.copyFrom("protoDescriptors".getBytes()));
+ assertFalse(subject.getResultSet().next());
+ }
}
diff --git a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ClientSideStatementsTest.sql b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ClientSideStatementsTest.sql
index 30aed342903..a098a275462 100644
--- a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ClientSideStatementsTest.sql
+++ b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ClientSideStatementsTest.sql
@@ -3591,6 +3591,205 @@ NEW_CONNECTION;
@EXPECT EXCEPTION UNIMPLEMENTED
show variable/-transaction_tag;
NEW_CONNECTION;
+show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+SHOW VARIABLE EXCLUDE_TXN_FROM_CHANGE_STREAMS;
+NEW_CONNECTION;
+show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+ show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+ show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+
+
+
+show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+show variable exclude_txn_from_change_streams ;
+NEW_CONNECTION;
+show variable exclude_txn_from_change_streams ;
+NEW_CONNECTION;
+show variable exclude_txn_from_change_streams
+
+;
+NEW_CONNECTION;
+show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+show
+variable
+exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams);
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-show variable exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable exclude_txn_from_change_streams/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-exclude_txn_from_change_streams;
+NEW_CONNECTION;
show variable rpc_priority;
NEW_CONNECTION;
SHOW VARIABLE RPC_PRIORITY;
@@ -18416,4184 +18615,5378 @@ set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
set/-transaction_tag='test_tag';
NEW_CONNECTION;
-set rpc_priority='HIGH';
+set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
-SET RPC_PRIORITY='HIGH';
+SET EXCLUDE_TXN_FROM_CHANGE_STREAMS = TRUE;
NEW_CONNECTION;
-set rpc_priority='high';
+set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
- set rpc_priority='HIGH';
+ set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
- set rpc_priority='HIGH';
+ set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
-set rpc_priority='HIGH';
+set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
-set rpc_priority='HIGH' ;
+set exclude_txn_from_change_streams = true ;
NEW_CONNECTION;
-set rpc_priority='HIGH' ;
+set exclude_txn_from_change_streams = true ;
NEW_CONNECTION;
-set rpc_priority='HIGH'
+set exclude_txn_from_change_streams = true
;
NEW_CONNECTION;
-set rpc_priority='HIGH';
+set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
-set rpc_priority='HIGH';
+set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
set
-rpc_priority='HIGH';
+exclude_txn_from_change_streams
+=
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set rpc_priority='HIGH';
+foo set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH' bar;
+set exclude_txn_from_change_streams = true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set rpc_priority='HIGH';
+%set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'%;
+set exclude_txn_from_change_streams = true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%rpc_priority='HIGH';
+set exclude_txn_from_change_streams =%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set rpc_priority='HIGH';
+_set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'_;
+set exclude_txn_from_change_streams = true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_rpc_priority='HIGH';
+set exclude_txn_from_change_streams =_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set rpc_priority='HIGH';
+&set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'&;
+set exclude_txn_from_change_streams = true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&rpc_priority='HIGH';
+set exclude_txn_from_change_streams =&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set rpc_priority='HIGH';
+$set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'$;
+set exclude_txn_from_change_streams = true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$rpc_priority='HIGH';
+set exclude_txn_from_change_streams =$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set rpc_priority='HIGH';
+@set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'@;
+set exclude_txn_from_change_streams = true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@rpc_priority='HIGH';
+set exclude_txn_from_change_streams =@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set rpc_priority='HIGH';
+!set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'!;
+set exclude_txn_from_change_streams = true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!rpc_priority='HIGH';
+set exclude_txn_from_change_streams =!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set rpc_priority='HIGH';
+*set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'*;
+set exclude_txn_from_change_streams = true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*rpc_priority='HIGH';
+set exclude_txn_from_change_streams =*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set rpc_priority='HIGH';
+(set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'(;
+set exclude_txn_from_change_streams = true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(rpc_priority='HIGH';
+set exclude_txn_from_change_streams =(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set rpc_priority='HIGH';
+)set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH');
+set exclude_txn_from_change_streams = true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)rpc_priority='HIGH';
+set exclude_txn_from_change_streams =)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set rpc_priority='HIGH';
+-set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'-;
+set exclude_txn_from_change_streams = true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-rpc_priority='HIGH';
+set exclude_txn_from_change_streams =-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set rpc_priority='HIGH';
++set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'+;
+set exclude_txn_from_change_streams = true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+rpc_priority='HIGH';
+set exclude_txn_from_change_streams =+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set rpc_priority='HIGH';
+-#set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'-#;
+set exclude_txn_from_change_streams = true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#rpc_priority='HIGH';
+set exclude_txn_from_change_streams =-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set rpc_priority='HIGH';
+/set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'/;
+set exclude_txn_from_change_streams = true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/rpc_priority='HIGH';
+set exclude_txn_from_change_streams =/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set rpc_priority='HIGH';
+\set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'\;
+set exclude_txn_from_change_streams = true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\rpc_priority='HIGH';
+set exclude_txn_from_change_streams =\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set rpc_priority='HIGH';
+?set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'?;
+set exclude_txn_from_change_streams = true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?rpc_priority='HIGH';
+set exclude_txn_from_change_streams =?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set rpc_priority='HIGH';
+-/set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'-/;
+set exclude_txn_from_change_streams = true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/rpc_priority='HIGH';
+set exclude_txn_from_change_streams =-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set rpc_priority='HIGH';
+/#set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'/#;
+set exclude_txn_from_change_streams = true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#rpc_priority='HIGH';
+set exclude_txn_from_change_streams =/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set rpc_priority='HIGH';
+/-set exclude_txn_from_change_streams = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'/-;
+set exclude_txn_from_change_streams = true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-rpc_priority='HIGH';
+set exclude_txn_from_change_streams =/-true;
NEW_CONNECTION;
-set rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
-SET RPC_PRIORITY='MEDIUM';
+SET EXCLUDE_TXN_FROM_CHANGE_STREAMS = FALSE;
NEW_CONNECTION;
-set rpc_priority='medium';
+set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
- set rpc_priority='MEDIUM';
+ set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
- set rpc_priority='MEDIUM';
+ set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
-set rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
-set rpc_priority='MEDIUM' ;
+set exclude_txn_from_change_streams = false ;
NEW_CONNECTION;
-set rpc_priority='MEDIUM' ;
+set exclude_txn_from_change_streams = false ;
NEW_CONNECTION;
-set rpc_priority='MEDIUM'
+set exclude_txn_from_change_streams = false
;
NEW_CONNECTION;
-set rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
-set rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
set
-rpc_priority='MEDIUM';
+exclude_txn_from_change_streams
+=
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set rpc_priority='MEDIUM';
+foo set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM' bar;
+set exclude_txn_from_change_streams = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set rpc_priority='MEDIUM';
+%set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'%;
+set exclude_txn_from_change_streams = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set rpc_priority='MEDIUM';
+_set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'_;
+set exclude_txn_from_change_streams = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set rpc_priority='MEDIUM';
+&set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'&;
+set exclude_txn_from_change_streams = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set rpc_priority='MEDIUM';
+$set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'$;
+set exclude_txn_from_change_streams = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set rpc_priority='MEDIUM';
+@set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'@;
+set exclude_txn_from_change_streams = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set rpc_priority='MEDIUM';
+!set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'!;
+set exclude_txn_from_change_streams = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set rpc_priority='MEDIUM';
+*set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'*;
+set exclude_txn_from_change_streams = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set rpc_priority='MEDIUM';
+(set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'(;
+set exclude_txn_from_change_streams = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set rpc_priority='MEDIUM';
+)set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM');
+set exclude_txn_from_change_streams = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set rpc_priority='MEDIUM';
+-set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'-;
+set exclude_txn_from_change_streams = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set rpc_priority='MEDIUM';
++set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'+;
+set exclude_txn_from_change_streams = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set rpc_priority='MEDIUM';
+-#set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'-#;
+set exclude_txn_from_change_streams = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set rpc_priority='MEDIUM';
+/set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'/;
+set exclude_txn_from_change_streams = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set rpc_priority='MEDIUM';
+\set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'\;
+set exclude_txn_from_change_streams = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set rpc_priority='MEDIUM';
+?set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'?;
+set exclude_txn_from_change_streams = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set rpc_priority='MEDIUM';
+-/set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'-/;
+set exclude_txn_from_change_streams = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set rpc_priority='MEDIUM';
+/#set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'/#;
+set exclude_txn_from_change_streams = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set rpc_priority='MEDIUM';
+/-set exclude_txn_from_change_streams = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'/-;
+set exclude_txn_from_change_streams = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-rpc_priority='MEDIUM';
+set exclude_txn_from_change_streams =/-false;
NEW_CONNECTION;
-set rpc_priority='LOW';
+set rpc_priority='HIGH';
NEW_CONNECTION;
-SET RPC_PRIORITY='LOW';
+SET RPC_PRIORITY='HIGH';
NEW_CONNECTION;
-set rpc_priority='low';
+set rpc_priority='high';
NEW_CONNECTION;
- set rpc_priority='LOW';
+ set rpc_priority='HIGH';
NEW_CONNECTION;
- set rpc_priority='LOW';
+ set rpc_priority='HIGH';
NEW_CONNECTION;
-set rpc_priority='LOW';
+set rpc_priority='HIGH';
NEW_CONNECTION;
-set rpc_priority='LOW' ;
+set rpc_priority='HIGH' ;
NEW_CONNECTION;
-set rpc_priority='LOW' ;
+set rpc_priority='HIGH' ;
NEW_CONNECTION;
-set rpc_priority='LOW'
+set rpc_priority='HIGH'
;
NEW_CONNECTION;
-set rpc_priority='LOW';
+set rpc_priority='HIGH';
NEW_CONNECTION;
-set rpc_priority='LOW';
+set rpc_priority='HIGH';
NEW_CONNECTION;
set
-rpc_priority='LOW';
+rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set rpc_priority='LOW';
+foo set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW' bar;
+set rpc_priority='HIGH' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set rpc_priority='LOW';
+%set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'%;
+set rpc_priority='HIGH'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%rpc_priority='LOW';
+set%rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set rpc_priority='LOW';
+_set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'_;
+set rpc_priority='HIGH'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_rpc_priority='LOW';
+set_rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set rpc_priority='LOW';
+&set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'&;
+set rpc_priority='HIGH'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&rpc_priority='LOW';
+set&rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set rpc_priority='LOW';
+$set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'$;
+set rpc_priority='HIGH'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$rpc_priority='LOW';
+set$rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set rpc_priority='LOW';
+@set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'@;
+set rpc_priority='HIGH'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@rpc_priority='LOW';
+set@rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set rpc_priority='LOW';
+!set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'!;
+set rpc_priority='HIGH'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!rpc_priority='LOW';
+set!rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set rpc_priority='LOW';
+*set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'*;
+set rpc_priority='HIGH'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*rpc_priority='LOW';
+set*rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set rpc_priority='LOW';
+(set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'(;
+set rpc_priority='HIGH'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(rpc_priority='LOW';
+set(rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set rpc_priority='LOW';
+)set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW');
+set rpc_priority='HIGH');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)rpc_priority='LOW';
+set)rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set rpc_priority='LOW';
+-set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'-;
+set rpc_priority='HIGH'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-rpc_priority='LOW';
+set-rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set rpc_priority='LOW';
++set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'+;
+set rpc_priority='HIGH'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+rpc_priority='LOW';
+set+rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set rpc_priority='LOW';
+-#set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'-#;
+set rpc_priority='HIGH'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#rpc_priority='LOW';
+set-#rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set rpc_priority='LOW';
+/set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'/;
+set rpc_priority='HIGH'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/rpc_priority='LOW';
+set/rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set rpc_priority='LOW';
+\set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'\;
+set rpc_priority='HIGH'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\rpc_priority='LOW';
+set\rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set rpc_priority='LOW';
+?set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'?;
+set rpc_priority='HIGH'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?rpc_priority='LOW';
+set?rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set rpc_priority='LOW';
+-/set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'-/;
+set rpc_priority='HIGH'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/rpc_priority='LOW';
+set-/rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set rpc_priority='LOW';
+/#set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'/#;
+set rpc_priority='HIGH'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#rpc_priority='LOW';
+set/#rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set rpc_priority='LOW';
+/-set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'/-;
+set rpc_priority='HIGH'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-rpc_priority='LOW';
+set/-rpc_priority='HIGH';
NEW_CONNECTION;
-set rpc_priority='NULL';
+set rpc_priority='MEDIUM';
NEW_CONNECTION;
-SET RPC_PRIORITY='NULL';
+SET RPC_PRIORITY='MEDIUM';
NEW_CONNECTION;
-set rpc_priority='null';
+set rpc_priority='medium';
NEW_CONNECTION;
- set rpc_priority='NULL';
+ set rpc_priority='MEDIUM';
NEW_CONNECTION;
- set rpc_priority='NULL';
+ set rpc_priority='MEDIUM';
NEW_CONNECTION;
-set rpc_priority='NULL';
+set rpc_priority='MEDIUM';
NEW_CONNECTION;
-set rpc_priority='NULL' ;
+set rpc_priority='MEDIUM' ;
NEW_CONNECTION;
-set rpc_priority='NULL' ;
+set rpc_priority='MEDIUM' ;
NEW_CONNECTION;
-set rpc_priority='NULL'
+set rpc_priority='MEDIUM'
;
NEW_CONNECTION;
-set rpc_priority='NULL';
+set rpc_priority='MEDIUM';
NEW_CONNECTION;
-set rpc_priority='NULL';
+set rpc_priority='MEDIUM';
NEW_CONNECTION;
set
-rpc_priority='NULL';
+rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set rpc_priority='NULL';
+foo set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL' bar;
+set rpc_priority='MEDIUM' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set rpc_priority='NULL';
+%set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'%;
+set rpc_priority='MEDIUM'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%rpc_priority='NULL';
+set%rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set rpc_priority='NULL';
+_set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'_;
+set rpc_priority='MEDIUM'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_rpc_priority='NULL';
+set_rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set rpc_priority='NULL';
+&set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'&;
+set rpc_priority='MEDIUM'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&rpc_priority='NULL';
+set&rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set rpc_priority='NULL';
+$set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'$;
+set rpc_priority='MEDIUM'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$rpc_priority='NULL';
+set$rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set rpc_priority='NULL';
+@set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'@;
+set rpc_priority='MEDIUM'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@rpc_priority='NULL';
+set@rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set rpc_priority='NULL';
+!set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'!;
+set rpc_priority='MEDIUM'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!rpc_priority='NULL';
+set!rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set rpc_priority='NULL';
+*set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'*;
+set rpc_priority='MEDIUM'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*rpc_priority='NULL';
+set*rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set rpc_priority='NULL';
+(set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'(;
+set rpc_priority='MEDIUM'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(rpc_priority='NULL';
+set(rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set rpc_priority='NULL';
+)set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL');
+set rpc_priority='MEDIUM');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)rpc_priority='NULL';
+set)rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set rpc_priority='NULL';
+-set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'-;
+set rpc_priority='MEDIUM'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-rpc_priority='NULL';
+set-rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set rpc_priority='NULL';
++set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'+;
+set rpc_priority='MEDIUM'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+rpc_priority='NULL';
+set+rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set rpc_priority='NULL';
+-#set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'-#;
+set rpc_priority='MEDIUM'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#rpc_priority='NULL';
+set-#rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set rpc_priority='NULL';
+/set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'/;
+set rpc_priority='MEDIUM'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/rpc_priority='NULL';
+set/rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set rpc_priority='NULL';
+\set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'\;
+set rpc_priority='MEDIUM'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\rpc_priority='NULL';
+set\rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set rpc_priority='NULL';
+?set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'?;
+set rpc_priority='MEDIUM'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?rpc_priority='NULL';
+set?rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set rpc_priority='NULL';
+-/set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'-/;
+set rpc_priority='MEDIUM'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/rpc_priority='NULL';
+set-/rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set rpc_priority='NULL';
+/#set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'/#;
+set rpc_priority='MEDIUM'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#rpc_priority='NULL';
+set/#rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set rpc_priority='NULL';
+/-set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'/-;
+set rpc_priority='MEDIUM'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-rpc_priority='NULL';
+set/-rpc_priority='MEDIUM';
NEW_CONNECTION;
-set savepoint_support='ENABLED';
+set rpc_priority='LOW';
NEW_CONNECTION;
-SET SAVEPOINT_SUPPORT='ENABLED';
+SET RPC_PRIORITY='LOW';
NEW_CONNECTION;
-set savepoint_support='enabled';
+set rpc_priority='low';
NEW_CONNECTION;
- set savepoint_support='ENABLED';
+ set rpc_priority='LOW';
NEW_CONNECTION;
- set savepoint_support='ENABLED';
+ set rpc_priority='LOW';
NEW_CONNECTION;
-set savepoint_support='ENABLED';
+set rpc_priority='LOW';
NEW_CONNECTION;
-set savepoint_support='ENABLED' ;
+set rpc_priority='LOW' ;
NEW_CONNECTION;
-set savepoint_support='ENABLED' ;
+set rpc_priority='LOW' ;
NEW_CONNECTION;
-set savepoint_support='ENABLED'
+set rpc_priority='LOW'
;
NEW_CONNECTION;
-set savepoint_support='ENABLED';
+set rpc_priority='LOW';
NEW_CONNECTION;
-set savepoint_support='ENABLED';
+set rpc_priority='LOW';
NEW_CONNECTION;
set
-savepoint_support='ENABLED';
+rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set savepoint_support='ENABLED';
+foo set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED' bar;
+set rpc_priority='LOW' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set savepoint_support='ENABLED';
+%set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'%;
+set rpc_priority='LOW'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%savepoint_support='ENABLED';
+set%rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set savepoint_support='ENABLED';
+_set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'_;
+set rpc_priority='LOW'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_savepoint_support='ENABLED';
+set_rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set savepoint_support='ENABLED';
+&set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'&;
+set rpc_priority='LOW'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&savepoint_support='ENABLED';
+set&rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set savepoint_support='ENABLED';
+$set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'$;
+set rpc_priority='LOW'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$savepoint_support='ENABLED';
+set$rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set savepoint_support='ENABLED';
+@set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'@;
+set rpc_priority='LOW'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@savepoint_support='ENABLED';
+set@rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set savepoint_support='ENABLED';
+!set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'!;
+set rpc_priority='LOW'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!savepoint_support='ENABLED';
+set!rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set savepoint_support='ENABLED';
+*set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'*;
+set rpc_priority='LOW'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*savepoint_support='ENABLED';
+set*rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set savepoint_support='ENABLED';
+(set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'(;
+set rpc_priority='LOW'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(savepoint_support='ENABLED';
+set(rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set savepoint_support='ENABLED';
+)set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED');
+set rpc_priority='LOW');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)savepoint_support='ENABLED';
+set)rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set savepoint_support='ENABLED';
+-set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'-;
+set rpc_priority='LOW'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-savepoint_support='ENABLED';
+set-rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set savepoint_support='ENABLED';
++set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'+;
+set rpc_priority='LOW'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+savepoint_support='ENABLED';
+set+rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set savepoint_support='ENABLED';
+-#set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'-#;
+set rpc_priority='LOW'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#savepoint_support='ENABLED';
+set-#rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set savepoint_support='ENABLED';
+/set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'/;
+set rpc_priority='LOW'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/savepoint_support='ENABLED';
+set/rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set savepoint_support='ENABLED';
+\set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'\;
+set rpc_priority='LOW'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\savepoint_support='ENABLED';
+set\rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set savepoint_support='ENABLED';
+?set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'?;
+set rpc_priority='LOW'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?savepoint_support='ENABLED';
+set?rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set savepoint_support='ENABLED';
+-/set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'-/;
+set rpc_priority='LOW'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/savepoint_support='ENABLED';
+set-/rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set savepoint_support='ENABLED';
+/#set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'/#;
+set rpc_priority='LOW'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#savepoint_support='ENABLED';
+set/#rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set savepoint_support='ENABLED';
+/-set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'/-;
+set rpc_priority='LOW'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-savepoint_support='ENABLED';
+set/-rpc_priority='LOW';
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK';
+set rpc_priority='NULL';
NEW_CONNECTION;
-SET SAVEPOINT_SUPPORT='FAIL_AFTER_ROLLBACK';
+SET RPC_PRIORITY='NULL';
NEW_CONNECTION;
-set savepoint_support='fail_after_rollback';
+set rpc_priority='null';
NEW_CONNECTION;
- set savepoint_support='FAIL_AFTER_ROLLBACK';
+ set rpc_priority='NULL';
NEW_CONNECTION;
- set savepoint_support='FAIL_AFTER_ROLLBACK';
+ set rpc_priority='NULL';
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK';
+set rpc_priority='NULL';
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK' ;
+set rpc_priority='NULL' ;
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK' ;
+set rpc_priority='NULL' ;
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK'
+set rpc_priority='NULL'
;
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK';
+set rpc_priority='NULL';
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK';
+set rpc_priority='NULL';
NEW_CONNECTION;
set
-savepoint_support='FAIL_AFTER_ROLLBACK';
+rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set savepoint_support='FAIL_AFTER_ROLLBACK';
+foo set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK' bar;
+set rpc_priority='NULL' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set savepoint_support='FAIL_AFTER_ROLLBACK';
+%set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'%;
+set rpc_priority='NULL'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%savepoint_support='FAIL_AFTER_ROLLBACK';
+set%rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set savepoint_support='FAIL_AFTER_ROLLBACK';
+_set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'_;
+set rpc_priority='NULL'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_savepoint_support='FAIL_AFTER_ROLLBACK';
+set_rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set savepoint_support='FAIL_AFTER_ROLLBACK';
+&set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'&;
+set rpc_priority='NULL'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&savepoint_support='FAIL_AFTER_ROLLBACK';
+set&rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set savepoint_support='FAIL_AFTER_ROLLBACK';
+$set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'$;
+set rpc_priority='NULL'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$savepoint_support='FAIL_AFTER_ROLLBACK';
+set$rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set savepoint_support='FAIL_AFTER_ROLLBACK';
+@set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'@;
+set rpc_priority='NULL'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@savepoint_support='FAIL_AFTER_ROLLBACK';
+set@rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set savepoint_support='FAIL_AFTER_ROLLBACK';
+!set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'!;
+set rpc_priority='NULL'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!savepoint_support='FAIL_AFTER_ROLLBACK';
+set!rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set savepoint_support='FAIL_AFTER_ROLLBACK';
+*set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'*;
+set rpc_priority='NULL'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*savepoint_support='FAIL_AFTER_ROLLBACK';
+set*rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set savepoint_support='FAIL_AFTER_ROLLBACK';
+(set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'(;
+set rpc_priority='NULL'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(savepoint_support='FAIL_AFTER_ROLLBACK';
+set(rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set savepoint_support='FAIL_AFTER_ROLLBACK';
+)set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK');
+set rpc_priority='NULL');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)savepoint_support='FAIL_AFTER_ROLLBACK';
+set)rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set savepoint_support='FAIL_AFTER_ROLLBACK';
+-set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'-;
+set rpc_priority='NULL'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-savepoint_support='FAIL_AFTER_ROLLBACK';
+set-rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set savepoint_support='FAIL_AFTER_ROLLBACK';
++set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'+;
+set rpc_priority='NULL'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+savepoint_support='FAIL_AFTER_ROLLBACK';
+set+rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set savepoint_support='FAIL_AFTER_ROLLBACK';
+-#set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'-#;
+set rpc_priority='NULL'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#savepoint_support='FAIL_AFTER_ROLLBACK';
+set-#rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set savepoint_support='FAIL_AFTER_ROLLBACK';
+/set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'/;
+set rpc_priority='NULL'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/savepoint_support='FAIL_AFTER_ROLLBACK';
+set/rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set savepoint_support='FAIL_AFTER_ROLLBACK';
+\set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'\;
+set rpc_priority='NULL'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\savepoint_support='FAIL_AFTER_ROLLBACK';
+set\rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set savepoint_support='FAIL_AFTER_ROLLBACK';
+?set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'?;
+set rpc_priority='NULL'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?savepoint_support='FAIL_AFTER_ROLLBACK';
+set?rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set savepoint_support='FAIL_AFTER_ROLLBACK';
+-/set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'-/;
+set rpc_priority='NULL'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/savepoint_support='FAIL_AFTER_ROLLBACK';
+set-/rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set savepoint_support='FAIL_AFTER_ROLLBACK';
+/#set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'/#;
+set rpc_priority='NULL'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#savepoint_support='FAIL_AFTER_ROLLBACK';
+set/#rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set savepoint_support='FAIL_AFTER_ROLLBACK';
+/-set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'/-;
+set rpc_priority='NULL'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-savepoint_support='FAIL_AFTER_ROLLBACK';
+set/-rpc_priority='NULL';
NEW_CONNECTION;
-set savepoint_support='DISABLED';
+set savepoint_support='ENABLED';
NEW_CONNECTION;
-SET SAVEPOINT_SUPPORT='DISABLED';
+SET SAVEPOINT_SUPPORT='ENABLED';
NEW_CONNECTION;
-set savepoint_support='disabled';
+set savepoint_support='enabled';
NEW_CONNECTION;
- set savepoint_support='DISABLED';
+ set savepoint_support='ENABLED';
NEW_CONNECTION;
- set savepoint_support='DISABLED';
+ set savepoint_support='ENABLED';
NEW_CONNECTION;
-set savepoint_support='DISABLED';
+set savepoint_support='ENABLED';
NEW_CONNECTION;
-set savepoint_support='DISABLED' ;
+set savepoint_support='ENABLED' ;
NEW_CONNECTION;
-set savepoint_support='DISABLED' ;
+set savepoint_support='ENABLED' ;
NEW_CONNECTION;
-set savepoint_support='DISABLED'
+set savepoint_support='ENABLED'
;
NEW_CONNECTION;
-set savepoint_support='DISABLED';
+set savepoint_support='ENABLED';
NEW_CONNECTION;
-set savepoint_support='DISABLED';
+set savepoint_support='ENABLED';
NEW_CONNECTION;
set
-savepoint_support='DISABLED';
+savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set savepoint_support='DISABLED';
+foo set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED' bar;
+set savepoint_support='ENABLED' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set savepoint_support='DISABLED';
+%set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'%;
+set savepoint_support='ENABLED'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%savepoint_support='DISABLED';
+set%savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set savepoint_support='DISABLED';
+_set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'_;
+set savepoint_support='ENABLED'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_savepoint_support='DISABLED';
+set_savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set savepoint_support='DISABLED';
+&set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'&;
+set savepoint_support='ENABLED'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&savepoint_support='DISABLED';
+set&savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set savepoint_support='DISABLED';
+$set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'$;
+set savepoint_support='ENABLED'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$savepoint_support='DISABLED';
+set$savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set savepoint_support='DISABLED';
+@set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'@;
+set savepoint_support='ENABLED'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@savepoint_support='DISABLED';
+set@savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set savepoint_support='DISABLED';
+!set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'!;
+set savepoint_support='ENABLED'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!savepoint_support='DISABLED';
+set!savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set savepoint_support='DISABLED';
+*set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'*;
+set savepoint_support='ENABLED'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*savepoint_support='DISABLED';
+set*savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set savepoint_support='DISABLED';
+(set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'(;
+set savepoint_support='ENABLED'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(savepoint_support='DISABLED';
+set(savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set savepoint_support='DISABLED';
+)set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED');
+set savepoint_support='ENABLED');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)savepoint_support='DISABLED';
+set)savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set savepoint_support='DISABLED';
+-set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'-;
+set savepoint_support='ENABLED'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-savepoint_support='DISABLED';
+set-savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set savepoint_support='DISABLED';
++set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'+;
+set savepoint_support='ENABLED'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+savepoint_support='DISABLED';
+set+savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set savepoint_support='DISABLED';
+-#set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'-#;
+set savepoint_support='ENABLED'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#savepoint_support='DISABLED';
+set-#savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set savepoint_support='DISABLED';
+/set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'/;
+set savepoint_support='ENABLED'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/savepoint_support='DISABLED';
+set/savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set savepoint_support='DISABLED';
+\set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'\;
+set savepoint_support='ENABLED'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\savepoint_support='DISABLED';
+set\savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set savepoint_support='DISABLED';
+?set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'?;
+set savepoint_support='ENABLED'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?savepoint_support='DISABLED';
+set?savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set savepoint_support='DISABLED';
+-/set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'-/;
+set savepoint_support='ENABLED'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/savepoint_support='DISABLED';
+set-/savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set savepoint_support='DISABLED';
+/#set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'/#;
+set savepoint_support='ENABLED'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#savepoint_support='DISABLED';
+set/#savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set savepoint_support='DISABLED';
+/-set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'/-;
+set savepoint_support='ENABLED'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-savepoint_support='DISABLED';
+set/-savepoint_support='ENABLED';
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = true;
+set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-SET DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE = TRUE;
+SET SAVEPOINT_SUPPORT='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = true;
+set savepoint_support='fail_after_rollback';
NEW_CONNECTION;
- set delay_transaction_start_until_first_write = true;
+ set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
- set delay_transaction_start_until_first_write = true;
+ set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = true;
+set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = true ;
+set savepoint_support='FAIL_AFTER_ROLLBACK' ;
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = true ;
+set savepoint_support='FAIL_AFTER_ROLLBACK' ;
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = true
+set savepoint_support='FAIL_AFTER_ROLLBACK'
;
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = true;
+set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = true;
+set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
set
-delay_transaction_start_until_first_write
-=
-true;
+savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set delay_transaction_start_until_first_write = true;
+foo set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true bar;
+set savepoint_support='FAIL_AFTER_ROLLBACK' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set delay_transaction_start_until_first_write = true;
+%set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true%;
+set savepoint_support='FAIL_AFTER_ROLLBACK'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =%true;
+set%savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set delay_transaction_start_until_first_write = true;
+_set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true_;
+set savepoint_support='FAIL_AFTER_ROLLBACK'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =_true;
+set_savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set delay_transaction_start_until_first_write = true;
+&set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true&;
+set savepoint_support='FAIL_AFTER_ROLLBACK'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =&true;
+set&savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set delay_transaction_start_until_first_write = true;
+$set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true$;
+set savepoint_support='FAIL_AFTER_ROLLBACK'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =$true;
+set$savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set delay_transaction_start_until_first_write = true;
+@set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true@;
+set savepoint_support='FAIL_AFTER_ROLLBACK'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =@true;
+set@savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set delay_transaction_start_until_first_write = true;
+!set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true!;
+set savepoint_support='FAIL_AFTER_ROLLBACK'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =!true;
+set!savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set delay_transaction_start_until_first_write = true;
+*set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true*;
+set savepoint_support='FAIL_AFTER_ROLLBACK'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =*true;
+set*savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set delay_transaction_start_until_first_write = true;
+(set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true(;
+set savepoint_support='FAIL_AFTER_ROLLBACK'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =(true;
+set(savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set delay_transaction_start_until_first_write = true;
+)set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true);
+set savepoint_support='FAIL_AFTER_ROLLBACK');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =)true;
+set)savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set delay_transaction_start_until_first_write = true;
+-set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true-;
+set savepoint_support='FAIL_AFTER_ROLLBACK'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =-true;
+set-savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set delay_transaction_start_until_first_write = true;
++set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true+;
+set savepoint_support='FAIL_AFTER_ROLLBACK'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =+true;
+set+savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set delay_transaction_start_until_first_write = true;
+-#set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true-#;
+set savepoint_support='FAIL_AFTER_ROLLBACK'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =-#true;
+set-#savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set delay_transaction_start_until_first_write = true;
+/set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true/;
+set savepoint_support='FAIL_AFTER_ROLLBACK'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =/true;
+set/savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set delay_transaction_start_until_first_write = true;
+\set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true\;
+set savepoint_support='FAIL_AFTER_ROLLBACK'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =\true;
+set\savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set delay_transaction_start_until_first_write = true;
+?set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true?;
+set savepoint_support='FAIL_AFTER_ROLLBACK'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =?true;
+set?savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set delay_transaction_start_until_first_write = true;
+-/set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true-/;
+set savepoint_support='FAIL_AFTER_ROLLBACK'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =-/true;
+set-/savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set delay_transaction_start_until_first_write = true;
+/#set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true/#;
+set savepoint_support='FAIL_AFTER_ROLLBACK'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =/#true;
+set/#savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set delay_transaction_start_until_first_write = true;
+/-set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = true/-;
+set savepoint_support='FAIL_AFTER_ROLLBACK'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =/-true;
+set/-savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = false;
+set savepoint_support='DISABLED';
NEW_CONNECTION;
-SET DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE = FALSE;
+SET SAVEPOINT_SUPPORT='DISABLED';
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = false;
+set savepoint_support='disabled';
NEW_CONNECTION;
- set delay_transaction_start_until_first_write = false;
+ set savepoint_support='DISABLED';
NEW_CONNECTION;
- set delay_transaction_start_until_first_write = false;
+ set savepoint_support='DISABLED';
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = false;
+set savepoint_support='DISABLED';
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = false ;
+set savepoint_support='DISABLED' ;
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = false ;
+set savepoint_support='DISABLED' ;
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = false
+set savepoint_support='DISABLED'
;
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = false;
+set savepoint_support='DISABLED';
NEW_CONNECTION;
-set delay_transaction_start_until_first_write = false;
+set savepoint_support='DISABLED';
NEW_CONNECTION;
set
-delay_transaction_start_until_first_write
-=
-false;
+savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set delay_transaction_start_until_first_write = false;
+foo set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false bar;
+set savepoint_support='DISABLED' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set delay_transaction_start_until_first_write = false;
+%set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false%;
+set savepoint_support='DISABLED'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =%false;
+set%savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set delay_transaction_start_until_first_write = false;
+_set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false_;
+set savepoint_support='DISABLED'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =_false;
+set_savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set delay_transaction_start_until_first_write = false;
+&set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false&;
+set savepoint_support='DISABLED'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =&false;
+set&savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set delay_transaction_start_until_first_write = false;
+$set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false$;
+set savepoint_support='DISABLED'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =$false;
+set$savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set delay_transaction_start_until_first_write = false;
+@set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false@;
+set savepoint_support='DISABLED'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =@false;
+set@savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set delay_transaction_start_until_first_write = false;
+!set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false!;
+set savepoint_support='DISABLED'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =!false;
+set!savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set delay_transaction_start_until_first_write = false;
+*set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false*;
+set savepoint_support='DISABLED'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =*false;
+set*savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set delay_transaction_start_until_first_write = false;
+(set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false(;
+set savepoint_support='DISABLED'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =(false;
+set(savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set delay_transaction_start_until_first_write = false;
+)set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false);
+set savepoint_support='DISABLED');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =)false;
+set)savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set delay_transaction_start_until_first_write = false;
+-set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false-;
+set savepoint_support='DISABLED'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =-false;
+set-savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set delay_transaction_start_until_first_write = false;
++set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false+;
+set savepoint_support='DISABLED'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =+false;
+set+savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set delay_transaction_start_until_first_write = false;
+-#set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false-#;
+set savepoint_support='DISABLED'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =-#false;
+set-#savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set delay_transaction_start_until_first_write = false;
+/set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false/;
+set savepoint_support='DISABLED'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =/false;
+set/savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set delay_transaction_start_until_first_write = false;
+\set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false\;
+set savepoint_support='DISABLED'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =\false;
+set\savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set delay_transaction_start_until_first_write = false;
+?set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false?;
+set savepoint_support='DISABLED'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =?false;
+set?savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set delay_transaction_start_until_first_write = false;
+-/set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false-/;
+set savepoint_support='DISABLED'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =-/false;
+set-/savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set delay_transaction_start_until_first_write = false;
+/#set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false/#;
+set savepoint_support='DISABLED'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =/#false;
+set/#savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set delay_transaction_start_until_first_write = false;
+/-set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write = false/-;
+set savepoint_support='DISABLED'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set delay_transaction_start_until_first_write =/-false;
+set/-savepoint_support='DISABLED';
NEW_CONNECTION;
-show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-SHOW VARIABLE DATA_BOOST_ENABLED;
+SET DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE = TRUE;
NEW_CONNECTION;
-show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
- show variable data_boost_enabled;
+ set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
- show variable data_boost_enabled;
+ set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-show variable data_boost_enabled ;
+set delay_transaction_start_until_first_write = true ;
NEW_CONNECTION;
-show variable data_boost_enabled ;
+set delay_transaction_start_until_first_write = true ;
NEW_CONNECTION;
-show variable data_boost_enabled
+set delay_transaction_start_until_first_write = true
;
NEW_CONNECTION;
-show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-show
-variable
-data_boost_enabled;
+set
+delay_transaction_start_until_first_write
+=
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo show variable data_boost_enabled;
-NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled bar;
+foo set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%show variable data_boost_enabled;
-NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled%;
+set delay_transaction_start_until_first_write = true bar;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable%data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true%;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled_;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =%true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable_data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true_;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled&;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =_true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable&data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true&;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled$;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =&true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable$data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true$;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled@;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =$true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable@data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true@;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled!;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =@true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable!data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true!;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled*;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =!true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable*data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true*;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled(;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =*true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable(data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true(;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled);
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =(true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable)data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true);
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled-;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =)true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable-data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true-;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled+;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =-true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable+data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true+;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled-#;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =+true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable-#data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true-#;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled/;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =-#true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable/data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true/;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled\;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =/true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable\data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true\;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled?;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =\true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable?data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true?;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled-/;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =?true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable-/data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true-/;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled/#;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =-/true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable/#data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-show variable data_boost_enabled;
+set delay_transaction_start_until_first_write = true/#;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable data_boost_enabled/-;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =/#true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable/-data_boost_enabled;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-set data_boost_enabled = true;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write = true/-;
NEW_CONNECTION;
-SET DATA_BOOST_ENABLED = TRUE;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set delay_transaction_start_until_first_write =/-true;
NEW_CONNECTION;
-set data_boost_enabled = true;
+set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
- set data_boost_enabled = true;
+SET DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE = FALSE;
NEW_CONNECTION;
- set data_boost_enabled = true;
+set delay_transaction_start_until_first_write = false;
+NEW_CONNECTION;
+ set delay_transaction_start_until_first_write = false;
+NEW_CONNECTION;
+ set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
-set data_boost_enabled = true;
+set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
-set data_boost_enabled = true ;
+set delay_transaction_start_until_first_write = false ;
NEW_CONNECTION;
-set data_boost_enabled = true ;
+set delay_transaction_start_until_first_write = false ;
NEW_CONNECTION;
-set data_boost_enabled = true
+set delay_transaction_start_until_first_write = false
;
NEW_CONNECTION;
-set data_boost_enabled = true;
+set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
-set data_boost_enabled = true;
+set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
set
-data_boost_enabled
+delay_transaction_start_until_first_write
=
-true;
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set data_boost_enabled = true;
+foo set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true bar;
+set delay_transaction_start_until_first_write = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set data_boost_enabled = true;
+%set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true%;
+set delay_transaction_start_until_first_write = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =%true;
+set delay_transaction_start_until_first_write =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set data_boost_enabled = true;
+_set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true_;
+set delay_transaction_start_until_first_write = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =_true;
+set delay_transaction_start_until_first_write =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set data_boost_enabled = true;
+&set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true&;
+set delay_transaction_start_until_first_write = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =&true;
+set delay_transaction_start_until_first_write =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set data_boost_enabled = true;
+$set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true$;
+set delay_transaction_start_until_first_write = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =$true;
+set delay_transaction_start_until_first_write =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set data_boost_enabled = true;
+@set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true@;
+set delay_transaction_start_until_first_write = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =@true;
+set delay_transaction_start_until_first_write =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set data_boost_enabled = true;
+!set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true!;
+set delay_transaction_start_until_first_write = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =!true;
+set delay_transaction_start_until_first_write =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set data_boost_enabled = true;
+*set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true*;
+set delay_transaction_start_until_first_write = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =*true;
+set delay_transaction_start_until_first_write =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set data_boost_enabled = true;
+(set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true(;
+set delay_transaction_start_until_first_write = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =(true;
+set delay_transaction_start_until_first_write =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set data_boost_enabled = true;
+)set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true);
+set delay_transaction_start_until_first_write = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =)true;
+set delay_transaction_start_until_first_write =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set data_boost_enabled = true;
+-set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true-;
+set delay_transaction_start_until_first_write = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =-true;
+set delay_transaction_start_until_first_write =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set data_boost_enabled = true;
++set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true+;
+set delay_transaction_start_until_first_write = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =+true;
+set delay_transaction_start_until_first_write =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set data_boost_enabled = true;
+-#set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true-#;
+set delay_transaction_start_until_first_write = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =-#true;
+set delay_transaction_start_until_first_write =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set data_boost_enabled = true;
+/set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true/;
+set delay_transaction_start_until_first_write = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =/true;
+set delay_transaction_start_until_first_write =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set data_boost_enabled = true;
+\set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true\;
+set delay_transaction_start_until_first_write = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =\true;
+set delay_transaction_start_until_first_write =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set data_boost_enabled = true;
+?set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true?;
+set delay_transaction_start_until_first_write = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =?true;
+set delay_transaction_start_until_first_write =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set data_boost_enabled = true;
+-/set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true-/;
+set delay_transaction_start_until_first_write = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =-/true;
+set delay_transaction_start_until_first_write =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set data_boost_enabled = true;
+/#set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true/#;
+set delay_transaction_start_until_first_write = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =/#true;
+set delay_transaction_start_until_first_write =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set data_boost_enabled = true;
+/-set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = true/-;
+set delay_transaction_start_until_first_write = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =/-true;
+set delay_transaction_start_until_first_write =/-false;
NEW_CONNECTION;
-set data_boost_enabled = false;
+show variable data_boost_enabled;
NEW_CONNECTION;
-SET DATA_BOOST_ENABLED = FALSE;
+SHOW VARIABLE DATA_BOOST_ENABLED;
NEW_CONNECTION;
-set data_boost_enabled = false;
+show variable data_boost_enabled;
NEW_CONNECTION;
- set data_boost_enabled = false;
+ show variable data_boost_enabled;
NEW_CONNECTION;
- set data_boost_enabled = false;
+ show variable data_boost_enabled;
NEW_CONNECTION;
-set data_boost_enabled = false;
+show variable data_boost_enabled;
NEW_CONNECTION;
-set data_boost_enabled = false ;
+show variable data_boost_enabled ;
NEW_CONNECTION;
-set data_boost_enabled = false ;
+show variable data_boost_enabled ;
NEW_CONNECTION;
-set data_boost_enabled = false
+show variable data_boost_enabled
;
NEW_CONNECTION;
-set data_boost_enabled = false;
+show variable data_boost_enabled;
NEW_CONNECTION;
-set data_boost_enabled = false;
+show variable data_boost_enabled;
NEW_CONNECTION;
-set
-data_boost_enabled
-=
-false;
+show
+variable
+data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set data_boost_enabled = false;
+foo show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false bar;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set data_boost_enabled = false;
+%show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false%;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled%;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =%false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set data_boost_enabled = false;
+_show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false_;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled_;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =_false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set data_boost_enabled = false;
+&show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false&;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled&;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =&false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set data_boost_enabled = false;
+$show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false$;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled$;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =$false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set data_boost_enabled = false;
+@show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false@;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled@;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =@false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set data_boost_enabled = false;
+!show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false!;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled!;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =!false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set data_boost_enabled = false;
+*show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false*;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled*;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =*false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set data_boost_enabled = false;
+(show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false(;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled(;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =(false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set data_boost_enabled = false;
+)show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false);
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled);
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =)false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set data_boost_enabled = false;
+-show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false-;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled-;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =-false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set data_boost_enabled = false;
++show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false+;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled+;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =+false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set data_boost_enabled = false;
+-#show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false-#;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled-#;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =-#false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set data_boost_enabled = false;
+/show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false/;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled/;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =/false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set data_boost_enabled = false;
+\show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false\;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled\;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =\false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set data_boost_enabled = false;
+?show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false?;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled?;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =?false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set data_boost_enabled = false;
+-/show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false-/;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled-/;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =-/false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set data_boost_enabled = false;
+/#show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false/#;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled/#;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =/#false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set data_boost_enabled = false;
+/-show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled = false/-;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled/-;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set data_boost_enabled =/-false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-data_boost_enabled;
NEW_CONNECTION;
-show variable auto_partition_mode;
+set data_boost_enabled = true;
NEW_CONNECTION;
-SHOW VARIABLE AUTO_PARTITION_MODE;
+SET DATA_BOOST_ENABLED = TRUE;
NEW_CONNECTION;
-show variable auto_partition_mode;
+set data_boost_enabled = true;
NEW_CONNECTION;
- show variable auto_partition_mode;
+ set data_boost_enabled = true;
NEW_CONNECTION;
- show variable auto_partition_mode;
+ set data_boost_enabled = true;
NEW_CONNECTION;
-show variable auto_partition_mode;
+set data_boost_enabled = true;
NEW_CONNECTION;
-show variable auto_partition_mode ;
+set data_boost_enabled = true ;
NEW_CONNECTION;
-show variable auto_partition_mode ;
+set data_boost_enabled = true ;
NEW_CONNECTION;
-show variable auto_partition_mode
+set data_boost_enabled = true
;
NEW_CONNECTION;
-show variable auto_partition_mode;
+set data_boost_enabled = true;
NEW_CONNECTION;
-show variable auto_partition_mode;
+set data_boost_enabled = true;
NEW_CONNECTION;
-show
-variable
-auto_partition_mode;
+set
+data_boost_enabled
+=
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo show variable auto_partition_mode;
+foo set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode bar;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%show variable auto_partition_mode;
+%set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode%;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true%;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable%auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_show variable auto_partition_mode;
+_set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode_;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true_;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable_auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&show variable auto_partition_mode;
+&set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode&;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true&;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable&auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$show variable auto_partition_mode;
+$set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode$;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true$;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable$auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@show variable auto_partition_mode;
+@set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode@;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true@;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable@auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!show variable auto_partition_mode;
+!set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode!;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true!;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable!auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*show variable auto_partition_mode;
+*set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode*;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true*;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable*auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(show variable auto_partition_mode;
+(set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode(;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true(;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable(auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)show variable auto_partition_mode;
+)set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode);
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true);
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable)auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--show variable auto_partition_mode;
+-set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode-;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true-;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable-auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+show variable auto_partition_mode;
++set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode+;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true+;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable+auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#show variable auto_partition_mode;
+-#set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode-#;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true-#;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable-#auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/show variable auto_partition_mode;
+/set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode/;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true/;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable/auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\show variable auto_partition_mode;
+\set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode\;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true\;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable\auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?show variable auto_partition_mode;
+?set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode?;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true?;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable?auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/show variable auto_partition_mode;
+-/set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode-/;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true-/;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable-/auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#show variable auto_partition_mode;
+/#set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode/#;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true/#;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable/#auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-show variable auto_partition_mode;
+/-set data_boost_enabled = true;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable auto_partition_mode/-;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = true/-;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable/-auto_partition_mode;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =/-true;
NEW_CONNECTION;
-set auto_partition_mode = true;
+set data_boost_enabled = false;
NEW_CONNECTION;
-SET AUTO_PARTITION_MODE = TRUE;
+SET DATA_BOOST_ENABLED = FALSE;
NEW_CONNECTION;
-set auto_partition_mode = true;
+set data_boost_enabled = false;
NEW_CONNECTION;
- set auto_partition_mode = true;
+ set data_boost_enabled = false;
NEW_CONNECTION;
- set auto_partition_mode = true;
+ set data_boost_enabled = false;
NEW_CONNECTION;
-set auto_partition_mode = true;
+set data_boost_enabled = false;
NEW_CONNECTION;
-set auto_partition_mode = true ;
+set data_boost_enabled = false ;
NEW_CONNECTION;
-set auto_partition_mode = true ;
+set data_boost_enabled = false ;
NEW_CONNECTION;
-set auto_partition_mode = true
+set data_boost_enabled = false
;
NEW_CONNECTION;
-set auto_partition_mode = true;
+set data_boost_enabled = false;
NEW_CONNECTION;
-set auto_partition_mode = true;
+set data_boost_enabled = false;
NEW_CONNECTION;
set
-auto_partition_mode
+data_boost_enabled
=
-true;
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set auto_partition_mode = true;
+foo set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true bar;
+set data_boost_enabled = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set auto_partition_mode = true;
+%set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true%;
+set data_boost_enabled = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =%true;
+set data_boost_enabled =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set auto_partition_mode = true;
+_set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true_;
+set data_boost_enabled = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =_true;
+set data_boost_enabled =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set auto_partition_mode = true;
+&set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true&;
+set data_boost_enabled = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =&true;
+set data_boost_enabled =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set auto_partition_mode = true;
+$set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true$;
+set data_boost_enabled = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =$true;
+set data_boost_enabled =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set auto_partition_mode = true;
+@set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true@;
+set data_boost_enabled = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =@true;
+set data_boost_enabled =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set auto_partition_mode = true;
+!set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true!;
+set data_boost_enabled = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =!true;
+set data_boost_enabled =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set auto_partition_mode = true;
+*set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true*;
+set data_boost_enabled = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =*true;
+set data_boost_enabled =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set auto_partition_mode = true;
+(set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true(;
+set data_boost_enabled = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =(true;
+set data_boost_enabled =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set auto_partition_mode = true;
+)set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true);
+set data_boost_enabled = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =)true;
+set data_boost_enabled =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set auto_partition_mode = true;
+-set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true-;
+set data_boost_enabled = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =-true;
+set data_boost_enabled =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set auto_partition_mode = true;
++set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true+;
+set data_boost_enabled = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =+true;
+set data_boost_enabled =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set auto_partition_mode = true;
+-#set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true-#;
+set data_boost_enabled = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =-#true;
+set data_boost_enabled =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set auto_partition_mode = true;
+/set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true/;
+set data_boost_enabled = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =/true;
+set data_boost_enabled =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set auto_partition_mode = true;
+\set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true\;
+set data_boost_enabled = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =\true;
+set data_boost_enabled =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set auto_partition_mode = true;
+?set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true?;
+set data_boost_enabled = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =?true;
+set data_boost_enabled =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set auto_partition_mode = true;
+-/set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true-/;
+set data_boost_enabled = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =-/true;
+set data_boost_enabled =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set auto_partition_mode = true;
+/#set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true/#;
+set data_boost_enabled = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =/#true;
+set data_boost_enabled =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set auto_partition_mode = true;
+/-set data_boost_enabled = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = true/-;
+set data_boost_enabled = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =/-true;
+set data_boost_enabled =/-false;
NEW_CONNECTION;
-set auto_partition_mode = false;
+show variable auto_partition_mode;
NEW_CONNECTION;
-SET AUTO_PARTITION_MODE = FALSE;
+SHOW VARIABLE AUTO_PARTITION_MODE;
NEW_CONNECTION;
-set auto_partition_mode = false;
+show variable auto_partition_mode;
NEW_CONNECTION;
- set auto_partition_mode = false;
+ show variable auto_partition_mode;
NEW_CONNECTION;
- set auto_partition_mode = false;
+ show variable auto_partition_mode;
NEW_CONNECTION;
-set auto_partition_mode = false;
+show variable auto_partition_mode;
NEW_CONNECTION;
-set auto_partition_mode = false ;
+show variable auto_partition_mode ;
NEW_CONNECTION;
-set auto_partition_mode = false ;
+show variable auto_partition_mode ;
NEW_CONNECTION;
-set auto_partition_mode = false
+show variable auto_partition_mode
;
NEW_CONNECTION;
-set auto_partition_mode = false;
+show variable auto_partition_mode;
NEW_CONNECTION;
-set auto_partition_mode = false;
+show variable auto_partition_mode;
NEW_CONNECTION;
-set
-auto_partition_mode
-=
-false;
+show
+variable
+auto_partition_mode;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set auto_partition_mode = false;
+foo show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false bar;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set auto_partition_mode = false;
+%show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false%;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode%;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =%false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%auto_partition_mode;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set auto_partition_mode = false;
+_show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false_;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode_;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =_false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_auto_partition_mode;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set auto_partition_mode = false;
+&show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false&;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode&;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =&false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&auto_partition_mode;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set auto_partition_mode = false;
+$show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false$;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode$;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =$false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$auto_partition_mode;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set auto_partition_mode = false;
+@show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false@;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode@;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =@false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@auto_partition_mode;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set auto_partition_mode = false;
+!show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false!;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode!;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =!false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!auto_partition_mode;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set auto_partition_mode = false;
+*show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false*;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode*;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =*false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*auto_partition_mode;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set auto_partition_mode = false;
+(show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false(;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode(;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =(false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(auto_partition_mode;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set auto_partition_mode = false;
+)show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false);
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode);
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =)false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)auto_partition_mode;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set auto_partition_mode = false;
+-show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false-;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode-;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =-false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-auto_partition_mode;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set auto_partition_mode = false;
++show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false+;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode+;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =+false;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+auto_partition_mode;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set auto_partition_mode = false;
+-#show variable auto_partition_mode;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false-#;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode-#;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/show variable auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\show variable auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?show variable auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/show variable auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#show variable auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-show variable auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-auto_partition_mode;
+NEW_CONNECTION;
+set auto_partition_mode = true;
+NEW_CONNECTION;
+SET AUTO_PARTITION_MODE = TRUE;
+NEW_CONNECTION;
+set auto_partition_mode = true;
+NEW_CONNECTION;
+ set auto_partition_mode = true;
+NEW_CONNECTION;
+ set auto_partition_mode = true;
+NEW_CONNECTION;
+
+
+
+set auto_partition_mode = true;
+NEW_CONNECTION;
+set auto_partition_mode = true ;
+NEW_CONNECTION;
+set auto_partition_mode = true ;
+NEW_CONNECTION;
+set auto_partition_mode = true
+
+;
+NEW_CONNECTION;
+set auto_partition_mode = true;
+NEW_CONNECTION;
+set auto_partition_mode = true;
+NEW_CONNECTION;
+set
+auto_partition_mode
+=
+true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =%true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =_true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =&true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =$true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =@true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =!true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =*true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =(true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =)true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =-true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =+true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =-#true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =/true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =\true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =?true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =-/true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =/#true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set auto_partition_mode = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = true/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =/-true;
+NEW_CONNECTION;
+set auto_partition_mode = false;
+NEW_CONNECTION;
+SET AUTO_PARTITION_MODE = FALSE;
+NEW_CONNECTION;
+set auto_partition_mode = false;
+NEW_CONNECTION;
+ set auto_partition_mode = false;
+NEW_CONNECTION;
+ set auto_partition_mode = false;
+NEW_CONNECTION;
+
+
+
+set auto_partition_mode = false;
+NEW_CONNECTION;
+set auto_partition_mode = false ;
+NEW_CONNECTION;
+set auto_partition_mode = false ;
+NEW_CONNECTION;
+set auto_partition_mode = false
+
+;
+NEW_CONNECTION;
+set auto_partition_mode = false;
+NEW_CONNECTION;
+set auto_partition_mode = false;
+NEW_CONNECTION;
+set
+auto_partition_mode
+=
+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =%false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =_false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =&false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =$false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =@false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =!false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =*false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =(false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =)false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =-false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
set auto_partition_mode =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set auto_partition_mode = false;
+/set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =/false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =\false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =?false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =-/false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =/#false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set auto_partition_mode = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode = false/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set auto_partition_mode =/-false;
+NEW_CONNECTION;
+show variable max_partitions;
+NEW_CONNECTION;
+SHOW VARIABLE MAX_PARTITIONS;
+NEW_CONNECTION;
+show variable max_partitions;
+NEW_CONNECTION;
+ show variable max_partitions;
+NEW_CONNECTION;
+ show variable max_partitions;
+NEW_CONNECTION;
+
+
+
+show variable max_partitions;
+NEW_CONNECTION;
+show variable max_partitions ;
+NEW_CONNECTION;
+show variable max_partitions ;
+NEW_CONNECTION;
+show variable max_partitions
+
+;
+NEW_CONNECTION;
+show variable max_partitions;
+NEW_CONNECTION;
+show variable max_partitions;
+NEW_CONNECTION;
+show
+variable
+max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions);
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-show variable max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-max_partitions;
+NEW_CONNECTION;
+set max_partitions = 0;
+NEW_CONNECTION;
+SET MAX_PARTITIONS = 0;
+NEW_CONNECTION;
+set max_partitions = 0;
+NEW_CONNECTION;
+ set max_partitions = 0;
+NEW_CONNECTION;
+ set max_partitions = 0;
+NEW_CONNECTION;
+
+
+
+set max_partitions = 0;
+NEW_CONNECTION;
+set max_partitions = 0 ;
+NEW_CONNECTION;
+set max_partitions = 0 ;
+NEW_CONNECTION;
+set max_partitions = 0
+
+;
+NEW_CONNECTION;
+set max_partitions = 0;
+NEW_CONNECTION;
+set max_partitions = 0;
+NEW_CONNECTION;
+set
+max_partitions
+=
+0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0 bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =%0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =_0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =&0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =$0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =@0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =!0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =*0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =(0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =)0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =-0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =+0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =-#0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =/0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =\0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =?0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =-/0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =/#0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set max_partitions = 0;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 0/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =/-0;
+NEW_CONNECTION;
+set max_partitions = 10;
+NEW_CONNECTION;
+SET MAX_PARTITIONS = 10;
+NEW_CONNECTION;
+set max_partitions = 10;
+NEW_CONNECTION;
+ set max_partitions = 10;
+NEW_CONNECTION;
+ set max_partitions = 10;
+NEW_CONNECTION;
+
+
+
+set max_partitions = 10;
+NEW_CONNECTION;
+set max_partitions = 10 ;
+NEW_CONNECTION;
+set max_partitions = 10 ;
+NEW_CONNECTION;
+set max_partitions = 10
+
+;
+NEW_CONNECTION;
+set max_partitions = 10;
+NEW_CONNECTION;
+set max_partitions = 10;
+NEW_CONNECTION;
+set
+max_partitions
+=
+10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10 bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =%10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =_10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =&10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =$10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =@10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =!10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =*10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =(10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =)10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =-10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =+10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =-#10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =/10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =\10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =?10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =-/10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =/#10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set max_partitions = 10;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions = 10/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitions =/-10;
+NEW_CONNECTION;
+show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+SHOW VARIABLE MAX_PARTITIONED_PARALLELISM;
+NEW_CONNECTION;
+show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+ show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+ show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+
+
+
+show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+show variable max_partitioned_parallelism ;
+NEW_CONNECTION;
+show variable max_partitioned_parallelism ;
+NEW_CONNECTION;
+show variable max_partitioned_parallelism
+
+;
+NEW_CONNECTION;
+show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+show
+variable
+max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false/;
+%show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =/false;
+_show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set auto_partition_mode = false;
+&show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false\;
+$show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =\false;
+@show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set auto_partition_mode = false;
+!show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false?;
+*show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =?false;
+(show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set auto_partition_mode = false;
+)show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism);
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false-/;
+-show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =-/false;
++show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set auto_partition_mode = false;
+-#show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false/#;
+/show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =/#false;
+\show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set auto_partition_mode = false;
+?show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode = false/-;
+-/show variable max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set auto_partition_mode =/-false;
+/#show variable max_partitioned_parallelism;
NEW_CONNECTION;
-show variable max_partitions;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism/#;
NEW_CONNECTION;
-SHOW VARIABLE MAX_PARTITIONS;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#max_partitioned_parallelism;
NEW_CONNECTION;
-show variable max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-show variable max_partitioned_parallelism;
NEW_CONNECTION;
- show variable max_partitions;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism/-;
NEW_CONNECTION;
- show variable max_partitions;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-max_partitioned_parallelism;
+NEW_CONNECTION;
+set max_partitioned_parallelism = 0;
+NEW_CONNECTION;
+SET MAX_PARTITIONED_PARALLELISM = 0;
+NEW_CONNECTION;
+set max_partitioned_parallelism = 0;
+NEW_CONNECTION;
+ set max_partitioned_parallelism = 0;
+NEW_CONNECTION;
+ set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-show variable max_partitions;
+set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-show variable max_partitions ;
+set max_partitioned_parallelism = 0 ;
NEW_CONNECTION;
-show variable max_partitions ;
+set max_partitioned_parallelism = 0 ;
NEW_CONNECTION;
-show variable max_partitions
+set max_partitioned_parallelism = 0
;
NEW_CONNECTION;
-show variable max_partitions;
+set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-show variable max_partitions;
+set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-show
-variable
-max_partitions;
+set
+max_partitioned_parallelism
+=
+0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo show variable max_partitions;
+foo set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions bar;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%show variable max_partitions;
+%set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions%;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0%;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable%max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =%0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_show variable max_partitions;
+_set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions_;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0_;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable_max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =_0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&show variable max_partitions;
+&set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions&;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0&;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable&max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =&0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$show variable max_partitions;
+$set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions$;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0$;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable$max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =$0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@show variable max_partitions;
+@set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions@;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0@;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable@max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =@0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!show variable max_partitions;
+!set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions!;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0!;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable!max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =!0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*show variable max_partitions;
+*set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions*;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0*;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable*max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =*0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(show variable max_partitions;
+(set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions(;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0(;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable(max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =(0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)show variable max_partitions;
+)set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions);
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0);
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable)max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =)0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--show variable max_partitions;
+-set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions-;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0-;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable-max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =-0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+show variable max_partitions;
++set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions+;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0+;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable+max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =+0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#show variable max_partitions;
+-#set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions-#;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0-#;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable-#max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =-#0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/show variable max_partitions;
+/set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions/;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0/;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable/max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =/0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\show variable max_partitions;
+\set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions\;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0\;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable\max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =\0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?show variable max_partitions;
+?set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions?;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0?;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable?max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =?0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/show variable max_partitions;
+-/set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions-/;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0-/;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable-/max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =-/0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#show variable max_partitions;
+/#set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions/#;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0/#;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable/#max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =/#0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-show variable max_partitions;
+/-set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitions/-;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism = 0/-;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable/-max_partitions;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set max_partitioned_parallelism =/-0;
NEW_CONNECTION;
-set max_partitions = 0;
+set max_partitioned_parallelism = 10;
NEW_CONNECTION;
-SET MAX_PARTITIONS = 0;
+SET MAX_PARTITIONED_PARALLELISM = 10;
NEW_CONNECTION;
-set max_partitions = 0;
+set max_partitioned_parallelism = 10;
NEW_CONNECTION;
- set max_partitions = 0;
+ set max_partitioned_parallelism = 10;
NEW_CONNECTION;
- set max_partitions = 0;
+ set max_partitioned_parallelism = 10;
NEW_CONNECTION;
-set max_partitions = 0;
+set max_partitioned_parallelism = 10;
NEW_CONNECTION;
-set max_partitions = 0 ;
+set max_partitioned_parallelism = 10 ;
NEW_CONNECTION;
-set max_partitions = 0 ;
+set max_partitioned_parallelism = 10 ;
NEW_CONNECTION;
-set max_partitions = 0
+set max_partitioned_parallelism = 10
;
NEW_CONNECTION;
-set max_partitions = 0;
+set max_partitioned_parallelism = 10;
NEW_CONNECTION;
-set max_partitions = 0;
+set max_partitioned_parallelism = 10;
NEW_CONNECTION;
set
-max_partitions
+max_partitioned_parallelism
=
-0;
+10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set max_partitions = 0;
+foo set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0 bar;
+set max_partitioned_parallelism = 10 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set max_partitions = 0;
+%set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0%;
+set max_partitioned_parallelism = 10%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =%0;
+set max_partitioned_parallelism =%10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set max_partitions = 0;
+_set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0_;
+set max_partitioned_parallelism = 10_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =_0;
+set max_partitioned_parallelism =_10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set max_partitions = 0;
+&set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0&;
+set max_partitioned_parallelism = 10&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =&0;
+set max_partitioned_parallelism =&10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set max_partitions = 0;
+$set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0$;
+set max_partitioned_parallelism = 10$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =$0;
+set max_partitioned_parallelism =$10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set max_partitions = 0;
+@set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0@;
+set max_partitioned_parallelism = 10@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =@0;
+set max_partitioned_parallelism =@10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set max_partitions = 0;
+!set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0!;
+set max_partitioned_parallelism = 10!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =!0;
+set max_partitioned_parallelism =!10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set max_partitions = 0;
+*set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0*;
+set max_partitioned_parallelism = 10*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =*0;
+set max_partitioned_parallelism =*10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set max_partitions = 0;
+(set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0(;
+set max_partitioned_parallelism = 10(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =(0;
+set max_partitioned_parallelism =(10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set max_partitions = 0;
+)set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0);
+set max_partitioned_parallelism = 10);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =)0;
+set max_partitioned_parallelism =)10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set max_partitions = 0;
+-set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0-;
+set max_partitioned_parallelism = 10-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =-0;
+set max_partitioned_parallelism =-10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set max_partitions = 0;
++set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0+;
+set max_partitioned_parallelism = 10+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =+0;
+set max_partitioned_parallelism =+10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set max_partitions = 0;
+-#set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0-#;
+set max_partitioned_parallelism = 10-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =-#0;
+set max_partitioned_parallelism =-#10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set max_partitions = 0;
+/set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0/;
+set max_partitioned_parallelism = 10/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =/0;
+set max_partitioned_parallelism =/10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set max_partitions = 0;
+\set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0\;
+set max_partitioned_parallelism = 10\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =\0;
+set max_partitioned_parallelism =\10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set max_partitions = 0;
+?set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0?;
+set max_partitioned_parallelism = 10?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =?0;
+set max_partitioned_parallelism =?10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set max_partitions = 0;
+-/set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0-/;
+set max_partitioned_parallelism = 10-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =-/0;
+set max_partitioned_parallelism =-/10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set max_partitions = 0;
+/#set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0/#;
+set max_partitioned_parallelism = 10/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =/#0;
+set max_partitioned_parallelism =/#10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set max_partitions = 0;
+/-set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 0/-;
+set max_partitioned_parallelism = 10/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =/-0;
+set max_partitioned_parallelism =/-10;
NEW_CONNECTION;
-set max_partitions = 10;
+set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
-SET MAX_PARTITIONS = 10;
+SET PROTO_DESCRIPTORS='PROTODESCRIPTORSBASE64';
NEW_CONNECTION;
-set max_partitions = 10;
+set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
- set max_partitions = 10;
+ set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
- set max_partitions = 10;
+ set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
-set max_partitions = 10;
+set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
-set max_partitions = 10 ;
+set proto_descriptors='protodescriptorsbase64' ;
NEW_CONNECTION;
-set max_partitions = 10 ;
+set proto_descriptors='protodescriptorsbase64' ;
NEW_CONNECTION;
-set max_partitions = 10
+set proto_descriptors='protodescriptorsbase64'
;
NEW_CONNECTION;
-set max_partitions = 10;
+set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
-set max_partitions = 10;
+set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
set
-max_partitions
-=
-10;
+proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set max_partitions = 10;
+foo set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10 bar;
+set proto_descriptors='protodescriptorsbase64' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set max_partitions = 10;
+%set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10%;
+set proto_descriptors='protodescriptorsbase64'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =%10;
+set%proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set max_partitions = 10;
+_set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10_;
+set proto_descriptors='protodescriptorsbase64'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =_10;
+set_proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set max_partitions = 10;
+&set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10&;
+set proto_descriptors='protodescriptorsbase64'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =&10;
+set&proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set max_partitions = 10;
+$set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10$;
+set proto_descriptors='protodescriptorsbase64'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =$10;
+set$proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set max_partitions = 10;
+@set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10@;
+set proto_descriptors='protodescriptorsbase64'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =@10;
+set@proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set max_partitions = 10;
+!set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10!;
+set proto_descriptors='protodescriptorsbase64'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =!10;
+set!proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set max_partitions = 10;
+*set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10*;
+set proto_descriptors='protodescriptorsbase64'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =*10;
+set*proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set max_partitions = 10;
+(set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10(;
+set proto_descriptors='protodescriptorsbase64'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =(10;
+set(proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set max_partitions = 10;
+)set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10);
+set proto_descriptors='protodescriptorsbase64');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =)10;
+set)proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set max_partitions = 10;
+-set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10-;
+set proto_descriptors='protodescriptorsbase64'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =-10;
+set-proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set max_partitions = 10;
++set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10+;
+set proto_descriptors='protodescriptorsbase64'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =+10;
+set+proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set max_partitions = 10;
+-#set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10-#;
+set proto_descriptors='protodescriptorsbase64'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =-#10;
+set-#proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set max_partitions = 10;
+/set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10/;
+set proto_descriptors='protodescriptorsbase64'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =/10;
+set/proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set max_partitions = 10;
+\set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10\;
+set proto_descriptors='protodescriptorsbase64'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =\10;
+set\proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set max_partitions = 10;
+?set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10?;
+set proto_descriptors='protodescriptorsbase64'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =?10;
+set?proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set max_partitions = 10;
+-/set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10-/;
+set proto_descriptors='protodescriptorsbase64'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =-/10;
+set-/proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set max_partitions = 10;
+/#set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10/#;
+set proto_descriptors='protodescriptorsbase64'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =/#10;
+set/#proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set max_partitions = 10;
+/-set proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions = 10/-;
+set proto_descriptors='protodescriptorsbase64'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitions =/-10;
+set/-proto_descriptors='protodescriptorsbase64';
NEW_CONNECTION;
-show variable max_partitioned_parallelism;
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-SHOW VARIABLE MAX_PARTITIONED_PARALLELISM;
+SET PROTO_DESCRIPTORS_FILE_PATH='SRC/TEST/RESOURCES/COM/GOOGLE/CLOUD/SPANNER/DESCRIPTORS.PB';
NEW_CONNECTION;
-show variable max_partitioned_parallelism;
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
- show variable max_partitioned_parallelism;
+ set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
- show variable max_partitioned_parallelism;
+ set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-show variable max_partitioned_parallelism;
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-show variable max_partitioned_parallelism ;
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb' ;
NEW_CONNECTION;
-show variable max_partitioned_parallelism ;
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb' ;
NEW_CONNECTION;
-show variable max_partitioned_parallelism
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'
;
NEW_CONNECTION;
-show variable max_partitioned_parallelism;
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-show variable max_partitioned_parallelism;
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-show
-variable
-max_partitioned_parallelism;
+set
+proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo show variable max_partitioned_parallelism;
+foo set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism bar;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%show variable max_partitioned_parallelism;
+%set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism%;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'%;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable%max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_show variable max_partitioned_parallelism;
+_set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism_;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'_;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable_max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&show variable max_partitioned_parallelism;
+&set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism&;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'&;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable&max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$show variable max_partitioned_parallelism;
+$set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism$;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'$;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable$max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@show variable max_partitioned_parallelism;
+@set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism@;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'@;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable@max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!show variable max_partitioned_parallelism;
+!set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism!;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'!;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable!max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*show variable max_partitioned_parallelism;
+*set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism*;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'*;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable*max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(show variable max_partitioned_parallelism;
+(set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism(;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'(;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable(max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)show variable max_partitioned_parallelism;
+)set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism);
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb');
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable)max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--show variable max_partitioned_parallelism;
+-set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism-;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'-;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable-max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+show variable max_partitioned_parallelism;
++set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism+;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'+;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable+max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#show variable max_partitioned_parallelism;
+-#set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism-#;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'-#;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable-#max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/show variable max_partitioned_parallelism;
+/set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism/;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'/;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable/max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\show variable max_partitioned_parallelism;
+\set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism\;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'\;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable\max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?show variable max_partitioned_parallelism;
+?set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism?;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'?;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable?max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/show variable max_partitioned_parallelism;
+-/set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism-/;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'-/;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable-/max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#show variable max_partitioned_parallelism;
+/#set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism/#;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'/#;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable/#max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-show variable max_partitioned_parallelism;
+/-set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable max_partitioned_parallelism/-;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb'/-;
NEW_CONNECTION;
-@EXPECT EXCEPTION UNIMPLEMENTED
-show variable/-max_partitioned_parallelism;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-proto_descriptors_file_path='src/test/resources/com/google/cloud/spanner/descriptors.pb';
NEW_CONNECTION;
-set max_partitioned_parallelism = 0;
+show variable proto_descriptors;
NEW_CONNECTION;
-SET MAX_PARTITIONED_PARALLELISM = 0;
+SHOW VARIABLE PROTO_DESCRIPTORS;
NEW_CONNECTION;
-set max_partitioned_parallelism = 0;
+show variable proto_descriptors;
NEW_CONNECTION;
- set max_partitioned_parallelism = 0;
+ show variable proto_descriptors;
NEW_CONNECTION;
- set max_partitioned_parallelism = 0;
+ show variable proto_descriptors;
NEW_CONNECTION;
-set max_partitioned_parallelism = 0;
+show variable proto_descriptors;
NEW_CONNECTION;
-set max_partitioned_parallelism = 0 ;
+show variable proto_descriptors ;
NEW_CONNECTION;
-set max_partitioned_parallelism = 0 ;
+show variable proto_descriptors ;
NEW_CONNECTION;
-set max_partitioned_parallelism = 0
+show variable proto_descriptors
;
NEW_CONNECTION;
-set max_partitioned_parallelism = 0;
-NEW_CONNECTION;
-set max_partitioned_parallelism = 0;
-NEW_CONNECTION;
-set
-max_partitioned_parallelism
-=
-0;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set max_partitioned_parallelism = 0;
+show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0 bar;
+show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-%set max_partitioned_parallelism = 0;
+show
+variable
+proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0%;
+foo show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =%0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set max_partitioned_parallelism = 0;
+%show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0_;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors%;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =_0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set max_partitioned_parallelism = 0;
+_show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0&;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =&0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set max_partitioned_parallelism = 0;
+&show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0$;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors&;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =$0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set max_partitioned_parallelism = 0;
+$show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0@;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors$;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =@0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set max_partitioned_parallelism = 0;
+@show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0!;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors@;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =!0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set max_partitioned_parallelism = 0;
+!show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0*;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors!;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =*0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set max_partitioned_parallelism = 0;
+*show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0(;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors*;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =(0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set max_partitioned_parallelism = 0;
+(show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0);
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors(;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =)0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set max_partitioned_parallelism = 0;
+)show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0-;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors);
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =-0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set max_partitioned_parallelism = 0;
+-show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0+;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors-;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =+0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set max_partitioned_parallelism = 0;
++show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0-#;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors+;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =-#0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set max_partitioned_parallelism = 0;
+-#show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0/;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors-#;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =/0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set max_partitioned_parallelism = 0;
+/show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0\;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors/;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =\0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set max_partitioned_parallelism = 0;
+\show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0?;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors\;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =?0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set max_partitioned_parallelism = 0;
+?show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0-/;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors?;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =-/0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set max_partitioned_parallelism = 0;
+-/show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0/#;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors-/;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =/#0;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set max_partitioned_parallelism = 0;
+/#show variable proto_descriptors;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 0/-;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#proto_descriptors;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =/-0;
+/-show variable proto_descriptors;
NEW_CONNECTION;
-set max_partitioned_parallelism = 10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors/-;
NEW_CONNECTION;
-SET MAX_PARTITIONED_PARALLELISM = 10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-proto_descriptors;
NEW_CONNECTION;
-set max_partitioned_parallelism = 10;
+show variable proto_descriptors_file_path;
NEW_CONNECTION;
- set max_partitioned_parallelism = 10;
+SHOW VARIABLE PROTO_DESCRIPTORS_FILE_PATH;
NEW_CONNECTION;
- set max_partitioned_parallelism = 10;
+show variable proto_descriptors_file_path;
+NEW_CONNECTION;
+ show variable proto_descriptors_file_path;
+NEW_CONNECTION;
+ show variable proto_descriptors_file_path;
NEW_CONNECTION;
-set max_partitioned_parallelism = 10;
+show variable proto_descriptors_file_path;
NEW_CONNECTION;
-set max_partitioned_parallelism = 10 ;
+show variable proto_descriptors_file_path ;
NEW_CONNECTION;
-set max_partitioned_parallelism = 10 ;
+show variable proto_descriptors_file_path ;
NEW_CONNECTION;
-set max_partitioned_parallelism = 10
+show variable proto_descriptors_file_path
;
NEW_CONNECTION;
-set max_partitioned_parallelism = 10;
+show variable proto_descriptors_file_path;
NEW_CONNECTION;
-set max_partitioned_parallelism = 10;
+show variable proto_descriptors_file_path;
NEW_CONNECTION;
-set
-max_partitioned_parallelism
-=
-10;
+show
+variable
+proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set max_partitioned_parallelism = 10;
+foo show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10 bar;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set max_partitioned_parallelism = 10;
+%show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10%;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path%;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =%10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set max_partitioned_parallelism = 10;
+_show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10_;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path_;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =_10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set max_partitioned_parallelism = 10;
+&show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10&;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path&;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =&10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set max_partitioned_parallelism = 10;
+$show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10$;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path$;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =$10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set max_partitioned_parallelism = 10;
+@show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10@;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path@;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =@10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set max_partitioned_parallelism = 10;
+!show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10!;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path!;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =!10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set max_partitioned_parallelism = 10;
+*show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10*;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path*;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =*10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set max_partitioned_parallelism = 10;
+(show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10(;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path(;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =(10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set max_partitioned_parallelism = 10;
+)show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10);
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path);
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =)10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set max_partitioned_parallelism = 10;
+-show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10-;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path-;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =-10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set max_partitioned_parallelism = 10;
++show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10+;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path+;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =+10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set max_partitioned_parallelism = 10;
+-#show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10-#;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path-#;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =-#10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set max_partitioned_parallelism = 10;
+/show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10/;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path/;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =/10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set max_partitioned_parallelism = 10;
+\show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10\;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path\;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =\10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set max_partitioned_parallelism = 10;
+?show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10?;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path?;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =?10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set max_partitioned_parallelism = 10;
+-/show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10-/;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path-/;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =-/10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set max_partitioned_parallelism = 10;
+/#show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10/#;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path/#;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =/#10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#proto_descriptors_file_path;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set max_partitioned_parallelism = 10;
+/-show variable proto_descriptors_file_path;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism = 10/-;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable proto_descriptors_file_path/-;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set max_partitioned_parallelism =/-10;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-proto_descriptors_file_path;
diff --git a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ConnectionImplGeneratedSqlScriptTest.sql b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ConnectionImplGeneratedSqlScriptTest.sql
index 84275c3d5c3..d9e8e244f0d 100644
--- a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ConnectionImplGeneratedSqlScriptTest.sql
+++ b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ConnectionImplGeneratedSqlScriptTest.sql
@@ -160,15 +160,15 @@ NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:32.894000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:32.894000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:24.519000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:24.519000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:32.894000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:24.519000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -510,15 +510,15 @@ NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.008000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.008000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:24.630000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:24.630000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.008000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:24.630000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -950,8 +950,8 @@ BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
ROLLBACK;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.111000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.111000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:24.728000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:24.728000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
@@ -961,7 +961,7 @@ BEGIN TRANSACTION;
SELECT 1 AS TEST;
ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.111000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:24.728000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -1462,8 +1462,8 @@ BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.217000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.217000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:24.831000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:24.831000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
@@ -1473,7 +1473,7 @@ BEGIN TRANSACTION;
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.217000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:24.831000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -1876,15 +1876,15 @@ NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.318000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.318000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:24.915000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:24.915000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.318000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:24.915000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -2243,14 +2243,14 @@ SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.388000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:24.985000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.388000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:24.985000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -2600,13 +2600,13 @@ SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.472000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.063000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.472000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.063000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -2910,14 +2910,14 @@ SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.543000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.543000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.138000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.138000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.543000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.138000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -3245,15 +3245,15 @@ NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.630000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.630000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.214000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.214000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.630000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.214000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -3662,8 +3662,8 @@ SET AUTOCOMMIT=FALSE;
START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
RUN BATCH;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.713000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.713000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.295000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.295000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -3672,7 +3672,7 @@ START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
RUN BATCH;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.713000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.295000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -4081,14 +4081,14 @@ SET AUTOCOMMIT=FALSE;
START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.778000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.358000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.778000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.358000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -4438,13 +4438,13 @@ SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.833000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.419000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.833000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.419000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -4877,8 +4877,8 @@ SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.892000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.892000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.475000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.475000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -4888,7 +4888,7 @@ SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.892000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.475000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -5288,15 +5288,15 @@ NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ ONLY;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.959000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.959000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.540000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.540000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.959000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.540000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -5641,15 +5641,15 @@ NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.012000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.012000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.596000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.596000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.012000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.596000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -6088,8 +6088,8 @@ BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
ROLLBACK;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.073000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.073000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.654000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.654000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -6099,7 +6099,7 @@ BEGIN TRANSACTION;
SELECT 1 AS TEST;
ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.073000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.654000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -6607,8 +6607,8 @@ BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.152000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.152000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.737000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.737000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -6618,7 +6618,7 @@ BEGIN TRANSACTION;
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.152000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.737000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -7023,15 +7023,15 @@ NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.223000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.223000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.805000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.805000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.223000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.805000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -7394,14 +7394,14 @@ SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.285000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.862000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.285000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.862000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -7756,13 +7756,13 @@ SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.350000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.930000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.350000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.930000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -8075,14 +8075,14 @@ SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.415000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.415000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.994000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.994000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.415000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.994000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -8392,13 +8392,13 @@ SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.468000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.043000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.468000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.043000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
@@ -8753,8 +8753,8 @@ SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.517000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.517000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.101000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.101000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -8762,7 +8762,7 @@ SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.517000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.101000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
@@ -9197,8 +9197,8 @@ SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
UPDATE foo SET bar=1;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.575000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.575000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.160000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.160000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -9206,8 +9206,8 @@ SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
UPDATE foo SET bar=1;
COMMIT;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.575000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.575000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.160000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.160000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -9593,15 +9593,15 @@ NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.641000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.641000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.228000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.228000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.641000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.228000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
@@ -9952,15 +9952,15 @@ NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.691000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.691000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.296000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.296000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.691000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.691000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.296000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.296000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -10320,15 +10320,15 @@ NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
UPDATE foo SET bar=1;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.768000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.768000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.354000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.354000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
UPDATE foo SET bar=1;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.768000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.768000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.354000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.354000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -10718,16 +10718,16 @@ SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.829000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.829000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.414000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.414000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.829000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.829000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.414000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.414000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -11110,15 +11110,15 @@ NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.886000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.886000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.473000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.473000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.886000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.886000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.473000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.473000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -11448,14 +11448,14 @@ SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.946000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.946000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.529000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.529000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.946000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.946000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.529000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.529000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -11778,15 +11778,15 @@ NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.999000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.999000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.577000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.577000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.999000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.999000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.577000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.577000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
@@ -12193,8 +12193,8 @@ SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:35.050000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:35.050000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.630000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.630000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
@@ -12202,8 +12202,8 @@ SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
COMMIT;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:35.050000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:35.050000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.630000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.630000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
@@ -12586,15 +12586,15 @@ NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:35.106000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:35.106000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.801000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.801000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:35.106000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.801000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
@@ -12932,15 +12932,15 @@ NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:35.157000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:35.157000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.877000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.877000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:35.157000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:35.157000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.877000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.877000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
@@ -13287,15 +13287,15 @@ NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:35.213000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:35.213000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.967000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.967000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:35.213000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:35.213000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.967000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.967000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
@@ -13612,14 +13612,14 @@ SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:35.269000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:35.269000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:27.025000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:27.025000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:35.269000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:35.269000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:27.025000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:27.025000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
diff --git a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ITDdlTest.sql b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ITDdlTest.sql
index 2dea0423151..2efc59ed36e 100644
--- a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ITDdlTest.sql
+++ b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ITDdlTest.sql
@@ -127,7 +127,7 @@ WHERE TABLE_NAME='VALID_MULTIPLE_DDL_IN_DDL_BATCH_1' OR TABLE_NAME='VALID_MULTIP
NEW_CONNECTION;
-/*
+/*
* Do a test that shows that a DDL batch might only execute some of the statements,
* for example if data in a table prevents a unique index from being created.
*/
@@ -187,3 +187,44 @@ RUN BATCH;
START BATCH DDL;
ABORT BATCH;
+
+NEW_CONNECTION;
+-- Set proto descriptors using relative path to the descriptors.pb file. This gets applied for next DDL statement
+SET PROTO_DESCRIPTORS_FILE_PATH = 'src/test/resources/com/google/cloud/spanner/descriptors.pb';
+-- Check if Proto descriptors is set
+@EXPECT RESULT_SET 'PROTO_DESCRIPTORS_FILE_PATH'
+SHOW VARIABLE PROTO_DESCRIPTORS_FILE_PATH;
+
+CREATE PROTO BUNDLE (examples.spanner.music.Genre);
+-- Check if Proto descriptors is reset to null
+@EXPECT RESULT_SET 'PROTO_DESCRIPTORS',null
+SHOW VARIABLE PROTO_DESCRIPTORS;
+@EXPECT RESULT_SET 'PROTO_DESCRIPTORS_FILE_PATH',null
+SHOW VARIABLE PROTO_DESCRIPTORS_FILE_PATH;
+
+-- Set Proto Descriptor as base64 string. This gets applied to all statements in next DDL batch
+SET PROTO_DESCRIPTORS = 'CvYCCgxzaW5nZXIucHJvdG8SFmV4YW1wbGVzLnNwYW5uZXIubXVzaWMi6gEKClNpbmdlckluZm8SIAoJc2luZ2VyX2lkGAEgASgDSABSCHNpbmdlcklkiAEBEiIKCmJpcnRoX2RhdGUYAiABKAlIAVIJYmlydGhEYXRliAEBEiUKC25hdGlvbmFsaXR5GAMgASgJSAJSC25hdGlvbmFsaXR5iAEBEjgKBWdlbnJlGAQgASgOMh0uZXhhbXBsZXMuc3Bhbm5lci5tdXNpYy5HZW5yZUgDUgVnZW5yZYgBAUIMCgpfc2luZ2VyX2lkQg0KC19iaXJ0aF9kYXRlQg4KDF9uYXRpb25hbGl0eUIICgZfZ2VucmUqLgoFR2VucmUSBwoDUE9QEAASCAoESkFaWhABEggKBEZPTEsQAhIICgRST0NLEANCKQoYY29tLmdvb2dsZS5jbG91ZC5zcGFubmVyQgtTaW5nZXJQcm90b1AAYgZwcm90bzM=';
+
+@EXPECT RESULT_SET 'PROTO_DESCRIPTORS'
+SHOW VARIABLE PROTO_DESCRIPTORS;
+
+START BATCH DDL;
+ALTER PROTO BUNDLE INSERT (examples.spanner.music.SingerInfo);
+CREATE TABLE Singers (
+ SingerId INT64 NOT NULL,
+ FirstName STRING(1024),
+ LastName STRING(1024),
+ SingerInfo examples.spanner.music.SingerInfo,
+ SingerGenre examples.spanner.music.Genre
+) PRIMARY KEY (SingerId);
+-- Run the batch
+RUN BATCH;
+
+-- Check if Proto descriptors is reset to null
+@EXPECT RESULT_SET 'PROTO_DESCRIPTORS',null
+SHOW VARIABLE PROTO_DESCRIPTORS;
+-- Check that the table is created
+@EXPECT RESULT_SET
+SELECT COUNT(*) AS ACTUAL, 1 AS EXPECTED
+FROM INFORMATION_SCHEMA.TABLES
+WHERE TABLE_NAME='Singers';
diff --git a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ClientSideStatementsTest.sql b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ClientSideStatementsTest.sql
index 5ffa722385d..0f2c0368412 100644
--- a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ClientSideStatementsTest.sql
+++ b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ClientSideStatementsTest.sql
@@ -7167,6 +7167,403 @@ NEW_CONNECTION;
@EXPECT EXCEPTION UNIMPLEMENTED
show variable/-spanner.transaction_tag;
NEW_CONNECTION;
+show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+SHOW SPANNER.EXCLUDE_TXN_FROM_CHANGE_STREAMS;
+NEW_CONNECTION;
+show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+ show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+ show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+
+
+
+show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+show spanner.exclude_txn_from_change_streams ;
+NEW_CONNECTION;
+show spanner.exclude_txn_from_change_streams ;
+NEW_CONNECTION;
+show spanner.exclude_txn_from_change_streams
+
+;
+NEW_CONNECTION;
+show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+show
+spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show%spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show_spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show&spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show$spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show@spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show!spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show*spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show(spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show)spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show-spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show+spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show-#spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show/spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show\spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show?spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show-/spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show/#spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-show spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.exclude_txn_from_change_streams/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show/-spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+SHOW VARIABLE SPANNER.EXCLUDE_TXN_FROM_CHANGE_STREAMS;
+NEW_CONNECTION;
+show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+ show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+ show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+
+
+
+show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+show variable spanner.exclude_txn_from_change_streams ;
+NEW_CONNECTION;
+show variable spanner.exclude_txn_from_change_streams ;
+NEW_CONNECTION;
+show variable spanner.exclude_txn_from_change_streams
+
+;
+NEW_CONNECTION;
+show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+show
+variable
+spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams);
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-show variable spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.exclude_txn_from_change_streams/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-spanner.exclude_txn_from_change_streams;
+NEW_CONNECTION;
show spanner.rpc_priority;
NEW_CONNECTION;
SHOW SPANNER.RPC_PRIORITY;
@@ -70783,6 +71180,806 @@ set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
set spanner.transaction_tag to/-'test_tag';
NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+SET SPANNER.EXCLUDE_TXN_FROM_CHANGE_STREAMS = TRUE;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+ set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+ set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+
+
+
+set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = true ;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = true ;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = true
+
+;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+set
+spanner.exclude_txn_from_change_streams
+=
+true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =%true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =_true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =&true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =$true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =@true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =!true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =*true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =(true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =)true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =-true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =+true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =-#true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =/true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =\true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =?true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =-/true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =/#true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.exclude_txn_from_change_streams = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = true/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =/-true;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+SET SPANNER.EXCLUDE_TXN_FROM_CHANGE_STREAMS = FALSE;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+ set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+ set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+
+
+
+set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = false ;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = false ;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = false
+
+;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+set
+spanner.exclude_txn_from_change_streams
+=
+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =%false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =_false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =&false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =$false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =@false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =!false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =*false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =(false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =)false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =-false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =-#false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =/false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =\false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =?false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =-/false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =/#false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.exclude_txn_from_change_streams = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams = false/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams =/-false;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+SET SPANNER.EXCLUDE_TXN_FROM_CHANGE_STREAMS TO TRUE;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+ set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+ set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+
+
+
+set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to true ;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to true ;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to true
+
+;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+set
+spanner.exclude_txn_from_change_streams
+to
+true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to%true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to_true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to&true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to$true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to@true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to!true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to*true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to(true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to)true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to-true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to+true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to-#true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to/true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to\true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to?true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to-/true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to/#true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.exclude_txn_from_change_streams to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to true/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to/-true;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+SET SPANNER.EXCLUDE_TXN_FROM_CHANGE_STREAMS TO FALSE;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+ set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+ set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+
+
+
+set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to false ;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to false ;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to false
+
+;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+set
+spanner.exclude_txn_from_change_streams
+to
+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to%false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to_false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to&false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to$false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to@false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to!false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to*false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to(false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to)false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to-false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to-#false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to/false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to\false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to?false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to-/false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to/#false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.exclude_txn_from_change_streams to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to false/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.exclude_txn_from_change_streams to/-false;
+NEW_CONNECTION;
set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
SET SPANNER.RPC_PRIORITY='HIGH';
diff --git a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ConnectionImplGeneratedSqlScriptTest.sql b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ConnectionImplGeneratedSqlScriptTest.sql
index e35ae5f3c3c..5f6ecd2b3a1 100644
--- a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ConnectionImplGeneratedSqlScriptTest.sql
+++ b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ConnectionImplGeneratedSqlScriptTest.sql
@@ -160,15 +160,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:32.957000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:32.957000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:24.581000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:24.581000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:32.957000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:24.581000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -510,15 +510,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.060000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.060000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:24.679000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:24.679000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.060000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:24.679000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -950,8 +950,8 @@ BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
ROLLBACK;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.165000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.165000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:24.784000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:24.784000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
@@ -961,7 +961,7 @@ BEGIN TRANSACTION;
SELECT 1 AS TEST;
ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.165000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:24.784000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -1462,8 +1462,8 @@ BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.275000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.275000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:24.878000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:24.878000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
@@ -1473,7 +1473,7 @@ BEGIN TRANSACTION;
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.275000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:24.878000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -1876,15 +1876,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.351000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.351000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:24.948000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:24.948000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.351000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:24.948000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -2243,14 +2243,14 @@ SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.428000000Z';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.022000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.428000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.022000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -2600,13 +2600,13 @@ SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.509000000Z';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.103000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.509000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.103000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -2910,14 +2910,14 @@ SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.575000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.575000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.167000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.167000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.575000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.167000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -3245,15 +3245,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.662000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.662000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.262000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.262000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.662000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.262000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -3662,8 +3662,8 @@ SET AUTOCOMMIT=FALSE;
START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
RUN BATCH;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.747000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.747000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.328000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.328000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
@@ -3672,7 +3672,7 @@ START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
RUN BATCH;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.747000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.328000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -4081,14 +4081,14 @@ SET AUTOCOMMIT=FALSE;
START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.806000000Z';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.390000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.806000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.390000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -4438,13 +4438,13 @@ SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.861000000Z';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.445000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.861000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.445000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -4877,8 +4877,8 @@ SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.927000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.927000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.511000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.511000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
@@ -4888,7 +4888,7 @@ SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.927000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.511000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -5288,15 +5288,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ ONLY;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:33.985000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:33.985000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.565000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.565000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:33.985000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.565000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -5641,15 +5641,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.041000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.041000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.623000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.623000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.041000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.623000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -6088,8 +6088,8 @@ BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
ROLLBACK;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.108000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.108000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.692000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.692000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
@@ -6099,7 +6099,7 @@ BEGIN TRANSACTION;
SELECT 1 AS TEST;
ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.108000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.692000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -6607,8 +6607,8 @@ BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.191000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.191000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.774000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.774000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
@@ -6618,7 +6618,7 @@ BEGIN TRANSACTION;
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.191000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.774000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -7023,15 +7023,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.254000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.254000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.833000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:25.833000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.254000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.833000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -7394,14 +7394,14 @@ SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.318000000Z';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.894000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.318000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.894000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -7756,13 +7756,13 @@ SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.384000000Z';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:25.964000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.384000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:25.964000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -8075,14 +8075,14 @@ SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.443000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.443000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.019000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.019000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.443000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.019000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -8392,13 +8392,13 @@ SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.492000000Z';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.075000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.492000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.075000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
@@ -8753,8 +8753,8 @@ SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.542000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.542000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.126000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.126000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
@@ -8762,7 +8762,7 @@ SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.542000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.126000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
@@ -9197,8 +9197,8 @@ SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
UPDATE foo SET bar=1;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.611000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.611000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.197000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.197000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
@@ -9206,8 +9206,8 @@ SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
UPDATE foo SET bar=1;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.611000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.611000000Z'
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.197000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.197000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
@@ -9593,15 +9593,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.665000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.665000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.251000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.251000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.665000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.251000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
@@ -9952,15 +9952,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.719000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.719000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.324000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.324000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.719000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.719000000Z'
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.324000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.324000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
@@ -10320,15 +10320,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
UPDATE foo SET bar=1;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.800000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.800000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.385000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.385000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
UPDATE foo SET bar=1;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.800000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.800000000Z'
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.385000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.385000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
@@ -10718,16 +10718,16 @@ SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.857000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.857000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.443000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.443000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.857000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.857000000Z'
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.443000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.443000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
@@ -11110,15 +11110,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.918000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.918000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.502000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.502000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.918000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.918000000Z'
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.502000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.502000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
@@ -11448,14 +11448,14 @@ SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:34.974000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:34.974000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.553000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.553000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:34.974000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:34.974000000Z'
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.553000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.553000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
@@ -11778,15 +11778,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:35.024000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:35.024000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.601000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.601000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:35.024000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:35.024000000Z'
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.601000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.601000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
@@ -12193,8 +12193,8 @@ SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:35.080000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:35.080000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.697000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.697000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
@@ -12202,8 +12202,8 @@ SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:35.080000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:35.080000000Z'
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.697000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.697000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
@@ -12586,15 +12586,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:35.129000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:35.129000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.836000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.836000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:35.129000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.836000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
@@ -12932,15 +12932,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:35.184000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:35.184000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.919000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.919000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:35.184000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:35.184000000Z'
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.919000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.919000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
@@ -13287,15 +13287,15 @@ NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:35.242000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:35.242000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:26.997000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:26.997000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:35.242000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:35.242000000Z'
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:26.997000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:26.997000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
@@ -13612,14 +13612,14 @@ SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-04-22T15:43:35.293000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-04-22T15:43:35.293000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2024-05-13T09:04:27.050000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2024-05-13T09:04:27.050000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-04-22T15:43:35.293000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-04-22T15:43:35.293000000Z'
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2024-05-13T09:04:27.050000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2024-05-13T09:04:27.050000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
diff --git a/grpc-google-cloud-spanner-admin-database-v1/pom.xml b/grpc-google-cloud-spanner-admin-database-v1/pom.xml
index 3141df9325b..6629f05bde2 100644
--- a/grpc-google-cloud-spanner-admin-database-v1/pom.xml
+++ b/grpc-google-cloud-spanner-admin-database-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-spanner-admin-database-v1
- 6.67.0
+ 6.68.0
grpc-google-cloud-spanner-admin-database-v1
GRPC library for grpc-google-cloud-spanner-admin-database-v1
com.google.cloud
google-cloud-spanner-parent
- 6.67.0
+ 6.68.0
diff --git a/grpc-google-cloud-spanner-admin-instance-v1/pom.xml b/grpc-google-cloud-spanner-admin-instance-v1/pom.xml
index 543d026ef24..fa42a386394 100644
--- a/grpc-google-cloud-spanner-admin-instance-v1/pom.xml
+++ b/grpc-google-cloud-spanner-admin-instance-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-spanner-admin-instance-v1
- 6.67.0
+ 6.68.0
grpc-google-cloud-spanner-admin-instance-v1
GRPC library for grpc-google-cloud-spanner-admin-instance-v1
com.google.cloud
google-cloud-spanner-parent
- 6.67.0
+ 6.68.0
diff --git a/grpc-google-cloud-spanner-executor-v1/pom.xml b/grpc-google-cloud-spanner-executor-v1/pom.xml
index 314730e3e39..1194a147482 100644
--- a/grpc-google-cloud-spanner-executor-v1/pom.xml
+++ b/grpc-google-cloud-spanner-executor-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-spanner-executor-v1
- 6.67.0
+ 6.68.0
grpc-google-cloud-spanner-executor-v1
GRPC library for google-cloud-spanner
com.google.cloud
google-cloud-spanner-parent
- 6.67.0
+ 6.68.0
diff --git a/grpc-google-cloud-spanner-v1/pom.xml b/grpc-google-cloud-spanner-v1/pom.xml
index 23522c79c20..aae151f72da 100644
--- a/grpc-google-cloud-spanner-v1/pom.xml
+++ b/grpc-google-cloud-spanner-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-spanner-v1
- 6.67.0
+ 6.68.0
grpc-google-cloud-spanner-v1
GRPC library for grpc-google-cloud-spanner-v1
com.google.cloud
google-cloud-spanner-parent
- 6.67.0
+ 6.68.0
diff --git a/pom.xml b/pom.xml
index 6813b780292..36916f0f0c5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud
google-cloud-spanner-parent
pom
- 6.67.0
+ 6.68.0
Google Cloud Spanner Parent
https://github.com/googleapis/java-spanner
@@ -61,47 +61,47 @@
com.google.api.grpc
proto-google-cloud-spanner-admin-instance-v1
- 6.67.0
+ 6.68.0
com.google.api.grpc
proto-google-cloud-spanner-executor-v1
- 6.67.0
+ 6.68.0
com.google.api.grpc
grpc-google-cloud-spanner-executor-v1
- 6.67.0
+ 6.68.0
com.google.api.grpc
proto-google-cloud-spanner-v1
- 6.67.0
+ 6.68.0
com.google.api.grpc
proto-google-cloud-spanner-admin-database-v1
- 6.67.0
+ 6.68.0
com.google.api.grpc
grpc-google-cloud-spanner-v1
- 6.67.0
+ 6.68.0
com.google.api.grpc
grpc-google-cloud-spanner-admin-instance-v1
- 6.67.0
+ 6.68.0
com.google.api.grpc
grpc-google-cloud-spanner-admin-database-v1
- 6.67.0
+ 6.68.0
com.google.cloud
google-cloud-spanner
- 6.67.0
+ 6.68.0
diff --git a/proto-google-cloud-spanner-admin-database-v1/pom.xml b/proto-google-cloud-spanner-admin-database-v1/pom.xml
index 9d45999d711..e946d3a99af 100644
--- a/proto-google-cloud-spanner-admin-database-v1/pom.xml
+++ b/proto-google-cloud-spanner-admin-database-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-spanner-admin-database-v1
- 6.67.0
+ 6.68.0
proto-google-cloud-spanner-admin-database-v1
PROTO library for proto-google-cloud-spanner-admin-database-v1
com.google.cloud
google-cloud-spanner-parent
- 6.67.0
+ 6.68.0
diff --git a/proto-google-cloud-spanner-admin-instance-v1/pom.xml b/proto-google-cloud-spanner-admin-instance-v1/pom.xml
index 2e7ea00da31..df8c9c5f2e0 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/pom.xml
+++ b/proto-google-cloud-spanner-admin-instance-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-spanner-admin-instance-v1
- 6.67.0
+ 6.68.0
proto-google-cloud-spanner-admin-instance-v1
PROTO library for proto-google-cloud-spanner-admin-instance-v1
com.google.cloud
google-cloud-spanner-parent
- 6.67.0
+ 6.68.0
diff --git a/proto-google-cloud-spanner-executor-v1/pom.xml b/proto-google-cloud-spanner-executor-v1/pom.xml
index f86a9d02d68..4c6e9d2ba25 100644
--- a/proto-google-cloud-spanner-executor-v1/pom.xml
+++ b/proto-google-cloud-spanner-executor-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-spanner-executor-v1
- 6.67.0
+ 6.68.0
proto-google-cloud-spanner-executor-v1
Proto library for google-cloud-spanner
com.google.cloud
google-cloud-spanner-parent
- 6.67.0
+ 6.68.0
diff --git a/proto-google-cloud-spanner-v1/pom.xml b/proto-google-cloud-spanner-v1/pom.xml
index 81cbf177728..c265c8f14bb 100644
--- a/proto-google-cloud-spanner-v1/pom.xml
+++ b/proto-google-cloud-spanner-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-spanner-v1
- 6.67.0
+ 6.68.0
proto-google-cloud-spanner-v1
PROTO library for proto-google-cloud-spanner-v1
com.google.cloud
google-cloud-spanner-parent
- 6.67.0
+ 6.68.0
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index 2999cbebb48..fecfbdc5d5e 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -33,7 +33,7 @@
com.google.cloud
google-cloud-spanner
- 6.66.0
+ 6.67.0
diff --git a/samples/native-image/pom.xml b/samples/native-image/pom.xml
index 8cf8cc752e1..2d8ace4b6a0 100644
--- a/samples/native-image/pom.xml
+++ b/samples/native-image/pom.xml
@@ -29,7 +29,7 @@
com.google.cloud
libraries-bom
- 26.37.0
+ 26.39.0
pom
import
@@ -131,7 +131,7 @@
org.graalvm.buildtools
native-maven-plugin
- 0.10.1
+ 0.10.2
true
com.example.spanner.NativeImageSpannerSample
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index 8877cf82b20..7ab1684582d 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -32,7 +32,7 @@
com.google.cloud
google-cloud-spanner
- 6.67.0
+ 6.68.0
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index fc8c0052157..3a58a2a23d7 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -34,7 +34,7 @@
com.google.cloud
libraries-bom
- 26.37.0
+ 26.39.0
pom
import
diff --git a/versions.txt b/versions.txt
index 30323409a7b..c956d228a61 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,13 +1,13 @@
# Format:
# module:released-version:current-version
-proto-google-cloud-spanner-admin-instance-v1:6.67.0:6.67.0
-proto-google-cloud-spanner-v1:6.67.0:6.67.0
-proto-google-cloud-spanner-admin-database-v1:6.67.0:6.67.0
-grpc-google-cloud-spanner-v1:6.67.0:6.67.0
-grpc-google-cloud-spanner-admin-instance-v1:6.67.0:6.67.0
-grpc-google-cloud-spanner-admin-database-v1:6.67.0:6.67.0
-google-cloud-spanner:6.67.0:6.67.0
-google-cloud-spanner-executor:6.67.0:6.67.0
-proto-google-cloud-spanner-executor-v1:6.67.0:6.67.0
-grpc-google-cloud-spanner-executor-v1:6.67.0:6.67.0
+proto-google-cloud-spanner-admin-instance-v1:6.68.0:6.68.0
+proto-google-cloud-spanner-v1:6.68.0:6.68.0
+proto-google-cloud-spanner-admin-database-v1:6.68.0:6.68.0
+grpc-google-cloud-spanner-v1:6.68.0:6.68.0
+grpc-google-cloud-spanner-admin-instance-v1:6.68.0:6.68.0
+grpc-google-cloud-spanner-admin-database-v1:6.68.0:6.68.0
+google-cloud-spanner:6.68.0:6.68.0
+google-cloud-spanner-executor:6.68.0:6.68.0
+proto-google-cloud-spanner-executor-v1:6.68.0:6.68.0
+grpc-google-cloud-spanner-executor-v1:6.68.0:6.68.0