Removes unexpected long running transactions from the pool. Only certain transaction
+ * types (for ex - Partitioned DML / Batch Reads) can be long running. This tasks checks the
+ * sessions which have been inactive for a longer than usual duration (for ex - 60 minutes)
+ * and removes such sessions from the pool.
*
*/
final class PoolMaintainer {
@@ -1659,16 +1697,24 @@ final class PoolMaintainer {
private final Duration windowLength = Duration.ofMillis(TimeUnit.MINUTES.toMillis(10));
// Frequency of the timer loop.
@VisibleForTesting final long loopFrequency = options.getLoopFrequency();
- // Number of loop iterations in which we need to to close all the sessions waiting for closure.
+ // Number of loop iterations in which we need to close all the sessions waiting for closure.
@VisibleForTesting final long numClosureCycles = windowLength.toMillis() / loopFrequency;
private final Duration keepAliveMillis =
Duration.ofMillis(TimeUnit.MINUTES.toMillis(options.getKeepAliveIntervalMinutes()));
// Number of loop iterations in which we need to keep alive all the sessions
@VisibleForTesting final long numKeepAliveCycles = keepAliveMillis.toMillis() / loopFrequency;
- Instant lastResetTime = Instant.ofEpochMilli(0);
- int numSessionsToClose = 0;
- int sessionsToClosePerLoop = 0;
+ /**
+ * Variable maintaining the last execution time of the long-running transaction cleanup task.
+ *
+ * The long-running transaction cleanup needs to be performed every X minutes. The X minutes
+ * recurs multiple times within the invocation of the pool maintainer thread. For ex - If the
+ * main thread runs every 10s and the long-running transaction clean-up needs to be performed
+ * every 2 minutes, then we need to keep a track of when was the last time that this task
+ * executed and makes sure we only execute it every 2 minutes and not every 10 seconds.
+ */
+ @VisibleForTesting Instant lastExecutionTime;
+
boolean closed = false;
@GuardedBy("lock")
@@ -1678,6 +1724,7 @@ final class PoolMaintainer {
boolean running;
void init() {
+ lastExecutionTime = clock.instant();
// Scheduled pool maintenance worker.
synchronized (lock) {
scheduledFuture =
@@ -1723,6 +1770,7 @@ void maintainPool() {
decrementPendingClosures(1);
}
}
+ removeLongRunningSessions(currTime);
}
private void removeIdleSessions(Instant currTime) {
@@ -1736,7 +1784,13 @@ private void removeIdleSessions(Instant currTime) {
PooledSession session = iterator.next();
if (session.lastUseTime.isBefore(minLastUseTime)) {
if (session.state != SessionState.CLOSING) {
- removeFromPool(session);
+ boolean isRemoved = removeFromPool(session);
+ if (isRemoved) {
+ numIdleSessionsRemoved++;
+ if (idleSessionRemovedListener != null) {
+ idleSessionRemovedListener.apply(session);
+ }
+ }
iterator.remove();
}
}
@@ -1792,6 +1846,87 @@ private void replenishPool() {
}
}
}
+
+ // cleans up sessions which are unexpectedly long-running.
+ void removeLongRunningSessions(Instant currentTime) {
+ try {
+ if (SessionPool.this.isClosed()) {
+ return;
+ }
+ final InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions =
+ options.getInactiveTransactionRemovalOptions();
+ final Instant minExecutionTime =
+ lastExecutionTime.plus(inactiveTransactionRemovalOptions.getExecutionFrequency());
+ if (currentTime.isBefore(minExecutionTime)) {
+ return;
+ }
+ lastExecutionTime = currentTime; // update this only after we have decided to execute task
+ if (options.closeInactiveTransactions()
+ || options.warnInactiveTransactions()
+ || options.warnAndCloseInactiveTransactions()) {
+ removeLongRunningSessions(currentTime, inactiveTransactionRemovalOptions);
+ }
+ } catch (final Throwable t) {
+ logger.log(Level.WARNING, "Failed removing long running transactions", t);
+ }
+ }
+
+ private void removeLongRunningSessions(
+ final Instant currentTime,
+ final InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions) {
+ synchronized (lock) {
+ final double usedSessionsRatio = getRatioOfSessionsInUse();
+ if (usedSessionsRatio > inactiveTransactionRemovalOptions.getUsedSessionsRatioThreshold()) {
+ Iterator iterator = checkedOutSessions.iterator();
+ while (iterator.hasNext()) {
+ final PooledSessionFuture sessionFuture = iterator.next();
+ // the below get() call on future object is non-blocking since checkedOutSessions
+ // collection is populated only when the get() method in {@code PooledSessionFuture} is
+ // called.
+ final PooledSession session = sessionFuture.get();
+ final Duration durationFromLastUse = Duration.between(session.lastUseTime, currentTime);
+ if (!session.eligibleForLongRunning
+ && durationFromLastUse.compareTo(
+ inactiveTransactionRemovalOptions.getIdleTimeThreshold())
+ > 0) {
+ if ((options.warnInactiveTransactions() || options.warnAndCloseInactiveTransactions())
+ && !session.isLeakedExceptionLogged) {
+ if (options.warnAndCloseInactiveTransactions()) {
+ logger.log(
+ Level.WARNING,
+ String.format("Removing long-running session => %s", session.getName()),
+ sessionFuture.leakedException);
+ session.isLeakedExceptionLogged = true;
+ } else if (options.warnInactiveTransactions()) {
+ logger.log(
+ Level.WARNING,
+ String.format(
+ "Detected long-running session => %s. To automatically remove "
+ + "long-running sessions, set SessionOption ActionOnInactiveTransaction "
+ + "to WARN_AND_CLOSE by invoking setWarnAndCloseIfInactiveTransactions() method.",
+ session.getName()),
+ sessionFuture.leakedException);
+ session.isLeakedExceptionLogged = true;
+ }
+ }
+ if ((options.closeInactiveTransactions()
+ || options.warnAndCloseInactiveTransactions())
+ && session.state != SessionState.CLOSING) {
+ final boolean isRemoved = removeFromPool(session);
+ if (isRemoved) {
+ session.isRemovedFromPool = true;
+ numLeakedSessionsRemoved++;
+ if (longRunningSessionRemovedListener != null) {
+ longRunningSessionRemovedListener.apply(session);
+ }
+ }
+ iterator.remove();
+ }
+ }
+ }
+ }
+ }
+ }
}
private enum Position {
@@ -1872,6 +2007,9 @@ private enum Position {
@GuardedBy("lock")
private long numIdleSessionsRemoved = 0;
+ @GuardedBy("lock")
+ private long numLeakedSessionsRemoved = 0;
+
private AtomicLong numWaiterTimeouts = new AtomicLong();
@GuardedBy("lock")
@@ -1885,6 +2023,8 @@ private enum Position {
@VisibleForTesting Function idleSessionRemovedListener;
+ @VisibleForTesting Function longRunningSessionRemovedListener;
+
private final CountDownLatch waitOnMinSessionsLatch;
/**
@@ -1895,12 +2035,16 @@ private enum Position {
*/
static SessionPool createPool(
SpannerOptions spannerOptions, SessionClient sessionClient, List labelValues) {
+ final SessionPoolOptions sessionPoolOptions = spannerOptions.getSessionPoolOptions();
+
+ // A clock instance is passed in {@code SessionPoolOptions} in order to allow mocking via tests.
+ final Clock poolMaintainerClock = sessionPoolOptions.getPoolMaintainerClock();
return createPool(
- spannerOptions.getSessionPoolOptions(),
+ sessionPoolOptions,
spannerOptions.getDatabaseRole(),
((GrpcTransportOptions) spannerOptions.getTransportOptions()).getExecutorFactory(),
sessionClient,
- new Clock(),
+ poolMaintainerClock == null ? new Clock() : poolMaintainerClock,
Metrics.getMetricRegistry(),
labelValues);
}
@@ -2015,18 +2159,26 @@ int getNumberOfSessionsInUse() {
}
}
- void removeFromPool(PooledSession session) {
+ @VisibleForTesting
+ double getRatioOfSessionsInUse() {
+ synchronized (lock) {
+ final int maxSessions = options.getMaxSessions();
+ if (maxSessions == 0) {
+ return 0;
+ }
+ return (double) numSessionsInUse / maxSessions;
+ }
+ }
+
+ boolean removeFromPool(PooledSession session) {
synchronized (lock) {
if (isClosed()) {
decrementPendingClosures(1);
- return;
+ return false;
}
session.markClosing();
allSessions.remove(session);
- numIdleSessionsRemoved++;
- }
- if (idleSessionRemovedListener != null) {
- idleSessionRemovedListener.apply(session);
+ return true;
}
}
@@ -2036,6 +2188,13 @@ long numIdleSessionsRemoved() {
}
}
+ @VisibleForTesting
+ long numLeakedSessionsRemoved() {
+ synchronized (lock) {
+ return numLeakedSessionsRemoved;
+ }
+ }
+
@VisibleForTesting
int getNumberOfSessionsInPool() {
synchronized (lock) {
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SessionPoolOptions.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SessionPoolOptions.java
index 8856081b364..232e71817cb 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SessionPoolOptions.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SessionPoolOptions.java
@@ -16,6 +16,7 @@
package com.google.cloud.spanner;
+import com.google.cloud.spanner.SessionPool.Clock;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import java.util.Objects;
@@ -50,10 +51,14 @@ public class SessionPoolOptions {
private final ActionOnSessionNotFound actionOnSessionNotFound;
private final ActionOnSessionLeak actionOnSessionLeak;
private final boolean trackStackTraceOfSessionCheckout;
+ private final InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions;
private final long initialWaitForSessionTimeoutMillis;
private final boolean autoDetectDialect;
private final Duration waitForMinSessions;
+ /** Property for allowing mocking of session maintenance clock. */
+ private final Clock poolMaintainerClock;
+
private SessionPoolOptions(Builder builder) {
// minSessions > maxSessions is only possible if the user has only set a value for maxSessions.
// We allow that to prevent code that only sets a value for maxSessions to break if the
@@ -73,6 +78,8 @@ private SessionPoolOptions(Builder builder) {
this.removeInactiveSessionAfter = builder.removeInactiveSessionAfter;
this.autoDetectDialect = builder.autoDetectDialect;
this.waitForMinSessions = builder.waitForMinSessions;
+ this.inactiveTransactionRemovalOptions = builder.inactiveTransactionRemovalOptions;
+ this.poolMaintainerClock = builder.poolMaintainerClock;
}
@Override
@@ -97,7 +104,10 @@ public boolean equals(Object o) {
&& Objects.equals(this.keepAliveIntervalMinutes, other.keepAliveIntervalMinutes)
&& Objects.equals(this.removeInactiveSessionAfter, other.removeInactiveSessionAfter)
&& Objects.equals(this.autoDetectDialect, other.autoDetectDialect)
- && Objects.equals(this.waitForMinSessions, other.waitForMinSessions);
+ && Objects.equals(this.waitForMinSessions, other.waitForMinSessions)
+ && Objects.equals(
+ this.inactiveTransactionRemovalOptions, other.inactiveTransactionRemovalOptions)
+ && Objects.equals(this.poolMaintainerClock, other.poolMaintainerClock);
}
@Override
@@ -117,7 +127,9 @@ public int hashCode() {
this.keepAliveIntervalMinutes,
this.removeInactiveSessionAfter,
this.autoDetectDialect,
- this.waitForMinSessions);
+ this.waitForMinSessions,
+ this.inactiveTransactionRemovalOptions,
+ this.poolMaintainerClock);
}
public Builder toBuilder() {
@@ -180,6 +192,25 @@ public boolean isAutoDetectDialect() {
return autoDetectDialect;
}
+ InactiveTransactionRemovalOptions getInactiveTransactionRemovalOptions() {
+ return inactiveTransactionRemovalOptions;
+ }
+
+ boolean closeInactiveTransactions() {
+ return inactiveTransactionRemovalOptions.actionOnInactiveTransaction
+ == ActionOnInactiveTransaction.CLOSE;
+ }
+
+ boolean warnAndCloseInactiveTransactions() {
+ return inactiveTransactionRemovalOptions.actionOnInactiveTransaction
+ == ActionOnInactiveTransaction.WARN_AND_CLOSE;
+ }
+
+ boolean warnInactiveTransactions() {
+ return inactiveTransactionRemovalOptions.actionOnInactiveTransaction
+ == ActionOnInactiveTransaction.WARN;
+ }
+
@VisibleForTesting
long getInitialWaitForSessionTimeoutMillis() {
return initialWaitForSessionTimeoutMillis;
@@ -195,11 +226,15 @@ boolean isFailOnSessionLeak() {
return actionOnSessionLeak == ActionOnSessionLeak.FAIL;
}
+ @VisibleForTesting
+ Clock getPoolMaintainerClock() {
+ return poolMaintainerClock;
+ }
+
public boolean isTrackStackTraceOfSessionCheckout() {
return trackStackTraceOfSessionCheckout;
}
- @VisibleForTesting
Duration getWaitForMinSessions() {
return waitForMinSessions;
}
@@ -223,6 +258,134 @@ private enum ActionOnSessionLeak {
FAIL
}
+ @VisibleForTesting
+ enum ActionOnInactiveTransaction {
+ WARN,
+ WARN_AND_CLOSE,
+ CLOSE
+ }
+
+ /** Configuration options for task to clean up inactive transactions. */
+ static class InactiveTransactionRemovalOptions {
+
+ /** Option to set the behaviour when there are inactive transactions. */
+ private ActionOnInactiveTransaction actionOnInactiveTransaction;
+
+ /**
+ * Frequency for closing inactive transactions. Between two consecutive task executions, it's
+ * ensured that the duration is greater or equal to this duration.
+ */
+ private Duration executionFrequency;
+
+ /**
+ * Long-running transactions will be cleaned up if utilisation is greater than the below value.
+ */
+ private double usedSessionsRatioThreshold;
+
+ /**
+ * A transaction is considered to be idle if it has not been used for a duration greater than
+ * the below value.
+ */
+ private Duration idleTimeThreshold;
+
+ InactiveTransactionRemovalOptions(final Builder builder) {
+ this.actionOnInactiveTransaction = builder.actionOnInactiveTransaction;
+ this.idleTimeThreshold = builder.idleTimeThreshold;
+ this.executionFrequency = builder.executionFrequency;
+ this.usedSessionsRatioThreshold = builder.usedSessionsRatioThreshold;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (!(o instanceof InactiveTransactionRemovalOptions)) {
+ return false;
+ }
+ InactiveTransactionRemovalOptions other = (InactiveTransactionRemovalOptions) o;
+ return Objects.equals(this.actionOnInactiveTransaction, other.actionOnInactiveTransaction)
+ && Objects.equals(this.idleTimeThreshold, other.idleTimeThreshold)
+ && Objects.equals(this.executionFrequency, other.executionFrequency)
+ && Objects.equals(this.usedSessionsRatioThreshold, other.usedSessionsRatioThreshold);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ this.actionOnInactiveTransaction,
+ this.idleTimeThreshold,
+ this.executionFrequency,
+ this.usedSessionsRatioThreshold);
+ }
+
+ Duration getExecutionFrequency() {
+ return executionFrequency;
+ }
+
+ double getUsedSessionsRatioThreshold() {
+ return usedSessionsRatioThreshold;
+ }
+
+ Duration getIdleTimeThreshold() {
+ return idleTimeThreshold;
+ }
+
+ static InactiveTransactionRemovalOptions.Builder newBuilder() {
+ return new Builder();
+ }
+
+ static class Builder {
+ private ActionOnInactiveTransaction actionOnInactiveTransaction;
+ private Duration executionFrequency = Duration.ofMinutes(2);
+ private double usedSessionsRatioThreshold = 0.95;
+ private Duration idleTimeThreshold = Duration.ofMinutes(60L);
+
+ public Builder() {}
+
+ InactiveTransactionRemovalOptions build() {
+ validate();
+ return new InactiveTransactionRemovalOptions(this);
+ }
+
+ private void validate() {
+ Preconditions.checkArgument(
+ executionFrequency.toMillis() > 0,
+ "Execution frequency %s should be positive",
+ executionFrequency.toMillis());
+ Preconditions.checkArgument(
+ idleTimeThreshold.toMillis() > 0,
+ "Idle Time Threshold duration %s should be positive",
+ idleTimeThreshold.toMillis());
+ }
+
+ @VisibleForTesting
+ InactiveTransactionRemovalOptions.Builder setActionOnInactiveTransaction(
+ final ActionOnInactiveTransaction actionOnInactiveTransaction) {
+ this.actionOnInactiveTransaction = actionOnInactiveTransaction;
+ return this;
+ }
+
+ @VisibleForTesting
+ InactiveTransactionRemovalOptions.Builder setExecutionFrequency(
+ final Duration executionFrequency) {
+ this.executionFrequency = executionFrequency;
+ return this;
+ }
+
+ @VisibleForTesting
+ InactiveTransactionRemovalOptions.Builder setUsedSessionsRatioThreshold(
+ final double usedSessionsRatioThreshold) {
+ this.usedSessionsRatioThreshold = usedSessionsRatioThreshold;
+ return this;
+ }
+
+ @VisibleForTesting
+ InactiveTransactionRemovalOptions.Builder setIdleTimeThreshold(
+ final Duration idleTimeThreshold) {
+ this.idleTimeThreshold = idleTimeThreshold;
+ return this;
+ }
+ }
+ }
+
/** Builder for creating SessionPoolOptions. */
public static class Builder {
private boolean minSessionsSet = false;
@@ -254,12 +417,16 @@ public static class Builder {
*/
private boolean trackStackTraceOfSessionCheckout = true;
+ private InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions =
+ InactiveTransactionRemovalOptions.newBuilder().build();
private long loopFrequency = 10 * 1000L;
private int keepAliveIntervalMinutes = 30;
private Duration removeInactiveSessionAfter = Duration.ofMinutes(55L);
private boolean autoDetectDialect = false;
private Duration waitForMinSessions = Duration.ZERO;
+ private Clock poolMaintainerClock;
+
public Builder() {}
private Builder(SessionPoolOptions options) {
@@ -279,6 +446,8 @@ private Builder(SessionPoolOptions options) {
this.removeInactiveSessionAfter = options.removeInactiveSessionAfter;
this.autoDetectDialect = options.autoDetectDialect;
this.waitForMinSessions = options.waitForMinSessions;
+ this.inactiveTransactionRemovalOptions = options.inactiveTransactionRemovalOptions;
+ this.poolMaintainerClock = options.poolMaintainerClock;
}
/**
@@ -335,6 +504,12 @@ Builder setLoopFrequency(long loopFrequency) {
return this;
}
+ Builder setInactiveTransactionRemovalOptions(
+ InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions) {
+ this.inactiveTransactionRemovalOptions = inactiveTransactionRemovalOptions;
+ return this;
+ }
+
public Builder setRemoveInactiveSessionAfter(Duration duration) {
this.removeInactiveSessionAfter = duration;
return this;
@@ -369,6 +544,70 @@ public Builder setBlockIfPoolExhausted() {
return this;
}
+ /**
+ * If there are inactive transactions, log warning messages with the origin of such transactions
+ * to aid debugging. A transaction is classified as inactive if it executes for more than a
+ * system defined duration.
+ *
+ * This option won't change the state of the transactions. It only generates warning logs
+ * that can be used for debugging.
+ *
+ * @return this builder for chaining
+ */
+ Builder setWarnIfInactiveTransactions() {
+ this.inactiveTransactionRemovalOptions =
+ InactiveTransactionRemovalOptions.newBuilder()
+ .setActionOnInactiveTransaction(ActionOnInactiveTransaction.WARN)
+ .build();
+ return this;
+ }
+
+ /**
+ * If there are inactive transactions, release the resources consumed by such transactions. A
+ * transaction is classified as inactive if it executes for more than a system defined duration.
+ * The option would also produce necessary warning logs through which it can be debugged as to
+ * what resources were released due to this option.
+ *
+ *
Use the option {@link Builder#setWarnIfInactiveTransactions()} if you only want to log
+ * warnings about long-running transactions.
+ *
+ * @return this builder for chaining
+ */
+ Builder setWarnAndCloseIfInactiveTransactions() {
+ this.inactiveTransactionRemovalOptions =
+ InactiveTransactionRemovalOptions.newBuilder()
+ .setActionOnInactiveTransaction(ActionOnInactiveTransaction.WARN_AND_CLOSE)
+ .build();
+ return this;
+ }
+
+ /**
+ * If there are inactive transactions, release the resources consumed by such transactions. A
+ * transaction is classified as inactive if it executes for more than a system defined duration.
+ *
+ *
Use the option {@link Builder#setWarnIfInactiveTransactions()} if you only want to log
+ * warnings about long-running sessions.
+ *
+ *
Use the option {@link Builder#setWarnAndCloseIfInactiveTransactions()} if you want to log
+ * warnings along with closing the long-running transactions.
+ *
+ * @return this builder for chaining
+ */
+ @VisibleForTesting
+ Builder setCloseIfInactiveTransactions() {
+ this.inactiveTransactionRemovalOptions =
+ InactiveTransactionRemovalOptions.newBuilder()
+ .setActionOnInactiveTransaction(ActionOnInactiveTransaction.CLOSE)
+ .build();
+ return this;
+ }
+
+ @VisibleForTesting
+ Builder setPoolMaintainerClock(Clock poolMaintainerClock) {
+ this.poolMaintainerClock = poolMaintainerClock;
+ return this;
+ }
+
/**
* Sets whether the client should automatically execute a background query to detect the dialect
* that is used by the database or not. Set this option to true if you do not know what the
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java
index 2f3bf10f9aa..5df163ecd87 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java
@@ -700,7 +700,7 @@ public static class Builder
private CloseableExecutorProvider asyncExecutorProvider;
private String compressorName;
private String emulatorHost = System.getenv("SPANNER_EMULATOR_HOST");
- private boolean leaderAwareRoutingEnabled = false;
+ private boolean leaderAwareRoutingEnabled = true;
private Builder() {
// Manually set retry and polling settings that work.
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/Statement.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/Statement.java
index 3693e2cb587..ea6cdf3f65c 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/Statement.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/Statement.java
@@ -86,6 +86,12 @@ private Builder(Statement statement) {
statement.queryOptions == null ? null : statement.queryOptions.toBuilder().build();
}
+ /** Replaces the current SQL of this builder with the given string. */
+ public Builder replace(String sql) {
+ sqlBuffer.replace(0, sqlBuffer.length(), sql);
+ return this;
+ }
+
/** Appends {@code sqlFragment} to the statement. */
public Builder append(String sqlFragment) {
sqlBuffer.append(checkNotNull(sqlFragment));
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 2044b4e6fcc..bd43daf9e57 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
@@ -21,13 +21,22 @@
import com.google.api.gax.grpc.GrpcCallContext;
import com.google.api.gax.longrunning.OperationFuture;
import com.google.api.gax.rpc.ApiCallContext;
+import com.google.cloud.spanner.BatchReadOnlyTransaction;
+import com.google.cloud.spanner.BatchTransactionId;
import com.google.cloud.spanner.Dialect;
import com.google.cloud.spanner.ErrorCode;
+import com.google.cloud.spanner.Options.QueryOption;
import com.google.cloud.spanner.Options.RpcPriority;
+import com.google.cloud.spanner.Partition;
+import com.google.cloud.spanner.PartitionOptions;
+import com.google.cloud.spanner.ResultSet;
+import com.google.cloud.spanner.ResultSets;
import com.google.cloud.spanner.SpannerException;
import com.google.cloud.spanner.SpannerExceptionFactory;
import com.google.cloud.spanner.SpannerOptions;
import com.google.cloud.spanner.Statement;
+import com.google.cloud.spanner.Struct;
+import com.google.cloud.spanner.Type.StructField;
import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
import com.google.cloud.spanner.connection.StatementExecutor.StatementTimeout;
import com.google.common.base.Preconditions;
@@ -39,6 +48,7 @@
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.CancellationException;
@@ -46,6 +56,7 @@
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
+import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.annotation.concurrent.GuardedBy;
@@ -157,6 +168,39 @@ public void rollbackToSavepoint(
"Rollback to savepoint is not supported for " + getUnitOfWorkName());
}
+ @Override
+ public ApiFuture partitionQueryAsync(
+ CallType callType,
+ ParsedStatement query,
+ PartitionOptions partitionOptions,
+ QueryOption... options) {
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.FAILED_PRECONDITION,
+ "Partition query is not supported for " + getUnitOfWorkName());
+ }
+
+ ResultSet partitionQuery(
+ BatchReadOnlyTransaction transaction,
+ PartitionOptions partitionOptions,
+ ParsedStatement query,
+ QueryOption... options) {
+ final String partitionColumnName = "PARTITION";
+ BatchTransactionId transactionId = transaction.getBatchTransactionId();
+ List partitions =
+ transaction.partitionQuery(partitionOptions, query.getStatement(), options);
+ return ResultSets.forRows(
+ com.google.cloud.spanner.Type.struct(
+ StructField.of(partitionColumnName, com.google.cloud.spanner.Type.string())),
+ partitions.stream()
+ .map(
+ partition ->
+ Struct.newBuilder()
+ .set(partitionColumnName)
+ .to(PartitionId.encodeToString(transactionId, partition))
+ .build())
+ .collect(Collectors.toList()));
+ }
+
StatementExecutor getStatementExecutor() {
return statementExecutor;
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractStatementParser.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractStatementParser.java
index 0d9c431e171..11549fbfc59 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractStatementParser.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractStatementParser.java
@@ -34,6 +34,8 @@
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.Callable;
+import java.util.logging.Level;
+import java.util.logging.Logger;
/**
* Internal class for the Spanner Connection API.
@@ -91,8 +93,7 @@ public static AbstractStatementParser getInstance(Dialect dialect) {
*/
/** Begins a transaction. */
- static final ParsedStatement BEGIN_STATEMENT =
- AbstractStatementParser.getInstance(Dialect.GOOGLE_STANDARD_SQL).parse(Statement.of("BEGIN"));
+ static final ParsedStatement BEGIN_STATEMENT;
/**
* Create a COMMIT statement to use with the {@link #commit()} method to allow it to be cancelled,
@@ -104,14 +105,10 @@ public static AbstractStatementParser getInstance(Dialect dialect) {
* #commit()} method is called directly, we do not have a {@link ParsedStatement}, and the method
* uses this statement instead in order to use the same logic as the other statements.
*/
- static final ParsedStatement COMMIT_STATEMENT =
- AbstractStatementParser.getInstance(Dialect.GOOGLE_STANDARD_SQL)
- .parse(Statement.of("COMMIT"));
+ static final ParsedStatement COMMIT_STATEMENT;
/** The {@link Statement} and {@link Callable} for rollbacks */
- static final ParsedStatement ROLLBACK_STATEMENT =
- AbstractStatementParser.getInstance(Dialect.GOOGLE_STANDARD_SQL)
- .parse(Statement.of("ROLLBACK"));
+ static final ParsedStatement ROLLBACK_STATEMENT;
/**
* Create a RUN BATCH statement to use with the {@link #executeBatchUpdate(Iterable)} method to
@@ -124,9 +121,22 @@ public static AbstractStatementParser getInstance(Dialect dialect) {
* and the method uses this statement instead in order to use the same logic as the other
* statements.
*/
- static final ParsedStatement RUN_BATCH_STATEMENT =
- AbstractStatementParser.getInstance(Dialect.GOOGLE_STANDARD_SQL)
- .parse(Statement.of("RUN BATCH"));
+ static final ParsedStatement RUN_BATCH_STATEMENT;
+
+ static {
+ try {
+ BEGIN_STATEMENT = getInstance(Dialect.GOOGLE_STANDARD_SQL).parse(Statement.of("BEGIN"));
+ COMMIT_STATEMENT = getInstance(Dialect.GOOGLE_STANDARD_SQL).parse(Statement.of("COMMIT"));
+ ROLLBACK_STATEMENT = getInstance(Dialect.GOOGLE_STANDARD_SQL).parse(Statement.of("ROLLBACK"));
+ RUN_BATCH_STATEMENT =
+ getInstance(Dialect.GOOGLE_STANDARD_SQL).parse(Statement.of("RUN BATCH"));
+
+ } catch (Throwable ex) {
+ Logger logger = Logger.getLogger(AbstractStatementParser.class.getName());
+ logger.log(Level.SEVERE, "Static initialization failure.", ex);
+ throw ex;
+ }
+ }
/** The type of statement that has been recognized by the parser. */
@InternalApi
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatement.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatement.java
index 08f14b146a2..521ba546073 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatement.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatement.java
@@ -17,6 +17,7 @@
package com.google.cloud.spanner.connection;
import com.google.cloud.spanner.ResultSet;
+import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
import com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType;
import java.util.List;
@@ -63,5 +64,5 @@ interface ClientSideStatement {
* needed for the execution of the {@link ClientSideStatement}.
* @return the result of the execution of the statement.
*/
- StatementResult execute(ConnectionStatementExecutor executor, String statement);
+ StatementResult execute(ConnectionStatementExecutor executor, ParsedStatement statement);
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementExecutor.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementExecutor.java
index 7ec09766697..dae773f606a 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementExecutor.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementExecutor.java
@@ -16,6 +16,8 @@
package com.google.cloud.spanner.connection;
+import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
+
/**
* A {@link ClientSideStatementExecutor} is used to compile {@link ClientSideStatement}s from the
* json source file, and to execute these against a {@link Connection} (through a {@link
@@ -29,13 +31,13 @@ interface ClientSideStatementExecutor {
*
* @param connectionExecutor The {@link ConnectionStatementExecutor} to use to execute the
* statement on a {@link Connection}.
- * @param sql The sql statement that is executed. This can be used to parse any additional
+ * @param statement The statement that is executed. This can be used to parse any additional
* arguments that might be needed for the execution of the {@link ClientSideStatementImpl}.
* @return the result of the execution.
* @throws Exception If an error occurs while executing the statement, for example if an invalid
* argument has been specified in the sql statement, or if the statement is invalid for the
* current state of the {@link Connection}.
*/
- StatementResult execute(ConnectionStatementExecutor connectionExecutor, String sql)
+ StatementResult execute(ConnectionStatementExecutor connectionExecutor, ParsedStatement statement)
throws Exception;
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementExplainExecutor.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementExplainExecutor.java
index 7ce201cb0bd..767d6917be6 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementExplainExecutor.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementExplainExecutor.java
@@ -18,6 +18,7 @@
import com.google.cloud.spanner.ErrorCode;
import com.google.cloud.spanner.SpannerExceptionFactory;
+import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
import com.google.cloud.spanner.connection.ClientSideStatementImpl.CompileException;
import com.google.cloud.spanner.connection.ClientSideStatementValueConverters.ExplainCommandConverter;
import com.google.common.collect.ImmutableSet;
@@ -47,9 +48,10 @@ class ClientSideStatementExplainExecutor implements ClientSideStatementExecutor
}
@Override
- public StatementResult execute(ConnectionStatementExecutor connection, String sql)
+ public StatementResult execute(ConnectionStatementExecutor connection, ParsedStatement statement)
throws Exception {
- return (StatementResult) method.invoke(connection, getParameterValue(sql));
+ return (StatementResult)
+ method.invoke(connection, getParameterValue(statement.getSqlWithoutComments()));
}
String getParameterValue(String sql) {
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementImpl.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementImpl.java
index 2ff39131baa..f9ecba6652a 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementImpl.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementImpl.java
@@ -17,6 +17,7 @@
package com.google.cloud.spanner.connection;
import com.google.cloud.spanner.SpannerException;
+import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
import com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType;
import com.google.cloud.spanner.connection.StatementResult.ResultType;
import com.google.common.base.Preconditions;
@@ -160,7 +161,8 @@ ClientSideStatementImpl compile() throws CompileException {
}
@Override
- public StatementResult execute(ConnectionStatementExecutor connection, String statement) {
+ public StatementResult execute(
+ ConnectionStatementExecutor connection, ParsedStatement statement) {
Preconditions.checkState(executor != null, "This statement has not been compiled");
try {
return executor.execute(connection, statement);
@@ -170,9 +172,9 @@ public StatementResult execute(ConnectionStatementExecutor connection, String st
if (e.getCause() instanceof SpannerException) {
throw (SpannerException) e.getCause();
}
- throw new ExecuteException(e.getCause(), this, statement);
+ throw new ExecuteException(e.getCause(), this, statement.getStatement().getSql());
} catch (Exception e) {
- throw new ExecuteException(e, this, statement);
+ throw new ExecuteException(e, this, statement.getStatement().getSql());
}
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementNoParamExecutor.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementNoParamExecutor.java
index 6f5e683ce64..01da308c166 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementNoParamExecutor.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementNoParamExecutor.java
@@ -16,6 +16,7 @@
package com.google.cloud.spanner.connection;
+import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
import com.google.cloud.spanner.connection.ClientSideStatementImpl.CompileException;
import java.lang.reflect.Method;
@@ -42,7 +43,7 @@ class ClientSideStatementNoParamExecutor implements ClientSideStatementExecutor
}
@Override
- public StatementResult execute(ConnectionStatementExecutor connection, String statement)
+ public StatementResult execute(ConnectionStatementExecutor connection, ParsedStatement statement)
throws Exception {
return (StatementResult) method.invoke(connection);
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementPartitionExecutor.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementPartitionExecutor.java
new file mode 100644
index 00000000000..0307ff517bb
--- /dev/null
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementPartitionExecutor.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2023 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 com.google.cloud.spanner.ErrorCode;
+import com.google.cloud.spanner.SpannerExceptionFactory;
+import com.google.cloud.spanner.Statement;
+import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
+import com.google.cloud.spanner.connection.ClientSideStatementImpl.CompileException;
+import java.lang.reflect.Method;
+import java.util.regex.Matcher;
+
+/** Executor for PARTITION <sql>
statements. */
+class ClientSideStatementPartitionExecutor implements ClientSideStatementExecutor {
+ private final ClientSideStatementImpl statement;
+ private final Method method;
+
+ ClientSideStatementPartitionExecutor(ClientSideStatementImpl statement) throws CompileException {
+ try {
+ this.statement = statement;
+ this.method =
+ ConnectionStatementExecutor.class.getDeclaredMethod(
+ statement.getMethodName(), Statement.class);
+ } catch (Exception e) {
+ throw new CompileException(e, statement);
+ }
+ }
+
+ @Override
+ public StatementResult execute(
+ ConnectionStatementExecutor connection, ParsedStatement parsedStatement) throws Exception {
+ String sql = getParameterValue(parsedStatement);
+ return (StatementResult)
+ method.invoke(connection, parsedStatement.getStatement().toBuilder().replace(sql).build());
+ }
+
+ String getParameterValue(ParsedStatement parsedStatement) {
+ Matcher matcher = statement.getPattern().matcher(parsedStatement.getSqlWithoutComments());
+ if (matcher.find() && matcher.groupCount() >= 2) {
+ String space = matcher.group(1);
+ String value = matcher.group(2);
+ return (space + value).trim();
+ }
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.INVALID_ARGUMENT,
+ String.format(
+ "Invalid argument for PARTITION: %s", parsedStatement.getStatement().getSql()));
+ }
+}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementPgBeginExecutor.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementPgBeginExecutor.java
index 4b548803c11..c1d00d81b55 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementPgBeginExecutor.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementPgBeginExecutor.java
@@ -18,6 +18,7 @@
import com.google.cloud.spanner.ErrorCode;
import com.google.cloud.spanner.SpannerExceptionFactory;
+import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
import com.google.cloud.spanner.connection.ClientSideStatementImpl.CompileException;
import com.google.cloud.spanner.connection.ClientSideStatementValueConverters.PgTransactionModeConverter;
import java.lang.reflect.Method;
@@ -42,9 +43,10 @@ class ClientSideStatementPgBeginExecutor implements ClientSideStatementExecutor
}
@Override
- public StatementResult execute(ConnectionStatementExecutor connection, String sql)
+ public StatementResult execute(ConnectionStatementExecutor connection, ParsedStatement statement)
throws Exception {
- return (StatementResult) method.invoke(connection, getParameterValue(sql));
+ return (StatementResult)
+ method.invoke(connection, getParameterValue(statement.getSqlWithoutComments()));
}
PgTransactionMode getParameterValue(String sql) {
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementRunPartitionExecutor.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementRunPartitionExecutor.java
new file mode 100644
index 00000000000..1534f04b3a4
--- /dev/null
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementRunPartitionExecutor.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2023 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 com.google.cloud.spanner.ErrorCode;
+import com.google.cloud.spanner.SpannerExceptionFactory;
+import com.google.cloud.spanner.Value;
+import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
+import com.google.cloud.spanner.connection.ClientSideStatementImpl.CompileException;
+import com.google.common.base.Strings;
+import java.lang.reflect.Method;
+import java.util.regex.Matcher;
+
+/** Executor for RUN PARTITION <partition_id>
statements. */
+class ClientSideStatementRunPartitionExecutor implements ClientSideStatementExecutor {
+ private final ClientSideStatementImpl statement;
+ private final Method method;
+
+ ClientSideStatementRunPartitionExecutor(ClientSideStatementImpl statement)
+ throws CompileException {
+ try {
+ this.statement = statement;
+ this.method =
+ ConnectionStatementExecutor.class.getDeclaredMethod(
+ statement.getMethodName(), String.class);
+ } catch (Exception e) {
+ throw new CompileException(e, statement);
+ }
+ }
+
+ @Override
+ public StatementResult execute(
+ ConnectionStatementExecutor connection, ParsedStatement parsedStatement) throws Exception {
+ String partitionId = getParameterValue(parsedStatement);
+ if (partitionId == null) {
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.INVALID_ARGUMENT,
+ "No valid partition id found in statement: " + parsedStatement.getStatement().getSql());
+ }
+ return (StatementResult) method.invoke(connection, partitionId);
+ }
+
+ String getParameterValue(ParsedStatement parsedStatement) {
+ // The statement has the form `RUN PARTITION ['partition-id']`.
+ // The regex that is defined for this statement is (simplified) `run\s+partition(?:\s*'(.*)')?`
+ // This regex has one capturing group, which captures the partition-id inside the single quotes.
+ // That capturing group is however inside a non-capturing optional group.
+ // That means that:
+ // 1. If the matcher matches and returns one or more groups, we know that we have a partition-id
+ // in the SQL statement itself, as that is the only thing that can be in a capturing group.
+ // 2. If the matcher matches and returns zero groups, we know that the statement is valid, but
+ // that it does not contain a partition-id in the SQL statement. The partition-id must then
+ // be included in the statement as a query parameter.
+ Matcher matcher = statement.getPattern().matcher(parsedStatement.getSqlWithoutComments());
+ if (matcher.find() && matcher.groupCount() >= 1) {
+ String value = matcher.group(1);
+ if (!Strings.isNullOrEmpty(value)) {
+ return value;
+ }
+ }
+ if (parsedStatement.getStatement().getParameters().size() == 1) {
+ Value value = parsedStatement.getStatement().getParameters().values().iterator().next();
+ return value.getAsString();
+ }
+ return null;
+ }
+}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementRunPartitionedQueryExecutor.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementRunPartitionedQueryExecutor.java
new file mode 100644
index 00000000000..ba42db1f9d3
--- /dev/null
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementRunPartitionedQueryExecutor.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2023 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 com.google.cloud.spanner.ErrorCode;
+import com.google.cloud.spanner.SpannerExceptionFactory;
+import com.google.cloud.spanner.Statement;
+import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
+import com.google.cloud.spanner.connection.ClientSideStatementImpl.CompileException;
+import java.lang.reflect.Method;
+import java.util.regex.Matcher;
+
+/** Executor for RUN PARTITIONED QUERY <sql>
statements. */
+class ClientSideStatementRunPartitionedQueryExecutor implements ClientSideStatementExecutor {
+ private final ClientSideStatementImpl statement;
+ private final Method method;
+
+ ClientSideStatementRunPartitionedQueryExecutor(ClientSideStatementImpl statement)
+ throws CompileException {
+ try {
+ this.statement = statement;
+ this.method =
+ ConnectionStatementExecutor.class.getDeclaredMethod(
+ statement.getMethodName(), Statement.class);
+ } catch (Exception e) {
+ throw new CompileException(e, statement);
+ }
+ }
+
+ @Override
+ public StatementResult execute(
+ ConnectionStatementExecutor connection, ParsedStatement parsedStatement) throws Exception {
+ String sql = getParameterValue(parsedStatement);
+ return (StatementResult)
+ method.invoke(connection, parsedStatement.getStatement().toBuilder().replace(sql).build());
+ }
+
+ String getParameterValue(ParsedStatement parsedStatement) {
+ Matcher matcher = statement.getPattern().matcher(parsedStatement.getSqlWithoutComments());
+ if (matcher.find() && matcher.groupCount() >= 2) {
+ // Include the spacing group in case the query is enclosed in parentheses like this:
+ // `run partitioned query(select * from foo)`
+ String space = matcher.group(1);
+ String value = matcher.group(2);
+ return (space + value).trim();
+ }
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.INVALID_ARGUMENT,
+ String.format(
+ "Invalid argument for RUN PARTITIONED QUERY: %s",
+ parsedStatement.getStatement().getSql()));
+ }
+}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementSetExecutor.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementSetExecutor.java
index 4f4fe140428..413905116ff 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementSetExecutor.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementSetExecutor.java
@@ -18,6 +18,7 @@
import com.google.cloud.spanner.ErrorCode;
import com.google.cloud.spanner.SpannerExceptionFactory;
+import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
import com.google.cloud.spanner.connection.ClientSideStatementImpl.CompileException;
import com.google.common.base.Preconditions;
import java.lang.reflect.Constructor;
@@ -72,9 +73,10 @@ class ClientSideStatementSetExecutor implements ClientSideStatementExecutor {
}
@Override
- public StatementResult execute(ConnectionStatementExecutor connection, String sql)
+ public StatementResult execute(ConnectionStatementExecutor connection, ParsedStatement statement)
throws Exception {
- return (StatementResult) method.invoke(connection, getParameterValue(sql));
+ return (StatementResult)
+ method.invoke(connection, getParameterValue(statement.getSqlWithoutComments()));
}
T getParameterValue(String sql) {
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 a7752ab6671..a477a664ec6 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
@@ -135,6 +135,31 @@ public Boolean convert(String value) {
}
}
+ /** Converter from string to a non-negative integer. */
+ static class NonNegativeIntegerConverter implements ClientSideStatementValueConverter {
+
+ public NonNegativeIntegerConverter(String allowedValues) {}
+
+ @Override
+ public Class getParameterClass() {
+ return Integer.class;
+ }
+
+ @Override
+ public Integer convert(String value) {
+ try {
+ int res = Integer.parseInt(value);
+ if (res < 0) {
+ // The conventions for these converters is to return null if the value is invalid.
+ return null;
+ }
+ return res;
+ } catch (Exception ignore) {
+ return null;
+ }
+ }
+ }
+
/** Converter from string to {@link Duration}. */
static class DurationConverter implements ClientSideStatementValueConverter {
private final Pattern allowedValues;
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 d4624bfabbb..8a8bd57f1c6 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
@@ -30,6 +30,7 @@
import com.google.cloud.spanner.Options.QueryOption;
import com.google.cloud.spanner.Options.RpcPriority;
import com.google.cloud.spanner.Options.UpdateOption;
+import com.google.cloud.spanner.PartitionOptions;
import com.google.cloud.spanner.ReadContext.QueryAnalyzeMode;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.SpannerBatchUpdateException;
@@ -1031,6 +1032,89 @@ default boolean isDelayTransactionStartUntilFirstWrite() {
*/
ResultSet analyzeQuery(Statement query, QueryAnalyzeMode queryMode);
+ /**
+ * Enable data boost for partitioned queries. See also {@link #partitionQuery(Statement,
+ * PartitionOptions, QueryOption...)}
+ */
+ void setDataBoostEnabled(boolean dataBoostEnabled);
+
+ /**
+ * Returns whether data boost is enabled for partitioned queries. See also {@link
+ * #partitionQuery(Statement, PartitionOptions, QueryOption...)}
+ */
+ boolean isDataBoostEnabled();
+
+ /**
+ * Sets whether this connection should always use partitioned queries when a query is executed on
+ * this connection. Setting this flag to true
and then executing a query that cannot
+ * be partitioned, or executing a query in a read/write transaction, will cause an error. Use this
+ * flag in combination with {@link #setDataBoostEnabled(boolean)} to force all queries on this
+ * connection to use data boost.
+ */
+ void setAutoPartitionMode(boolean autoPartitionMode);
+
+ /** Returns whether this connection will execute all queries as partitioned queries. */
+ boolean isAutoPartitionMode();
+
+ /**
+ * Sets the maximum number of partitions that should be included as a hint to Cloud Spanner when
+ * partitioning a query on this connection. Note that this is only a hint and Cloud Spanner might
+ * choose to ignore the hint.
+ */
+ void setMaxPartitions(int maxPartitions);
+
+ /**
+ * Gets the maximum number of partitions that should be included as a hint to Cloud Spanner when
+ * partitioning a query on this connection. Note that this is only a hint and Cloud Spanner might
+ * choose to ignore the hint.
+ */
+ int getMaxPartitions();
+
+ /**
+ * Partitions the given query, so it can be executed in parallel. This method returns a {@link
+ * ResultSet} with a string-representation of the partitions that were created. These strings can
+ * be used to execute a partition either on this connection or an any other connection (on this
+ * host or an any other host) by calling the method {@link #runPartition(String)}. This method
+ * will automatically enable data boost for the query if {@link #isDataBoostEnabled()} returns
+ * true.
+ */
+ ResultSet partitionQuery(
+ Statement query, PartitionOptions partitionOptions, QueryOption... options);
+
+ /**
+ * Executes the given partition of a query. The encodedPartitionId should be a string that was
+ * returned by {@link #partitionQuery(Statement, PartitionOptions, QueryOption...)}.
+ */
+ ResultSet runPartition(String encodedPartitionId);
+
+ /**
+ * Sets the maximum degree of parallelism that is used when executing a partitioned query using
+ * {@link #runPartitionedQuery(Statement, PartitionOptions, QueryOption...)}. The method will use
+ * up to maxThreads
to execute and retrieve the results from Cloud Spanner. Set this
+ * value to 0
> to use the number of available processors as returned by {@link
+ * Runtime#availableProcessors()}.
+ */
+ void setMaxPartitionedParallelism(int maxThreads);
+
+ /**
+ * Returns the maximum degree of parallelism that is used for {@link
+ * #runPartitionedQuery(Statement, PartitionOptions, QueryOption...)}
+ */
+ int getMaxPartitionedParallelism();
+
+ /**
+ * Executes the given query as a partitioned query. The query will first be partitioned using the
+ * {@link #partitionQuery(Statement, PartitionOptions, QueryOption...)} method. Each of the
+ * partitions will then be executed in the background, and the results will be merged into a
+ * single result set.
+ *
+ * This method will use maxPartitionedParallelism
threads to execute the
+ * partitioned query. Set this variable to a higher/lower value to increase/decrease the degree of
+ * parallelism used for execution.
+ */
+ PartitionedQueryResultSet runPartitionedQuery(
+ Statement query, PartitionOptions partitionOptions, QueryOption... options);
+
/**
* Executes the given statement as a simple DML statement. If the statement does not contain a
* valid DML statement, the method will throw a {@link SpannerException}.
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 b6e29dbdc0e..f2230e59bae 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
@@ -23,6 +23,8 @@
import com.google.api.core.ApiFutures;
import com.google.cloud.Timestamp;
import com.google.cloud.spanner.AsyncResultSet;
+import com.google.cloud.spanner.BatchClient;
+import com.google.cloud.spanner.BatchReadOnlyTransaction;
import com.google.cloud.spanner.CommitResponse;
import com.google.cloud.spanner.DatabaseClient;
import com.google.cloud.spanner.Dialect;
@@ -32,6 +34,7 @@
import com.google.cloud.spanner.Options.QueryOption;
import com.google.cloud.spanner.Options.RpcPriority;
import com.google.cloud.spanner.Options.UpdateOption;
+import com.google.cloud.spanner.PartitionOptions;
import com.google.cloud.spanner.ReadContext.QueryAnalyzeMode;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.ResultSets;
@@ -188,8 +191,9 @@ static UnitOfWorkType of(TransactionMode transactionMode) {
private boolean closed = false;
private final Spanner spanner;
- private DdlClient ddlClient;
- private DatabaseClient dbClient;
+ private final DdlClient ddlClient;
+ private final DatabaseClient dbClient;
+ private final BatchClient batchClient;
private boolean autocommit;
private boolean readOnly;
private boolean returnCommitStats;
@@ -214,6 +218,31 @@ static UnitOfWorkType of(TransactionMode transactionMode) {
private final List transactionRetryListeners = new ArrayList<>();
private AutocommitDmlMode autocommitDmlMode = AutocommitDmlMode.TRANSACTIONAL;
private TimestampBound readOnlyStaleness = TimestampBound.strong();
+ /**
+ * autoPartitionMode will force this connection to execute all queries as partitioned queries. If
+ * a query cannot be executed as a partitioned query, for example if it is not partitionable, then
+ * the query will fail. This mode is intended for integrations with frameworks that should always
+ * use partitioned queries, and that do not support executing custom SQL statements. This setting
+ * can be used in combination with the dataBoostEnabled flag to force all queries to use data
+ * boost.
+ */
+ private boolean autoPartitionMode;
+ /**
+ * dataBoostEnabled=true will cause all partitionedQueries to use data boost. All other queries
+ * and other statements ignore this flag.
+ */
+ private boolean dataBoostEnabled;
+ /**
+ * maxPartitions determines the maximum number of partitions that will be used for partitioned
+ * queries. All other statements ignore this variable.
+ */
+ private int maxPartitions;
+ /**
+ * maxPartitionedParallelism determines the maximum number of threads that will be used to execute
+ * partitions in parallel when executing a partitioned query on this connection.
+ */
+ private int maxPartitionedParallelism;
+
private QueryOptions queryOptions = QueryOptions.getDefaultInstance();
private RpcPriority rpcPriority = null;
private SavepointSupport savepointSupport = SavepointSupport.FAIL_AFTER_ROLLBACK;
@@ -234,6 +263,7 @@ static UnitOfWorkType of(TransactionMode transactionMode) {
EmulatorUtil.maybeCreateInstanceAndDatabase(spanner, options.getDatabaseId());
}
this.dbClient = spanner.getDatabaseClient(options.getDatabaseId());
+ this.batchClient = spanner.getBatchClient(options.getDatabaseId());
this.retryAbortsInternally = options.isRetryAbortsInternally();
this.readOnly = options.isReadOnly();
this.autocommit = options.isAutocommit();
@@ -241,6 +271,10 @@ static UnitOfWorkType of(TransactionMode transactionMode) {
this.rpcPriority = options.getRPCPriority();
this.returnCommitStats = options.isReturnCommitStats();
this.delayTransactionStartUntilFirstWrite = options.isDelayTransactionStartUntilFirstWrite();
+ this.dataBoostEnabled = options.isDataBoostEnabled();
+ this.autoPartitionMode = options.isAutoPartitionMode();
+ this.maxPartitions = options.getMaxPartitions();
+ this.maxPartitionedParallelism = options.getMaxPartitionedParallelism();
this.ddlClient = createDdlClient();
setDefaultTransactionOptions();
}
@@ -251,19 +285,17 @@ static UnitOfWorkType of(TransactionMode transactionMode) {
ConnectionOptions options,
SpannerPool spannerPool,
DdlClient ddlClient,
- DatabaseClient dbClient) {
- Preconditions.checkNotNull(options);
- Preconditions.checkNotNull(spannerPool);
- Preconditions.checkNotNull(ddlClient);
- Preconditions.checkNotNull(dbClient);
+ DatabaseClient dbClient,
+ BatchClient batchClient) {
this.leakedException =
options.isTrackConnectionLeaks() ? new LeakedConnectionException() : null;
this.statementExecutor = new StatementExecutor(Collections.emptyList());
- this.spannerPool = spannerPool;
- this.options = options;
+ this.spannerPool = Preconditions.checkNotNull(spannerPool);
+ this.options = Preconditions.checkNotNull(options);
this.spanner = spannerPool.getSpanner(options, this);
- this.ddlClient = ddlClient;
- this.dbClient = dbClient;
+ this.ddlClient = Preconditions.checkNotNull(ddlClient);
+ this.dbClient = Preconditions.checkNotNull(dbClient);
+ this.batchClient = Preconditions.checkNotNull(batchClient);
setReadOnly(options.isReadOnly());
setAutocommit(options.isAutocommit());
setReturnCommitStats(options.isReturnCommitStats());
@@ -925,7 +957,7 @@ public StatementResult execute(Statement statement) {
case CLIENT_SIDE:
return parsedStatement
.getClientSideStatement()
- .execute(connectionStatementExecutor, parsedStatement.getSqlWithoutComments());
+ .execute(connectionStatementExecutor, parsedStatement);
case QUERY:
return StatementResultImpl.of(
internalExecuteQuery(CallType.SYNC, parsedStatement, AnalyzeMode.NONE));
@@ -957,7 +989,7 @@ public AsyncStatementResult executeAsync(Statement statement) {
return AsyncStatementResultImpl.of(
parsedStatement
.getClientSideStatement()
- .execute(connectionStatementExecutor, parsedStatement.getSqlWithoutComments()),
+ .execute(connectionStatementExecutor, parsedStatement),
spanner.getAsyncExecutorProvider());
case QUERY:
return AsyncStatementResultImpl.of(
@@ -995,6 +1027,112 @@ public ResultSet analyzeQuery(Statement query, QueryAnalyzeMode queryMode) {
return parseAndExecuteQuery(CallType.SYNC, query, AnalyzeMode.of(queryMode));
}
+ @Override
+ public void setDataBoostEnabled(boolean dataBoostEnabled) {
+ this.dataBoostEnabled = dataBoostEnabled;
+ }
+
+ @Override
+ public boolean isDataBoostEnabled() {
+ return this.dataBoostEnabled;
+ }
+
+ @Override
+ public void setAutoPartitionMode(boolean autoPartitionMode) {
+ this.autoPartitionMode = autoPartitionMode;
+ }
+
+ @Override
+ public boolean isAutoPartitionMode() {
+ return this.autoPartitionMode;
+ }
+
+ @Override
+ public void setMaxPartitions(int maxPartitions) {
+ this.maxPartitions = maxPartitions;
+ }
+
+ @Override
+ public int getMaxPartitions() {
+ return this.maxPartitions;
+ }
+
+ @Override
+ public ResultSet partitionQuery(
+ Statement query, PartitionOptions partitionOptions, QueryOption... options) {
+ ParsedStatement parsedStatement = getStatementParser().parse(query, this.queryOptions);
+ if (parsedStatement.getType() != StatementType.QUERY) {
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.INVALID_ARGUMENT,
+ "Only queries can be partitioned. Invalid statement: " + query.getSql());
+ }
+
+ UnitOfWork transaction = getCurrentUnitOfWorkOrStartNewUnitOfWork();
+ return get(
+ transaction.partitionQueryAsync(
+ CallType.SYNC,
+ parsedStatement,
+ getEffectivePartitionOptions(partitionOptions),
+ mergeDataBoost(mergeQueryRequestOptions(mergeQueryStatementTag(options)))));
+ }
+
+ private PartitionOptions getEffectivePartitionOptions(
+ PartitionOptions callSpecificPartitionOptions) {
+ if (maxPartitions == 0) {
+ if (callSpecificPartitionOptions == null) {
+ return PartitionOptions.newBuilder().build();
+ } else {
+ return callSpecificPartitionOptions;
+ }
+ }
+ if (callSpecificPartitionOptions != null
+ && callSpecificPartitionOptions.getMaxPartitions() > 0L) {
+ return callSpecificPartitionOptions;
+ }
+ if (callSpecificPartitionOptions != null
+ && callSpecificPartitionOptions.getPartitionSizeBytes() > 0L) {
+ return PartitionOptions.newBuilder()
+ .setMaxPartitions(maxPartitions)
+ .setPartitionSizeBytes(callSpecificPartitionOptions.getPartitionSizeBytes())
+ .build();
+ }
+ return PartitionOptions.newBuilder().setMaxPartitions(maxPartitions).build();
+ }
+
+ @Override
+ public ResultSet runPartition(String encodedPartitionId) {
+ PartitionId id = PartitionId.decodeFromString(encodedPartitionId);
+ try (BatchReadOnlyTransaction transaction =
+ batchClient.batchReadOnlyTransaction(id.getTransactionId())) {
+ return transaction.execute(id.getPartition());
+ }
+ }
+
+ @Override
+ public void setMaxPartitionedParallelism(int maxThreads) {
+ Preconditions.checkArgument(maxThreads >= 0, "maxThreads must be >=0");
+ this.maxPartitionedParallelism = maxThreads;
+ }
+
+ @Override
+ public int getMaxPartitionedParallelism() {
+ return this.maxPartitionedParallelism;
+ }
+
+ @Override
+ public PartitionedQueryResultSet runPartitionedQuery(
+ Statement query, PartitionOptions partitionOptions, QueryOption... options) {
+ List partitionIds = new ArrayList<>();
+ try (ResultSet partitions = partitionQuery(query, partitionOptions, options)) {
+ while (partitions.next()) {
+ partitionIds.add(partitions.getString(0));
+ }
+ }
+ // parallelism=0 means 'dynamically choose based on the number of available processors and the
+ // number of partitions'.
+ return new MergedResultSet(this, partitionIds, maxPartitionedParallelism);
+ }
+
/**
* Parses the given statement as a query and executes it. Throws a {@link SpannerException} if the
* statement is not a query.
@@ -1010,7 +1148,7 @@ private ResultSet parseAndExecuteQuery(
case CLIENT_SIDE:
return parsedStatement
.getClientSideStatement()
- .execute(connectionStatementExecutor, parsedStatement.getSqlWithoutComments())
+ .execute(connectionStatementExecutor, parsedStatement)
.getResultSet();
case QUERY:
return internalExecuteQuery(callType, parsedStatement, analyzeMode, options);
@@ -1050,7 +1188,7 @@ private AsyncResultSet parseAndExecuteQueryAsync(
return ResultSets.toAsyncResultSet(
parsedStatement
.getClientSideStatement()
- .execute(connectionStatementExecutor, parsedStatement.getSqlWithoutComments())
+ .execute(connectionStatementExecutor, parsedStatement)
.getResultSet(),
spanner.getAsyncExecutorProvider(),
options);
@@ -1234,6 +1372,20 @@ public ApiFuture executeBatchUpdateAsync(Iterable updates) {
return internalExecuteBatchUpdateAsync(CallType.ASYNC, parsedStatements);
}
+ private QueryOption[] mergeDataBoost(QueryOption... options) {
+ if (this.dataBoostEnabled) {
+
+ // Shortcut for the most common scenario.
+ if (options == null || options.length == 0) {
+ options = new QueryOption[] {Options.dataBoostEnabled(true)};
+ } else {
+ options = Arrays.copyOf(options, options.length + 1);
+ options[options.length - 1] = Options.dataBoostEnabled(true);
+ }
+ }
+ return options;
+ }
+
private QueryOption[] mergeQueryStatementTag(QueryOption... options) {
if (this.statementTag != null) {
// Shortcut for the most common scenario.
@@ -1299,6 +1451,10 @@ private ResultSet internalExecuteQuery(
&& (analyzeMode != AnalyzeMode.NONE || statement.hasReturningClause())),
"Statement must either be a query or a DML mode with analyzeMode!=NONE or returning clause");
UnitOfWork transaction = getCurrentUnitOfWorkOrStartNewUnitOfWork();
+ if (autoPartitionMode && statement.getType() == StatementType.QUERY) {
+ return runPartitionedQuery(
+ statement.getStatement(), PartitionOptions.getDefaultInstance(), options);
+ }
return get(
transaction.executeQueryAsync(
callType,
@@ -1316,6 +1472,9 @@ private AsyncResultSet internalExecuteQueryAsync(
(statement.getType() == StatementType.QUERY)
|| (statement.getType() == StatementType.UPDATE && statement.hasReturningClause()),
"Statement must be a query or DML with returning clause.");
+ ConnectionPreconditions.checkState(
+ !(autoPartitionMode && statement.getType() == StatementType.QUERY),
+ "Partitioned queries cannot be executed asynchronously");
UnitOfWork transaction = getCurrentUnitOfWorkOrStartNewUnitOfWork();
return ResultSets.toAsyncResultSet(
transaction.executeQueryAsync(
@@ -1373,6 +1532,7 @@ UnitOfWork createNewUnitOfWork() {
return SingleUseTransaction.newBuilder()
.setDdlClient(ddlClient)
.setDatabaseClient(dbClient)
+ .setBatchClient(batchClient)
.setReadOnly(isReadOnly())
.setReadOnlyStaleness(readOnlyStaleness)
.setAutocommitDmlMode(autocommitDmlMode)
@@ -1385,6 +1545,7 @@ UnitOfWork createNewUnitOfWork() {
case READ_ONLY_TRANSACTION:
return ReadOnlyTransaction.newBuilder()
.setDatabaseClient(dbClient)
+ .setBatchClient(batchClient)
.setReadOnlyStaleness(readOnlyStaleness)
.setStatementTimeout(statementTimeout)
.withStatementExecutor(statementExecutor)
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionOptions.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionOptions.java
index 2f843aeb0c4..e7209eeab91 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionOptions.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionOptions.java
@@ -100,6 +100,11 @@ private static ConnectionProperty createBooleanProperty(
name, description, String.valueOf(defaultValue), BOOLEAN_VALUES);
}
+ private static ConnectionProperty createIntProperty(
+ String name, String description, int defaultValue) {
+ return new ConnectionProperty(name, description, String.valueOf(defaultValue), null);
+ }
+
private static ConnectionProperty createEmptyProperty(String name) {
return new ConnectionProperty(name, "", "", null);
}
@@ -172,9 +177,14 @@ public String[] getValidValues() {
private static final RpcPriority DEFAULT_RPC_PRIORITY = null;
private static final boolean DEFAULT_RETURN_COMMIT_STATS = false;
private static final boolean DEFAULT_LENIENT = false;
+ private static final boolean DEFAULT_ROUTE_TO_LEADER = true;
private static final boolean DEFAULT_DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE = false;
private static final boolean DEFAULT_TRACK_SESSION_LEAKS = true;
private static final boolean DEFAULT_TRACK_CONNECTION_LEAKS = true;
+ private static final boolean DEFAULT_DATA_BOOST_ENABLED = false;
+ private static final boolean DEFAULT_AUTO_PARTITION_MODE = false;
+ private static final int DEFAULT_MAX_PARTITIONS = 0;
+ private static final int DEFAULT_MAX_PARTITIONED_PARALLELISM = 1;
private static final String PLAIN_TEXT_PROTOCOL = "http:";
private static final String HOST_PROTOCOL = "https:";
@@ -186,6 +196,8 @@ public String[] getValidValues() {
public static final String AUTOCOMMIT_PROPERTY_NAME = "autocommit";
/** Name of the 'readonly' connection property. */
public static final String READONLY_PROPERTY_NAME = "readonly";
+ /** Name of the 'routeToLeader' connection property. */
+ public static final String ROUTE_TO_LEADER_PROPERTY_NAME = "routeToLeader";
/** Name of the 'retry aborts internally' connection property. */
public static final String RETRY_ABORTS_INTERNALLY_PROPERTY_NAME = "retryAbortsInternally";
/** Name of the 'credentials' connection property. */
@@ -228,6 +240,13 @@ public String[] getValidValues() {
public static final String TRACK_SESSION_LEAKS_PROPERTY_NAME = "trackSessionLeaks";
/** Name of the 'trackStackTraceOfConnectionCreation' connection property. */
public static final String TRACK_CONNECTION_LEAKS_PROPERTY_NAME = "trackConnectionLeaks";
+
+ public static final String DATA_BOOST_ENABLED_PROPERTY_NAME = "dataBoostEnabled";
+ public static final String AUTO_PARTITION_MODE_PROPERTY_NAME = "autoPartitionMode";
+ public static final String MAX_PARTITIONS_PROPERTY_NAME = "maxPartitions";
+ public static final String MAX_PARTITIONED_PARALLELISM_PROPERTY_NAME =
+ "maxPartitionedParallelism";
+
/** All valid connection properties. */
public static final Set VALID_PROPERTIES =
Collections.unmodifiableSet(
@@ -241,6 +260,10 @@ public String[] getValidValues() {
READONLY_PROPERTY_NAME,
"Should the connection start in read-only mode (true/false)",
DEFAULT_READONLY),
+ ConnectionProperty.createBooleanProperty(
+ ROUTE_TO_LEADER_PROPERTY_NAME,
+ "Should read/write transactions and partitioned DML be routed to leader region (true/false)",
+ DEFAULT_ROUTE_TO_LEADER),
ConnectionProperty.createBooleanProperty(
RETRY_ABORTS_INTERNALLY_PROPERTY_NAME,
"Should the connection automatically retry Aborted errors (true/false)",
@@ -323,7 +346,29 @@ public String[] getValidValues() {
+ "If disabled, the LeakedConnectionException will only be created when an "
+ "actual connection leak is detected. The stack trace of the exception will "
+ "in that case not contain the call stack of when the connection was created.",
- DEFAULT_TRACK_CONNECTION_LEAKS))));
+ DEFAULT_TRACK_CONNECTION_LEAKS),
+ ConnectionProperty.createBooleanProperty(
+ DATA_BOOST_ENABLED_PROPERTY_NAME,
+ "Enable data boost for all partitioned queries that are executed by this connection. "
+ + "This setting is only used for partitioned queries and is ignored by all other statements.",
+ DEFAULT_DATA_BOOST_ENABLED),
+ ConnectionProperty.createBooleanProperty(
+ AUTO_PARTITION_MODE_PROPERTY_NAME,
+ "Execute all queries on this connection as partitioned queries. "
+ + "Executing a query that cannot be partitioned will fail. "
+ + "Executing a query in a read/write transaction will also fail.",
+ DEFAULT_AUTO_PARTITION_MODE),
+ ConnectionProperty.createIntProperty(
+ MAX_PARTITIONS_PROPERTY_NAME,
+ "The max partitions hint value to use for partitioned queries. "
+ + "Use 0 if you do not want to specify a hint.",
+ DEFAULT_MAX_PARTITIONS),
+ ConnectionProperty.createIntProperty(
+ MAX_PARTITIONED_PARALLELISM_PROPERTY_NAME,
+ "The maximum number of partitions that will be executed in parallel "
+ + "for partitioned queries on this connection. Set this value to 0 to "
+ + "dynamically use the number of processors available in the runtime.",
+ DEFAULT_MAX_PARTITIONED_PARALLELISM))));
private static final Set INTERNAL_PROPERTIES =
Collections.unmodifiableSet(
@@ -462,6 +507,8 @@ private boolean isValidUri(String uri) {
* created on the emulator if any of them do not yet exist. Any existing instance or
* database on the emulator will remain untouched. No other configuration is needed in
* order to connect to the emulator than setting this property.
+ * routeToLeader (boolean): Sets the routeToLeader flag to route requests to leader (true)
+ * or any region (false) in read/write transactions and Partitioned DML. Default is true.
*
*
* @param uri The URI of the Spanner database to connect to.
@@ -584,8 +631,14 @@ public static Builder newBuilder() {
private final boolean trackSessionLeaks;
private final boolean trackConnectionLeaks;
+ private final boolean dataBoostEnabled;
+ private final boolean autoPartitionMode;
+ private final int maxPartitions;
+ private final int maxPartitionedParallelism;
+
private final boolean autocommit;
private final boolean readOnly;
+ private final boolean routeToLeader;
private final boolean retryAbortsInternally;
private final List statementExecutionInterceptors;
private final SpannerOptionsConfigurator configurator;
@@ -631,6 +684,11 @@ private ConnectionOptions(Builder builder) {
this.trackSessionLeaks = parseTrackSessionLeaks(this.uri);
this.trackConnectionLeaks = parseTrackConnectionLeaks(this.uri);
+ this.dataBoostEnabled = parseDataBoostEnabled(this.uri);
+ this.autoPartitionMode = parseAutoPartitionMode(this.uri);
+ this.maxPartitions = parseMaxPartitions(this.uri);
+ this.maxPartitionedParallelism = parseMaxPartitionedParallelism(this.uri);
+
this.instanceId = matcher.group(Builder.INSTANCE_GROUP);
this.databaseName = matcher.group(Builder.DATABASE_GROUP);
// Using credentials on a plain text connection is not allowed, so if the user has not specified
@@ -678,6 +736,7 @@ private ConnectionOptions(Builder builder) {
this.autocommit = parseAutocommit(this.uri);
this.readOnly = parseReadOnly(this.uri);
+ this.routeToLeader = parseRouteToLeader(this.uri);
this.retryAbortsInternally = parseRetryAbortsInternally(this.uri);
this.statementExecutionInterceptors =
Collections.unmodifiableList(builder.statementExecutionInterceptors);
@@ -762,6 +821,11 @@ static boolean parseReadOnly(String uri) {
return value != null ? Boolean.parseBoolean(value) : DEFAULT_READONLY;
}
+ static boolean parseRouteToLeader(String uri) {
+ String value = parseUriProperty(uri, ROUTE_TO_LEADER_PROPERTY_NAME);
+ return value != null ? Boolean.parseBoolean(value) : DEFAULT_ROUTE_TO_LEADER;
+ }
+
@VisibleForTesting
static boolean parseRetryAbortsInternally(String uri) {
String value = parseUriProperty(uri, RETRY_ABORTS_INTERNALLY_PROPERTY_NAME);
@@ -901,6 +965,57 @@ static boolean parseTrackConnectionLeaks(String uri) {
return value != null ? Boolean.parseBoolean(value) : DEFAULT_TRACK_CONNECTION_LEAKS;
}
+ @VisibleForTesting
+ static boolean parseDataBoostEnabled(String uri) {
+ String value = parseUriProperty(uri, DATA_BOOST_ENABLED_PROPERTY_NAME);
+ return value != null ? Boolean.parseBoolean(value) : DEFAULT_DATA_BOOST_ENABLED;
+ }
+
+ @VisibleForTesting
+ static boolean parseAutoPartitionMode(String uri) {
+ String value = parseUriProperty(uri, AUTO_PARTITION_MODE_PROPERTY_NAME);
+ return value != null ? Boolean.parseBoolean(value) : DEFAULT_AUTO_PARTITION_MODE;
+ }
+
+ @VisibleForTesting
+ static int parseMaxPartitions(String uri) {
+ String stringValue = parseUriProperty(uri, MAX_PARTITIONS_PROPERTY_NAME);
+ if (stringValue == null) {
+ return DEFAULT_MAX_PARTITIONS;
+ }
+ try {
+ int value = Integer.parseInt(stringValue);
+ if (value < 0) {
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.INVALID_ARGUMENT, "maxPartitions must be >=0");
+ }
+ return value;
+ } catch (NumberFormatException numberFormatException) {
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.INVALID_ARGUMENT, "Invalid value for maxPartitions: " + stringValue);
+ }
+ }
+
+ @VisibleForTesting
+ static int parseMaxPartitionedParallelism(String uri) {
+ String stringValue = parseUriProperty(uri, MAX_PARTITIONED_PARALLELISM_PROPERTY_NAME);
+ if (stringValue == null) {
+ return DEFAULT_MAX_PARTITIONED_PARALLELISM;
+ }
+ try {
+ int value = Integer.parseInt(stringValue);
+ if (value < 0) {
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.INVALID_ARGUMENT, "maxPartitionedParallelism must be >=0");
+ }
+ return value;
+ } catch (NumberFormatException numberFormatException) {
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.INVALID_ARGUMENT,
+ "Invalid value for maxPartitionedParallelism: " + stringValue);
+ }
+ }
+
@VisibleForTesting
static RpcPriority parseRPCPriority(String uri) {
String value = parseUriProperty(uri, RPC_PRIORITY_NAME);
@@ -1089,6 +1204,14 @@ public boolean isReadOnly() {
return readOnly;
}
+ /**
+ * Whether read/write transactions and partitioned DML are preferred to be routed to the leader
+ * region.
+ */
+ public boolean isRouteToLeader() {
+ return routeToLeader;
+ }
+
/**
* The initial retryAbortsInternally value for connections created by this {@link
* ConnectionOptions}
@@ -1153,6 +1276,22 @@ boolean isTrackConnectionLeaks() {
return this.trackConnectionLeaks;
}
+ boolean isDataBoostEnabled() {
+ return this.dataBoostEnabled;
+ }
+
+ boolean isAutoPartitionMode() {
+ return this.autoPartitionMode;
+ }
+
+ int getMaxPartitions() {
+ return this.maxPartitions;
+ }
+
+ int getMaxPartitionedParallelism() {
+ return this.maxPartitionedParallelism;
+ }
+
/** Interceptors that should be executed after each statement */
List getStatementExecutionInterceptors() {
return statementExecutionInterceptors;
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 718025e1652..eb317790976 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
@@ -16,6 +16,7 @@
package com.google.cloud.spanner.connection;
+import com.google.cloud.spanner.Statement;
import com.google.cloud.spanner.TimestampBound;
import com.google.cloud.spanner.connection.PgTransactionMode.IsolationLevel;
import com.google.protobuf.Duration;
@@ -125,4 +126,26 @@ StatementResult statementSetPgSessionCharacteristicsTransactionMode(
StatementResult statementShowTransactionIsolationLevel();
StatementResult statementExplain(String sql);
+
+ StatementResult statementShowDataBoostEnabled();
+
+ StatementResult statementSetDataBoostEnabled(Boolean dataBoostEnabled);
+
+ StatementResult statementShowAutoPartitionMode();
+
+ StatementResult statementSetAutoPartitionMode(Boolean autoPartitionMode);
+
+ StatementResult statementShowMaxPartitions();
+
+ StatementResult statementSetMaxPartitions(Integer maxPartitions);
+
+ StatementResult statementShowMaxPartitionedParallelism();
+
+ StatementResult statementSetMaxPartitionedParallelism(Integer maxPartitionedParallelism);
+
+ StatementResult statementPartition(Statement statement);
+
+ StatementResult statementRunPartition(String partitionId);
+
+ StatementResult statementRunPartitionedQuery(Statement statement);
}
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 4bda03367af..a3b4f92f145 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
@@ -24,8 +24,12 @@
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.RUN_BATCH;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_AUTOCOMMIT;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_AUTOCOMMIT_DML_MODE;
+import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_AUTO_PARTITION_MODE;
+import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_DATA_BOOST_ENABLED;
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_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_READONLY;
@@ -40,9 +44,13 @@
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_TRANSACTION_TAG;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_AUTOCOMMIT;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_AUTOCOMMIT_DML_MODE;
+import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_AUTO_PARTITION_MODE;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_COMMIT_RESPONSE;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_COMMIT_TIMESTAMP;
+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_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_READONLY;
@@ -66,6 +74,7 @@
import com.google.cloud.spanner.Dialect;
import com.google.cloud.spanner.ErrorCode;
import com.google.cloud.spanner.Options.RpcPriority;
+import com.google.cloud.spanner.PartitionOptions;
import com.google.cloud.spanner.ReadContext.QueryAnalyzeMode;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.ResultSets;
@@ -77,6 +86,7 @@
import com.google.cloud.spanner.Type.StructField;
import com.google.cloud.spanner.connection.PgTransactionMode.IsolationLevel;
import com.google.cloud.spanner.connection.ReadOnlyStalenessUtil.DurationValueGetter;
+import com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType;
import com.google.common.base.MoreObjects;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
@@ -493,6 +503,83 @@ public StatementResult statementShowTransactionIsolationLevel() {
return resultSet("transaction_isolation", "serializable", SHOW_TRANSACTION_ISOLATION_LEVEL);
}
+ @Override
+ public StatementResult statementShowDataBoostEnabled() {
+ return resultSet(
+ String.format("%sDATA_BOOST_ENABLED", getNamespace(connection.getDialect())),
+ getConnection().isDataBoostEnabled(),
+ SHOW_DATA_BOOST_ENABLED);
+ }
+
+ @Override
+ public StatementResult statementSetDataBoostEnabled(Boolean dataBoostEnabled) {
+ getConnection().setDataBoostEnabled(Preconditions.checkNotNull(dataBoostEnabled));
+ return noResult(SET_DATA_BOOST_ENABLED);
+ }
+
+ @Override
+ public StatementResult statementShowAutoPartitionMode() {
+ return resultSet(
+ String.format("%sAUTO_PARTITION_MODE", getNamespace(connection.getDialect())),
+ getConnection().isAutoPartitionMode(),
+ SHOW_AUTO_PARTITION_MODE);
+ }
+
+ @Override
+ public StatementResult statementSetAutoPartitionMode(Boolean autoPartitionMode) {
+ getConnection().setAutoPartitionMode(Preconditions.checkNotNull(autoPartitionMode));
+ return noResult(SET_AUTO_PARTITION_MODE);
+ }
+
+ @Override
+ public StatementResult statementShowMaxPartitions() {
+ return resultSet(
+ String.format("%sMAX_PARTITIONS", getNamespace(connection.getDialect())),
+ Long.valueOf(getConnection().getMaxPartitions()),
+ SHOW_MAX_PARTITIONS);
+ }
+
+ @Override
+ public StatementResult statementSetMaxPartitions(Integer maxPartitions) {
+ getConnection().setMaxPartitions(Preconditions.checkNotNull(maxPartitions));
+ return noResult(SET_MAX_PARTITIONS);
+ }
+
+ @Override
+ public StatementResult statementShowMaxPartitionedParallelism() {
+ return resultSet(
+ String.format("%sMAX_PARTITIONED_PARALLELISM", getNamespace(connection.getDialect())),
+ Long.valueOf(getConnection().getMaxPartitionedParallelism()),
+ SHOW_MAX_PARTITIONED_PARALLELISM);
+ }
+
+ @Override
+ public StatementResult statementSetMaxPartitionedParallelism(Integer maxPartitionedParallelism) {
+ getConnection()
+ .setMaxPartitionedParallelism(Preconditions.checkNotNull(maxPartitionedParallelism));
+ return noResult(SET_MAX_PARTITIONED_PARALLELISM);
+ }
+
+ @Override
+ public StatementResult statementPartition(Statement statement) {
+ return StatementResultImpl.of(
+ getConnection().partitionQuery(statement, PartitionOptions.getDefaultInstance()),
+ ClientSideStatementType.PARTITION);
+ }
+
+ @Override
+ public StatementResult statementRunPartition(String partitionId) {
+ return StatementResultImpl.of(
+ getConnection().runPartition(partitionId), ClientSideStatementType.RUN_PARTITION);
+ }
+
+ @Override
+ public StatementResult statementRunPartitionedQuery(Statement statement) {
+ return StatementResultImpl.of(
+ getConnection().runPartitionedQuery(statement, PartitionOptions.getDefaultInstance()),
+ ClientSideStatementType.RUN_PARTITIONED_QUERY);
+ }
+
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/MergedResultSet.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/MergedResultSet.java
new file mode 100644
index 00000000000..1f7d15365fc
--- /dev/null
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/MergedResultSet.java
@@ -0,0 +1,406 @@
+/*
+ * Copyright 2023 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 com.google.common.base.Preconditions.checkState;
+
+import com.google.cloud.spanner.ForwardingStructReader;
+import com.google.cloud.spanner.ResultSet;
+import com.google.cloud.spanner.SpannerException;
+import com.google.cloud.spanner.SpannerExceptionFactory;
+import com.google.cloud.spanner.Struct;
+import com.google.cloud.spanner.Type;
+import com.google.common.base.Preconditions;
+import com.google.common.base.Supplier;
+import com.google.spanner.v1.ResultSetMetadata;
+import com.google.spanner.v1.ResultSetStats;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.LinkedBlockingDeque;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+import javax.annotation.Nonnull;
+
+/**
+ * {@link MergedResultSet} is a {@link ResultSet} implementation that combines the results from
+ * multiple queries. Each query uses its own {@link RowProducer} that feeds rows into the {@link
+ * MergedResultSet}. The order of the records in the {@link MergedResultSet} is not guaranteed.
+ */
+class MergedResultSet extends ForwardingStructReader implements PartitionedQueryResultSet {
+ static class PartitionExecutor implements Runnable {
+ private final Connection connection;
+ private final String partitionId;
+ private final LinkedBlockingDeque queue;
+ private final AtomicBoolean shouldStop = new AtomicBoolean();
+
+ PartitionExecutor(
+ Connection connection,
+ String partitionId,
+ LinkedBlockingDeque queue) {
+ this.connection = Preconditions.checkNotNull(connection);
+ this.partitionId = Preconditions.checkNotNull(partitionId);
+ this.queue = queue;
+ }
+
+ @Override
+ public void run() {
+ try (ResultSet resultSet = connection.runPartition(partitionId)) {
+ boolean first = true;
+ while (resultSet.next()) {
+ Struct row = resultSet.getCurrentRowAsStruct();
+ if (first) {
+ queue.put(
+ PartitionExecutorResult.dataAndMetadata(
+ row, resultSet.getType(), resultSet.getMetadata()));
+ first = false;
+ } else {
+ queue.put(PartitionExecutorResult.data(row));
+ }
+ if (shouldStop.get()) {
+ break;
+ }
+ }
+ if (first) {
+ // Special case: The result set did not return any rows. Push the metadata to the merged
+ // result set.
+ queue.put(
+ PartitionExecutorResult.typeAndMetadata(
+ resultSet.getType(), resultSet.getMetadata()));
+ }
+ } catch (Throwable exception) {
+ putWithoutInterruptPropagation(PartitionExecutorResult.exception(exception));
+ } 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
+ // queue.take(), as we know that we will always receive at least one result from each
+ // worker.
+ putWithoutInterruptPropagation(PartitionExecutorResult.finished());
+ }
+ }
+
+ private void putWithoutInterruptPropagation(PartitionExecutorResult result) {
+ try {
+ queue.put(result);
+ } catch (InterruptedException interruptedException) {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+
+ static class PartitionExecutorResult {
+ private final Struct data;
+ private final Throwable exception;
+ private final Type type;
+ private final ResultSetMetadata metadata;
+
+ static PartitionExecutorResult data(@Nonnull Struct data) {
+ return new PartitionExecutorResult(Preconditions.checkNotNull(data), null, null, null);
+ }
+
+ static PartitionExecutorResult typeAndMetadata(
+ @Nonnull Type type, @Nonnull ResultSetMetadata metadata) {
+ return new PartitionExecutorResult(
+ null, Preconditions.checkNotNull(type), Preconditions.checkNotNull(metadata), null);
+ }
+
+ static PartitionExecutorResult dataAndMetadata(
+ @Nonnull Struct data, @Nonnull Type type, @Nonnull ResultSetMetadata metadata) {
+ return new PartitionExecutorResult(
+ Preconditions.checkNotNull(data),
+ Preconditions.checkNotNull(type),
+ Preconditions.checkNotNull(metadata),
+ null);
+ }
+
+ static PartitionExecutorResult exception(@Nonnull Throwable exception) {
+ return new PartitionExecutorResult(null, null, null, Preconditions.checkNotNull(exception));
+ }
+
+ static PartitionExecutorResult finished() {
+ return new PartitionExecutorResult(null, null, null, null);
+ }
+
+ private PartitionExecutorResult(
+ Struct data, Type type, ResultSetMetadata metadata, Throwable exception) {
+ this.data = data;
+ this.type = type;
+ this.metadata = metadata;
+ this.exception = exception;
+ }
+
+ boolean hasData() {
+ return this.data != null;
+ }
+
+ boolean isFinished() {
+ return this.data == null
+ && this.type == null
+ && this.metadata == null
+ && this.exception == null;
+ }
+ }
+
+ interface RowProducer extends Supplier {
+ boolean nextRow() throws Throwable;
+
+ void close();
+
+ Type getType();
+
+ ResultSetMetadata getMetadata();
+
+ int getNumPartitions();
+
+ int getParallelism();
+ }
+
+ static class EmptyRowProducer implements RowProducer {
+ @Override
+ public Struct get() {
+ return Struct.newBuilder().build();
+ }
+
+ @Override
+ public boolean nextRow() {
+ return false;
+ }
+
+ @Override
+ public Type getType() {
+ return Type.struct();
+ }
+
+ @Override
+ public ResultSetMetadata getMetadata() {
+ return ResultSetMetadata.getDefaultInstance();
+ }
+
+ @Override
+ public int getNumPartitions() {
+ return 0;
+ }
+
+ @Override
+ public int getParallelism() {
+ return 0;
+ }
+
+ @Override
+ public void close() {}
+ }
+
+ private static class RowProducerImpl implements RowProducer {
+ /** The maximum number of rows that we will cache per thread that is fetching rows. */
+ private static final int QUEUE_SIZE_PER_WORKER = 32;
+
+ private final ExecutorService executor;
+ private final int parallelism;
+ private final List partitionExecutors;
+ private final AtomicInteger finishedCounter;
+ private final LinkedBlockingDeque queue;
+ private ResultSetMetadata metadata;
+ private Type type;
+ private Struct currentRow;
+ private Throwable exception;
+
+ RowProducerImpl(Connection connection, List partitions, int maxParallelism) {
+ Preconditions.checkArgument(maxParallelism >= 0, "maxParallelism must be >= 0");
+ Preconditions.checkArgument(
+ !Preconditions.checkNotNull(partitions).isEmpty(), "partitions must not be empty");
+ if (maxParallelism == 0) {
+ // Dynamically determine parallelism.
+ this.parallelism = Math.min(partitions.size(), Runtime.getRuntime().availableProcessors());
+ } else {
+ this.parallelism = Math.min(partitions.size(), maxParallelism);
+ }
+ this.executor =
+ Executors.newFixedThreadPool(
+ this.parallelism,
+ runnable -> {
+ Thread thread = new Thread(runnable);
+ thread.setName("partitioned-query-row-producer");
+ thread.setDaemon(true);
+ return thread;
+ });
+ this.queue = new LinkedBlockingDeque<>(QUEUE_SIZE_PER_WORKER * this.parallelism);
+ this.partitionExecutors = new ArrayList<>(partitions.size());
+ this.finishedCounter = new AtomicInteger(partitions.size());
+ for (String partition : partitions) {
+ PartitionExecutor partitionExecutor =
+ new PartitionExecutor(connection, partition, this.queue);
+ this.partitionExecutors.add(partitionExecutor);
+ this.executor.submit(partitionExecutor);
+ }
+ // Pre-emptively shutdown the executor. This does not terminate any running tasks, but it
+ // stops the executor from accepting any new tasks and guarantees that the executor will
+ // always be shutdown, regardless whether the user calls ResultSet#close().
+ this.executor.shutdown();
+ }
+
+ @Override
+ public void close() {
+ this.partitionExecutors.forEach(partitionExecutor -> partitionExecutor.shouldStop.set(true));
+ // shutdownNow will interrupt any running tasks and then shut down directly.
+ // This will also cancel any queries that might be running.
+ this.executor.shutdownNow();
+ }
+
+ @Override
+ public boolean nextRow() throws Throwable {
+ if (this.exception != null) {
+ throw this.exception;
+ }
+ while (true) {
+ PartitionExecutorResult next;
+ if ((next = queue.peek()) != null && !next.isFinished()) {
+ // There's a valid result available. Return this quickly.
+ if (setNextRow(queue.remove())) {
+ return true;
+ }
+ }
+ // Block until the next row is available.
+ next = queue.take();
+ if (next.isFinished()) {
+ finishedCounter.decrementAndGet();
+ if (finishedCounter.get() == 0) {
+ return false;
+ }
+ } else {
+ if (setNextRow(next)) {
+ return true;
+ }
+ }
+ }
+ }
+
+ boolean setNextRow(PartitionExecutorResult next) throws Throwable {
+ if (next.exception != null) {
+ this.exception = next.exception;
+ throw next.exception;
+ }
+ currentRow = next.data;
+ if (this.metadata == null && next.metadata != null) {
+ this.metadata = next.metadata;
+ }
+ if (this.type == null && next.type != null) {
+ this.type = next.type;
+ }
+ return next.hasData();
+ }
+
+ @Override
+ public Struct get() {
+ checkState(currentRow != null, "next() call required");
+ return currentRow;
+ }
+
+ public ResultSetMetadata getMetadata() {
+ checkState(metadata != null, "next() call required");
+ return metadata;
+ }
+
+ @Override
+ public int getNumPartitions() {
+ return partitionExecutors.size();
+ }
+
+ @Override
+ public int getParallelism() {
+ return parallelism;
+ }
+
+ public Type getType() {
+ checkState(type != null, "next() call required");
+ return type;
+ }
+ }
+
+ private final RowProducer rowProducer;
+
+ private boolean closed;
+
+ MergedResultSet(Connection connection, List partitions, int maxParallelism) {
+ this(
+ Preconditions.checkNotNull(partitions).isEmpty()
+ ? new EmptyRowProducer()
+ : new RowProducerImpl(connection, partitions, maxParallelism));
+ }
+
+ private MergedResultSet(RowProducer rowProducer) {
+ super(rowProducer);
+ this.rowProducer = rowProducer;
+ }
+
+ @Override
+ protected void checkValidState() {
+ Preconditions.checkState(!closed, "This result set has been closed");
+ }
+
+ @Override
+ public boolean next() throws SpannerException {
+ checkValidState();
+ try {
+ return rowProducer.nextRow();
+ } catch (InterruptedException interruptedException) {
+ throw SpannerExceptionFactory.propagateInterrupt(interruptedException);
+ } catch (Throwable throwable) {
+ throw SpannerExceptionFactory.asSpannerException(throwable);
+ }
+ }
+
+ @Override
+ public Struct getCurrentRowAsStruct() {
+ checkValidState();
+ return rowProducer.get();
+ }
+
+ @Override
+ public void close() {
+ this.closed = true;
+ rowProducer.close();
+ }
+
+ @Override
+ public ResultSetStats getStats() {
+ throw new UnsupportedOperationException(
+ "ResultSetStats are available only for results returned from analyzeQuery() calls");
+ }
+
+ @Override
+ public ResultSetMetadata getMetadata() {
+ checkValidState();
+ return rowProducer.getMetadata();
+ }
+
+ @Override
+ public Type getType() {
+ checkValidState();
+ return rowProducer.getType();
+ }
+
+ @Override
+ public int getNumPartitions() {
+ return rowProducer.getNumPartitions();
+ }
+
+ @Override
+ public int getParallelism() {
+ return rowProducer.getParallelism();
+ }
+}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/PartitionId.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/PartitionId.java
new file mode 100644
index 00000000000..005c620ddaa
--- /dev/null
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/PartitionId.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2023 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 com.google.cloud.spanner.BatchTransactionId;
+import com.google.cloud.spanner.Partition;
+import com.google.cloud.spanner.SpannerExceptionFactory;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.util.Base64;
+import java.util.Objects;
+import java.util.zip.GZIPInputStream;
+import java.util.zip.GZIPOutputStream;
+
+/**
+ * Contains a reference to a {@link BatchTransactionId} and a {@link Partition}. The combination of
+ * these two are needed to execute a partition of a partitioned query on a {@link Connection}. A
+ * {@link PartitionId} can safely be given to a different connection and/or host to be executed
+ * there.
+ */
+public class PartitionId implements Serializable {
+ private static final long serialVersionUID = 239487275L;
+
+ private final BatchTransactionId transactionId;
+ private final Partition partition;
+
+ /**
+ * Deserializes a string representation of a {@link PartitionId}. The string must have been
+ * created with the {@link #encodeToString(BatchTransactionId, Partition)} method.
+ */
+ public static PartitionId decodeFromString(String id) {
+ try (ObjectInputStream objectInputStream =
+ new ObjectInputStream(
+ new GZIPInputStream(new ByteArrayInputStream(Base64.getUrlDecoder().decode(id))))) {
+ return (PartitionId) objectInputStream.readObject();
+ } catch (Exception exception) {
+ throw SpannerExceptionFactory.newSpannerException(exception);
+ }
+ }
+
+ /**
+ * @return A string-encoded version of this {@link PartitionId}. This encoded version can be sent
+ * to any other {@link Connection} to be executed there, including connections on different
+ * hosts than the current host.
+ */
+ public static String encodeToString(BatchTransactionId transactionId, Partition partition) {
+ PartitionId id = new PartitionId(transactionId, partition);
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ try (ObjectOutputStream objectOutputStream =
+ new ObjectOutputStream(new GZIPOutputStream(byteArrayOutputStream))) {
+ objectOutputStream.writeObject(id);
+ } catch (Exception exception) {
+ throw SpannerExceptionFactory.newSpannerException(exception);
+ }
+ return Base64.getUrlEncoder().encodeToString(byteArrayOutputStream.toByteArray());
+ }
+
+ private PartitionId(BatchTransactionId transactionId, Partition partition) {
+ this.transactionId = transactionId;
+ this.partition = partition;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof PartitionId)) {
+ return false;
+ }
+ PartitionId other = (PartitionId) o;
+ return Objects.equals(this.transactionId, other.transactionId)
+ && Objects.equals(this.partition, other.partition);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(this.transactionId, this.partition);
+ }
+
+ public BatchTransactionId getTransactionId() {
+ return transactionId;
+ }
+
+ public Partition getPartition() {
+ return partition;
+ }
+}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/PartitionedQueryResultSet.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/PartitionedQueryResultSet.java
new file mode 100644
index 00000000000..efcecee271c
--- /dev/null
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/PartitionedQueryResultSet.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2023 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 com.google.cloud.spanner.ResultSet;
+
+/** Result set that is returned for partitioned queries. */
+public interface PartitionedQueryResultSet extends ResultSet {
+
+ /** Returns the number of partitions that this result set contains. */
+ int getNumPartitions();
+
+ /** Returns the degree of parallelism that this result set uses. */
+ int getParallelism();
+}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadOnlyTransaction.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadOnlyTransaction.java
index 38db610758a..5a005ff8052 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadOnlyTransaction.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadOnlyTransaction.java
@@ -19,11 +19,15 @@
import com.google.api.core.ApiFuture;
import com.google.api.core.ApiFutures;
import com.google.cloud.Timestamp;
+import com.google.cloud.spanner.BatchClient;
+import com.google.cloud.spanner.BatchReadOnlyTransaction;
import com.google.cloud.spanner.CommitResponse;
import com.google.cloud.spanner.DatabaseClient;
import com.google.cloud.spanner.ErrorCode;
import com.google.cloud.spanner.Mutation;
+import com.google.cloud.spanner.Options.QueryOption;
import com.google.cloud.spanner.Options.UpdateOption;
+import com.google.cloud.spanner.PartitionOptions;
import com.google.cloud.spanner.ReadContext;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.SpannerException;
@@ -32,6 +36,9 @@
import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableList;
+import com.google.spanner.v1.SpannerGrpc;
+import java.util.concurrent.Callable;
/**
* Transaction that is used when a {@link Connection} is in read-only mode or when the transaction
@@ -39,12 +46,15 @@
*/
class ReadOnlyTransaction extends AbstractMultiUseTransaction {
private final DatabaseClient dbClient;
+ private final BatchClient batchClient;
private final TimestampBound readOnlyStaleness;
private com.google.cloud.spanner.ReadOnlyTransaction transaction;
+ private BatchReadOnlyTransaction batchReadOnlyTransaction;
private UnitOfWorkState state = UnitOfWorkState.STARTED;
static class Builder extends AbstractBaseUnitOfWork.Builder {
private DatabaseClient dbClient;
+ private BatchClient batchClient;
private TimestampBound readOnlyStaleness;
private Builder() {}
@@ -55,6 +65,11 @@ Builder setDatabaseClient(DatabaseClient client) {
return this;
}
+ Builder setBatchClient(BatchClient batchClient) {
+ this.batchClient = Preconditions.checkNotNull(batchClient);
+ return this;
+ }
+
Builder setReadOnlyStaleness(TimestampBound staleness) {
Preconditions.checkNotNull(staleness);
this.readOnlyStaleness = staleness;
@@ -64,6 +79,7 @@ Builder setReadOnlyStaleness(TimestampBound staleness) {
@Override
ReadOnlyTransaction build() {
Preconditions.checkState(dbClient != null, "No DatabaseClient client specified");
+ Preconditions.checkState(batchClient != null, "No BatchClient client specified");
Preconditions.checkState(readOnlyStaleness != null, "No ReadOnlyStaleness specified");
return new ReadOnlyTransaction(this);
}
@@ -77,6 +93,7 @@ static Builder newBuilder() {
ReadOnlyTransaction(Builder builder) {
super(builder);
this.dbClient = builder.dbClient;
+ this.batchClient = builder.batchClient;
this.readOnlyStaleness = builder.readOnlyStaleness;
}
@@ -153,6 +170,34 @@ public CommitResponse getCommitResponseOrNull() {
return null;
}
+ @Override
+ public ApiFuture partitionQueryAsync(
+ CallType callType,
+ ParsedStatement query,
+ PartitionOptions partitionOptions,
+ QueryOption... options) {
+ // Batch-read-only transactions are safe to use for both normal queries and partitioned queries.
+ // We therefore just use the batch transaction as the 'normal' transaction if the first
+ // statement in the transaction is to partition a query.
+ // Using a batch-read-only transaction for every read-only transaction is not efficient, as
+ // these transactions use a session that is created synchronously only for this transaction.
+ if (transaction == null) {
+ batchReadOnlyTransaction = batchClient.batchReadOnlyTransaction(readOnlyStaleness);
+ transaction = batchReadOnlyTransaction;
+ } else if (batchReadOnlyTransaction == null) {
+ batchReadOnlyTransaction =
+ batchClient.batchReadOnlyTransaction(
+ TimestampBound.ofReadTimestamp(transaction.getReadTimestamp()));
+ }
+ Callable callable =
+ () -> partitionQuery(batchReadOnlyTransaction, partitionOptions, query, options);
+ return executeStatementAsync(
+ callType,
+ query,
+ callable,
+ ImmutableList.of(SpannerGrpc.getExecuteSqlMethod(), SpannerGrpc.getCommitMethod()));
+ }
+
@Override
public ApiFuture executeDdlAsync(CallType callType, ParsedStatement ddl) {
throw SpannerExceptionFactory.newSpannerException(
@@ -190,20 +235,25 @@ public ApiFuture writeAsync(CallType callType, Iterable mutation
@Override
public ApiFuture commitAsync(CallType callType) {
- if (this.transaction != null) {
- this.transaction.close();
- }
+ closeTransactions();
this.state = UnitOfWorkState.COMMITTED;
return ApiFutures.immediateFuture(null);
}
@Override
public ApiFuture rollbackAsync(CallType callType) {
+ closeTransactions();
+ this.state = UnitOfWorkState.ROLLED_BACK;
+ return ApiFutures.immediateFuture(null);
+ }
+
+ private void closeTransactions() {
if (this.transaction != null) {
this.transaction.close();
}
- this.state = UnitOfWorkState.ROLLED_BACK;
- return ApiFutures.immediateFuture(null);
+ if (this.batchReadOnlyTransaction != null) {
+ this.batchReadOnlyTransaction.close();
+ }
}
@Override
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 0e3dfe02efb..ea2159b00a7 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
@@ -25,6 +25,8 @@
import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.Timestamp;
import com.google.cloud.Tuple;
+import com.google.cloud.spanner.BatchClient;
+import com.google.cloud.spanner.BatchReadOnlyTransaction;
import com.google.cloud.spanner.CommitResponse;
import com.google.cloud.spanner.DatabaseClient;
import com.google.cloud.spanner.ErrorCode;
@@ -32,6 +34,7 @@
import com.google.cloud.spanner.Options;
import com.google.cloud.spanner.Options.QueryOption;
import com.google.cloud.spanner.Options.UpdateOption;
+import com.google.cloud.spanner.PartitionOptions;
import com.google.cloud.spanner.ReadOnlyTransaction;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.SpannerApiFutures;
@@ -40,6 +43,7 @@
import com.google.cloud.spanner.SpannerExceptionFactory;
import com.google.cloud.spanner.TimestampBound;
import com.google.cloud.spanner.TransactionRunner;
+import com.google.cloud.spanner.Type;
import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
import com.google.cloud.spanner.connection.AbstractStatementParser.StatementType;
import com.google.common.base.Preconditions;
@@ -70,6 +74,7 @@ class SingleUseTransaction extends AbstractBaseUnitOfWork {
private final boolean readOnly;
private final DdlClient ddlClient;
private final DatabaseClient dbClient;
+ private final BatchClient batchClient;
private final TimestampBound readOnlyStaleness;
private final AutocommitDmlMode autocommitDmlMode;
private final boolean returnCommitStats;
@@ -81,6 +86,7 @@ class SingleUseTransaction extends AbstractBaseUnitOfWork {
static class Builder extends AbstractBaseUnitOfWork.Builder {
private DdlClient ddlClient;
private DatabaseClient dbClient;
+ private BatchClient batchClient;
private boolean readOnly;
private TimestampBound readOnlyStaleness;
private AutocommitDmlMode autocommitDmlMode;
@@ -100,6 +106,11 @@ Builder setDatabaseClient(DatabaseClient client) {
return this;
}
+ Builder setBatchClient(BatchClient batchClient) {
+ this.batchClient = Preconditions.checkNotNull(batchClient);
+ return this;
+ }
+
Builder setReadOnly(boolean readOnly) {
this.readOnly = readOnly;
return this;
@@ -126,6 +137,7 @@ Builder setReturnCommitStats(boolean returnCommitStats) {
SingleUseTransaction build() {
Preconditions.checkState(ddlClient != null, "No DDL client specified");
Preconditions.checkState(dbClient != null, "No DatabaseClient client specified");
+ Preconditions.checkState(batchClient != null, "No BatchClient client specified");
Preconditions.checkState(readOnlyStaleness != null, "No read-only staleness specified");
Preconditions.checkState(autocommitDmlMode != null, "No autocommit dml mode specified");
return new SingleUseTransaction(this);
@@ -140,6 +152,7 @@ private SingleUseTransaction(Builder builder) {
super(builder);
this.ddlClient = builder.ddlClient;
this.dbClient = builder.dbClient;
+ this.batchClient = builder.batchClient;
this.readOnly = builder.readOnly;
this.readOnlyStaleness = builder.readOnlyStaleness;
this.autocommitDmlMode = builder.autocommitDmlMode;
@@ -250,6 +263,34 @@ private ApiFuture executeDmlReturningAsync(
ImmutableList.of(SpannerGrpc.getExecuteSqlMethod(), SpannerGrpc.getCommitMethod()));
}
+ @Override
+ public ApiFuture partitionQueryAsync(
+ CallType callType,
+ ParsedStatement query,
+ PartitionOptions partitionOptions,
+ QueryOption... options) {
+ Callable callable =
+ () -> {
+ try (BatchReadOnlyTransaction transaction =
+ batchClient.batchReadOnlyTransaction(readOnlyStaleness)) {
+ ResultSet resultSet = partitionQuery(transaction, partitionOptions, query, options);
+ readTimestamp.set(transaction.getReadTimestamp());
+ state = UnitOfWorkState.COMMITTED;
+ return resultSet;
+ } catch (Throwable throwable) {
+ state = UnitOfWorkState.COMMIT_FAILED;
+ readTimestamp.set(null);
+ throw throwable;
+ }
+ };
+ readTimestamp = SettableApiFuture.create();
+ return executeStatementAsync(
+ callType,
+ query,
+ callable,
+ ImmutableList.of(SpannerGrpc.getExecuteSqlMethod(), SpannerGrpc.getCommitMethod()));
+ }
+
@Override
public Timestamp getReadTimestamp() {
ConnectionPreconditions.checkState(
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/SpannerPool.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/SpannerPool.java
index 6a57779020e..df7190f11a1 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/SpannerPool.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/SpannerPool.java
@@ -154,6 +154,7 @@ static class SpannerPoolKey {
private final boolean usePlainText;
private final String userAgent;
private final String databaseRole;
+ private final boolean routeToLeader;
@VisibleForTesting
static SpannerPoolKey of(ConnectionOptions options) {
@@ -179,6 +180,7 @@ private SpannerPoolKey(ConnectionOptions options) throws IOException {
this.numChannels = options.getNumChannels();
this.usePlainText = options.isUsePlainText();
this.userAgent = options.getUserAgent();
+ this.routeToLeader = options.isRouteToLeader();
}
@Override
@@ -194,7 +196,8 @@ public boolean equals(Object o) {
&& Objects.equals(this.numChannels, other.numChannels)
&& Objects.equals(this.databaseRole, other.databaseRole)
&& Objects.equals(this.usePlainText, other.usePlainText)
- && Objects.equals(this.userAgent, other.userAgent);
+ && Objects.equals(this.userAgent, other.userAgent)
+ && Objects.equals(this.routeToLeader, other.routeToLeader);
}
@Override
@@ -207,7 +210,8 @@ public int hashCode() {
this.numChannels,
this.usePlainText,
this.databaseRole,
- this.userAgent);
+ this.userAgent,
+ this.routeToLeader);
}
}
@@ -342,6 +346,9 @@ Spanner createSpanner(SpannerPoolKey key, ConnectionOptions options) {
if (options.getChannelProvider() != null) {
builder.setChannelProvider(options.getChannelProvider());
}
+ if (!options.isRouteToLeader()) {
+ builder.disableLeaderAwareRouting();
+ }
if (key.usePlainText) {
// Credentials may not be sent over a plain text channel.
builder.setCredentials(NoCredentials.getInstance());
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 f4e9237e090..1452d906a96 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
@@ -89,7 +89,18 @@ enum ClientSideStatementType {
SHOW_TRANSACTION_ISOLATION_LEVEL,
SHOW_SAVEPOINT_SUPPORT,
SET_SAVEPOINT_SUPPORT,
- EXPLAIN
+ SHOW_DATA_BOOST_ENABLED,
+ SET_DATA_BOOST_ENABLED,
+ SHOW_AUTO_PARTITION_MODE,
+ SET_AUTO_PARTITION_MODE,
+ SHOW_MAX_PARTITIONS,
+ SET_MAX_PARTITIONS,
+ SHOW_MAX_PARTITIONED_PARALLELISM,
+ SET_MAX_PARTITIONED_PARALLELISM,
+ EXPLAIN,
+ PARTITION,
+ RUN_PARTITION,
+ RUN_PARTITIONED_QUERY,
}
/**
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 b44bd5c5f33..ea315e94c0e 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
@@ -24,6 +24,7 @@
import com.google.cloud.spanner.Mutation;
import com.google.cloud.spanner.Options.QueryOption;
import com.google.cloud.spanner.Options.UpdateOption;
+import com.google.cloud.spanner.PartitionOptions;
import com.google.cloud.spanner.ReadContext;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.SpannerException;
@@ -149,6 +150,12 @@ ApiFuture executeQueryAsync(
AnalyzeMode analyzeMode,
QueryOption... options);
+ ApiFuture partitionQueryAsync(
+ CallType callType,
+ ParsedStatement query,
+ PartitionOptions partitionOptions,
+ QueryOption... options);
+
/**
* @return the read timestamp of this transaction. Will throw a {@link SpannerException} if there
* is no read timestamp.
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/nativeimage/SpannerFeature.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/nativeimage/SpannerFeature.java
index 666b75bb245..3a1e042b3d0 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/nativeimage/SpannerFeature.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/nativeimage/SpannerFeature.java
@@ -43,6 +43,12 @@ final class SpannerFeature implements Feature {
"com.google.cloud.spanner.connection.ClientSideStatementPgBeginExecutor";
private static final String CLIENT_SIDE_STATEMENT_EXPLAIN_EXECUTOR =
"com.google.cloud.spanner.connection.ClientSideStatementExplainExecutor";
+ private static final String CLIENT_SIDE_STATEMENT_PARTITION_EXECUTOR =
+ "com.google.cloud.spanner.connection.ClientSideStatementPartitionExecutor";
+ private static final String CLIENT_SIDE_STATEMENT_RUN_PARTITION_EXECUTOR =
+ "com.google.cloud.spanner.connection.ClientSideStatementRunPartitionExecutor";
+ private static final String CLIENT_SIDE_STATEMENT_RUN_PARTITIONED_QUERY_EXECUTOR =
+ "com.google.cloud.spanner.connection.ClientSideStatementRunPartitionedQueryExecutor";
private static final String ABSTRACT_STATEMENT_PARSER =
"com.google.cloud.spanner.connection.AbstractStatementParser";
private static final String STATEMENT_PARSER =
@@ -70,6 +76,17 @@ public void beforeAnalysis(BeforeAnalysisAccess access) {
if (access.findClassByName(CLIENT_SIDE_STATEMENT_SET_EXECUTOR) != null) {
NativeImageUtils.registerClassForReflection(access, CLIENT_SIDE_STATEMENT_SET_EXECUTOR);
}
+ if (access.findClassByName(CLIENT_SIDE_STATEMENT_PARTITION_EXECUTOR) != null) {
+ NativeImageUtils.registerClassForReflection(access, CLIENT_SIDE_STATEMENT_PARTITION_EXECUTOR);
+ }
+ if (access.findClassByName(CLIENT_SIDE_STATEMENT_RUN_PARTITION_EXECUTOR) != null) {
+ NativeImageUtils.registerClassForReflection(
+ access, CLIENT_SIDE_STATEMENT_RUN_PARTITION_EXECUTOR);
+ }
+ if (access.findClassByName(CLIENT_SIDE_STATEMENT_RUN_PARTITIONED_QUERY_EXECUTOR) != null) {
+ NativeImageUtils.registerClassForReflection(
+ access, CLIENT_SIDE_STATEMENT_RUN_PARTITIONED_QUERY_EXECUTOR);
+ }
if (access.findClassByName(CLIENT_SIDE_VALUE_CONVERTER) != null) {
NativeImageUtils.registerClassHierarchyForReflection(access, CLIENT_SIDE_VALUE_CONVERTER);
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java
index 53954097822..1afea7676db 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GapicSpannerRpc.java
@@ -1596,20 +1596,7 @@ public StreamingCall read(
options, request.getSession(), request, SpannerGrpc.getReadMethod(), routeToLeader);
SpannerResponseObserver responseObserver = new SpannerResponseObserver(consumer);
spannerStub.streamingReadCallable().call(request, responseObserver, context);
- final StreamController controller = responseObserver.getController();
- return new StreamingCall() {
- @Override
- public void request(int numMessage) {
- controller.request(numMessage);
- }
-
- // TODO(hzyi): streamController currently does not support cancel with message. Add
- // this in gax and update this method later
- @Override
- public void cancel(String message) {
- controller.cancel();
- }
- };
+ return new GrpcStreamingCall(context, responseObserver.getController());
}
@Override
@@ -1673,22 +1660,10 @@ public StreamingCall executeQuery(
request,
SpannerGrpc.getExecuteStreamingSqlMethod(),
routeToLeader);
+
SpannerResponseObserver responseObserver = new SpannerResponseObserver(consumer);
spannerStub.executeStreamingSqlCallable().call(request, responseObserver, context);
- final StreamController controller = responseObserver.getController();
- return new StreamingCall() {
- @Override
- public void request(int numMessage) {
- controller.request(numMessage);
- }
-
- // TODO(hzyi): streamController currently does not support cancel with message. Add
- // this in gax and update this method later
- @Override
- public void cancel(String message) {
- controller.cancel();
- }
- };
+ return new GrpcStreamingCall(context, responseObserver.getController());
}
@Override
@@ -1957,6 +1932,31 @@ public boolean isClosed() {
return rpcIsClosed;
}
+ private static final class GrpcStreamingCall implements StreamingCall {
+ private final ApiCallContext callContext;
+ private final StreamController controller;
+
+ GrpcStreamingCall(ApiCallContext callContext, StreamController controller) {
+ this.callContext = callContext;
+ this.controller = controller;
+ }
+
+ @Override
+ public ApiCallContext getCallContext() {
+ return callContext;
+ }
+
+ @Override
+ public void request(int numMessages) {
+ controller.request(numMessages);
+ }
+
+ @Override
+ public void cancel(@Nullable String message) {
+ controller.cancel();
+ }
+ }
+
/**
* A {@code ResponseObserver} that exposes the {@code StreamController} and delegates callbacks to
* the {@link ResultStreamConsumer}.
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/SpannerRpc.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/SpannerRpc.java
index 27adf89a235..62c34a58a1a 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/SpannerRpc.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/SpannerRpc.java
@@ -20,6 +20,7 @@
import com.google.api.core.InternalApi;
import com.google.api.gax.longrunning.OperationFuture;
import com.google.api.gax.retrying.RetrySettings;
+import com.google.api.gax.rpc.ApiCallContext;
import com.google.api.gax.rpc.ServerStream;
import com.google.cloud.ServiceRpc;
import com.google.cloud.spanner.BackupId;
@@ -150,6 +151,9 @@ interface ResultStreamConsumer {
/** Handle for cancellation of a streaming read or query call. */
interface StreamingCall {
+ /** Returns the {@link ApiCallContext} that is used for this streaming call. */
+ ApiCallContext getCallContext();
+
/**
* Requests more messages from the stream. We disable the auto flow control mechanism in grpc,
* so we need to request messages ourself. This gives us more control over how much buffer we
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 0f58ee951af..579952660c3 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
@@ -158,6 +158,33 @@
"method": "statementShowDelayTransactionStartUntilFirstWrite",
"exampleStatements": ["show variable delay_transaction_start_until_first_write"]
},
+ {
+ "name": "PARTITION ",
+ "executorName": "ClientSideStatementPartitionExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "PARTITION",
+ "regex": "(?is)\\A\\s*partition(\\s+|\\()(.*)\\z",
+ "method": "statementPartition",
+ "exampleStatements": ["partition select col1, col2 from my_table"]
+ },
+ {
+ "name": "RUN PARTITION ['']",
+ "executorName": "ClientSideStatementRunPartitionExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "RUN_PARTITION",
+ "regex": "(?is)\\A\\s*run\\s+partition(?:\\s*'(.*)')?\\s*\\z",
+ "method": "statementRunPartition",
+ "exampleStatements": ["run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='"]
+ },
+ {
+ "name": "RUN PARTITIONED QUERY ",
+ "executorName": "ClientSideStatementRunPartitionedQueryExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "RUN_PARTITIONED_QUERY",
+ "regex": "(?is)\\A\\s*run\\s+partitioned\\s+query(\\s+|\\()(.*)\\z",
+ "method": "statementRunPartitionedQuery",
+ "exampleStatements": ["run partitioned query select col1, col2 from my_table"]
+ },
{
"name": "BEGIN TRANSACTION",
"executorName": "ClientSideStatementNoParamExecutor",
@@ -474,6 +501,102 @@
"allowedValues": "(TRUE|FALSE)",
"converterName": "ClientSideStatementValueConverters$BooleanConverter"
}
+ },
+ {
+ "name": "SHOW VARIABLE DATA_BOOST_ENABLED",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "SHOW_DATA_BOOST_ENABLED",
+ "regex": "(?is)\\A\\s*show\\s+variable\\s+data_boost_enabled\\s*\\z",
+ "method": "statementShowDataBoostEnabled",
+ "exampleStatements": ["show variable data_boost_enabled"]
+ },
+ {
+ "name": "SET DATA_BOOST_ENABLED = TRUE|FALSE",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_DATA_BOOST_ENABLED",
+ "regex": "(?is)\\A\\s*set\\s+data_boost_enabled\\s*(?:=)\\s*(.*)\\z",
+ "method": "statementSetDataBoostEnabled",
+ "exampleStatements": ["set data_boost_enabled = true", "set data_boost_enabled = false"],
+ "setStatement": {
+ "propertyName": "DATA_BOOST_ENABLED",
+ "separator": "=",
+ "allowedValues": "(TRUE|FALSE)",
+ "converterName": "ClientSideStatementValueConverters$BooleanConverter"
+ }
+ },
+ {
+ "name": "SHOW VARIABLE AUTO_PARTITION_MODE",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "SHOW_AUTO_PARTITION_MODE",
+ "regex": "(?is)\\A\\s*show\\s+variable\\s+auto_partition_mode\\s*\\z",
+ "method": "statementShowAutoPartitionMode",
+ "exampleStatements": ["show variable auto_partition_mode"]
+ },
+ {
+ "name": "SET AUTO_PARTITION_MODE = TRUE|FALSE",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_AUTO_PARTITION_MODE",
+ "regex": "(?is)\\A\\s*set\\s+auto_partition_mode\\s*(?:=)\\s*(.*)\\z",
+ "method": "statementSetAutoPartitionMode",
+ "exampleStatements": ["set auto_partition_mode = true", "set auto_partition_mode = false"],
+ "setStatement": {
+ "propertyName": "AUTO_PARTITION_MODE",
+ "separator": "=",
+ "allowedValues": "(TRUE|FALSE)",
+ "converterName": "ClientSideStatementValueConverters$BooleanConverter"
+ }
+ },
+ {
+ "name": "SHOW VARIABLE MAX_PARTITIONS",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "SHOW_MAX_PARTITIONS",
+ "regex": "(?is)\\A\\s*show\\s+variable\\s+max_partitions\\s*\\z",
+ "method": "statementShowMaxPartitions",
+ "exampleStatements": ["show variable max_partitions"]
+ },
+ {
+ "name": "SET MAX_PARTITIONS = ",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_MAX_PARTITIONS",
+ "regex": "(?is)\\A\\s*set\\s+max_partitions\\s*(?:=)\\s*(.*)\\z",
+ "method": "statementSetMaxPartitions",
+ "exampleStatements": ["set max_partitions = 0", "set max_partitions = 10"],
+ "setStatement": {
+ "propertyName": "MAX_PARTITIONS",
+ "separator": "=",
+ "allowedValues": "(\\d{1,9})",
+ "converterName": "ClientSideStatementValueConverters$NonNegativeIntegerConverter"
+ }
+ },
+ {
+ "name": "SHOW VARIABLE MAX_PARTITIONED_PARALLELISM",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "SHOW_MAX_PARTITIONED_PARALLELISM",
+ "regex": "(?is)\\A\\s*show\\s+variable\\s+max_partitioned_parallelism\\s*\\z",
+ "method": "statementShowMaxPartitionedParallelism",
+ "exampleStatements": ["show variable max_partitioned_parallelism"]
+ },
+ {
+ "name": "SET MAX_PARTITIONED_PARALLELISM = ",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_MAX_PARTITIONED_PARALLELISM",
+ "regex": "(?is)\\A\\s*set\\s+max_partitioned_parallelism\\s*(?:=)\\s*(.*)\\z",
+ "method": "statementSetMaxPartitionedParallelism",
+ "exampleStatements": ["set max_partitioned_parallelism = 0", "set max_partitioned_parallelism = 10"],
+ "setStatement": {
+ "propertyName": "MAX_PARTITIONED_PARALLELISM",
+ "separator": "=",
+ "allowedValues": "(\\d{1,9})",
+ "converterName": "ClientSideStatementValueConverters$NonNegativeIntegerConverter"
+ }
}
]
}
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 01f55f846e8..cb601d7277c 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
@@ -176,6 +176,33 @@
"method": "statementExplain",
"exampleStatements": []
},
+ {
+ "name": "PARTITION ",
+ "executorName": "ClientSideStatementPartitionExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "PARTITION",
+ "regex": "(?is)\\A\\s*partition(\\s+|\\()(.*)\\z",
+ "method": "statementPartition",
+ "exampleStatements": []
+ },
+ {
+ "name": "RUN PARTITION ['']",
+ "executorName": "ClientSideStatementRunPartitionExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "RUN_PARTITION",
+ "regex": "(?is)\\A\\s*run\\s+partition(?:\\s*'(.*)')?\\s*\\z",
+ "method": "statementRunPartition",
+ "exampleStatements": []
+ },
+ {
+ "name": "RUN PARTITIONED QUERY ",
+ "executorName": "ClientSideStatementRunPartitionedQueryExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "RUN_PARTITIONED_QUERY",
+ "regex": "(?is)\\A\\s*run\\s+partitioned\\s+query(\\s+|\\()(.*)\\z",
+ "method": "statementRunPartitionedQuery",
+ "exampleStatements": []
+ },
{
"name": "{START | BEGIN} [TRANSACTION | WORK] [{ (READ ONLY|READ WRITE) [[,] (ISOLATION LEVEL (DEFAULT|SERIALIZABLE))] [[,] NOT DEFERRABLE]}]",
"executorName": "ClientSideStatementPgBeginExecutor",
@@ -662,6 +689,102 @@
"allowedValues": "(TRUE|FALSE)",
"converterName": "ClientSideStatementValueConverters$BooleanConverter"
}
+ },
+ {
+ "name": "SHOW [VARIABLE] SPANNER.DATA_BOOST_ENABLED",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "SHOW_DATA_BOOST_ENABLED",
+ "regex": "(?is)\\A\\s*show\\s+(?:variable\\s+)?spanner\\.data_boost_enabled\\s*\\z",
+ "method": "statementShowDataBoostEnabled",
+ "exampleStatements": ["show spanner.data_boost_enabled","show variable spanner.data_boost_enabled"]
+ },
+ {
+ "name": "SET SPANNER.DATA_BOOST_ENABLED = TRUE|FALSE",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_DATA_BOOST_ENABLED",
+ "regex": "(?is)\\A\\s*set\\s+spanner\\.data_boost_enabled(?:\\s*=\\s*|\\s+to\\s+)(.*)\\z",
+ "method": "statementSetDataBoostEnabled",
+ "exampleStatements": ["set spanner.data_boost_enabled = true", "set spanner.data_boost_enabled = false", "set spanner.data_boost_enabled to true", "set spanner.data_boost_enabled to false"],
+ "setStatement": {
+ "propertyName": "SPANNER.DATA_BOOST_ENABLED",
+ "separator": "(?:=|\\s+TO\\s+)",
+ "allowedValues": "(TRUE|FALSE)",
+ "converterName": "ClientSideStatementValueConverters$BooleanConverter"
+ }
+ },
+ {
+ "name": "SHOW [VARIABLE] SPANNER.AUTO_PARTITION_MODE",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "SHOW_AUTO_PARTITION_MODE",
+ "regex": "(?is)\\A\\s*show\\s+(?:variable\\s+)?spanner\\.auto_partition_mode\\s*\\z",
+ "method": "statementShowAutoPartitionMode",
+ "exampleStatements": ["show spanner.auto_partition_mode","show variable spanner.auto_partition_mode"]
+ },
+ {
+ "name": "SET SPANNER.AUTO_PARTITION_MODE = TRUE|FALSE",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_AUTO_PARTITION_MODE",
+ "regex": "(?is)\\A\\s*set\\s+spanner\\.auto_partition_mode(?:\\s*=\\s*|\\s+to\\s+)(.*)\\z",
+ "method": "statementSetAutoPartitionMode",
+ "exampleStatements": ["set spanner.auto_partition_mode = true", "set spanner.auto_partition_mode = false", "set spanner.auto_partition_mode to true", "set spanner.auto_partition_mode to false"],
+ "setStatement": {
+ "propertyName": "SPANNER.AUTO_PARTITION_MODE",
+ "separator": "(?:=|\\s+TO\\s+)",
+ "allowedValues": "(TRUE|FALSE)",
+ "converterName": "ClientSideStatementValueConverters$BooleanConverter"
+ }
+ },
+ {
+ "name": "SHOW [VARIABLE] SPANNER.MAX_PARTITIONS",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "SHOW_MAX_PARTITIONS",
+ "regex": "(?is)\\A\\s*show\\s+(?:variable\\s+)?spanner\\.max_partitions\\s*\\z",
+ "method": "statementShowMaxPartitions",
+ "exampleStatements": ["show spanner.max_partitions","show variable spanner.max_partitions"]
+ },
+ {
+ "name": "SET SPANNER.MAX_PARTITIONS = ",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_MAX_PARTITIONS",
+ "regex": "(?is)\\A\\s*set\\s+spanner\\.max_partitions(?:\\s*=\\s*|\\s+to\\s+)(.*)\\z",
+ "method": "statementSetMaxPartitions",
+ "exampleStatements": ["set spanner.max_partitions = 1", "set spanner.max_partitions = 10", "set spanner.max_partitions to 5", "set spanner.max_partitions to 20"],
+ "setStatement": {
+ "propertyName": "SPANNER.MAX_PARTITIONS",
+ "separator": "(?:=|\\s+TO\\s+)",
+ "allowedValues": "(\\d{1,9})",
+ "converterName": "ClientSideStatementValueConverters$NonNegativeIntegerConverter"
+ }
+ },
+ {
+ "name": "SHOW [VARIABLE] SPANNER.MAX_PARTITIONED_PARALLELISM",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "statementType": "SHOW_MAX_PARTITIONED_PARALLELISM",
+ "regex": "(?is)\\A\\s*show\\s+(?:variable\\s+)?spanner\\.max_partitioned_parallelism\\s*\\z",
+ "method": "statementShowMaxPartitionedParallelism",
+ "exampleStatements": ["show spanner.max_partitioned_parallelism","show variable spanner.max_partitioned_parallelism"]
+ },
+ {
+ "name": "SET SPANNER.MAX_PARTITIONED_PARALLELISM = ",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_MAX_PARTITIONED_PARALLELISM",
+ "regex": "(?is)\\A\\s*set\\s+spanner\\.max_partitioned_parallelism(?:\\s*=\\s*|\\s+to\\s+)(.*)\\z",
+ "method": "statementSetMaxPartitionedParallelism",
+ "exampleStatements": ["set spanner.max_partitioned_parallelism = 1", "set spanner.max_partitioned_parallelism = 10", "set spanner.max_partitioned_parallelism to 5", "set spanner.max_partitioned_parallelism to 20"],
+ "setStatement": {
+ "propertyName": "SPANNER.MAX_PARTITIONED_PARALLELISM",
+ "separator": "(?:=|\\s+TO\\s+)",
+ "allowedValues": "(\\d{1,9})",
+ "converterName": "ClientSideStatementValueConverters$NonNegativeIntegerConverter"
+ }
}
]
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/DatabaseClientImplTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/DatabaseClientImplTest.java
index 0b88edc7f69..99e40daa53e 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/DatabaseClientImplTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/DatabaseClientImplTest.java
@@ -26,6 +26,7 @@
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThrows;
@@ -38,19 +39,25 @@
import com.google.api.core.ApiFutures;
import com.google.api.gax.grpc.testing.LocalChannelProvider;
import com.google.api.gax.retrying.RetrySettings;
+import com.google.api.gax.rpc.ApiCallContext;
import com.google.cloud.ByteArray;
import com.google.cloud.NoCredentials;
import com.google.cloud.Timestamp;
import com.google.cloud.spanner.AbstractResultSet.GrpcStreamIterator;
import com.google.cloud.spanner.AsyncResultSet.CallbackResponse;
import com.google.cloud.spanner.AsyncTransactionManager.TransactionContextFuture;
+import com.google.cloud.spanner.BaseSessionPoolTest.FakeClock;
import com.google.cloud.spanner.MockSpannerServiceImpl.SimulatedExecutionTime;
import com.google.cloud.spanner.MockSpannerServiceImpl.StatementResult;
import com.google.cloud.spanner.Options.RpcPriority;
import com.google.cloud.spanner.Options.TransactionOption;
import com.google.cloud.spanner.ReadContext.QueryAnalyzeMode;
+import com.google.cloud.spanner.SessionPool.Clock;
import com.google.cloud.spanner.SessionPool.PooledSessionFuture;
+import com.google.cloud.spanner.SessionPoolOptions.ActionOnInactiveTransaction;
+import com.google.cloud.spanner.SessionPoolOptions.InactiveTransactionRemovalOptions;
import com.google.cloud.spanner.SpannerException.ResourceNotFoundException;
+import com.google.cloud.spanner.SpannerOptions.CallContextConfigurator;
import com.google.cloud.spanner.SpannerOptions.SpannerCallContextTimeoutConfigurator;
import com.google.cloud.spanner.Type.Code;
import com.google.cloud.spanner.connection.RandomResultSetGenerator;
@@ -77,6 +84,7 @@
import com.google.spanner.v1.TypeAnnotationCode;
import com.google.spanner.v1.TypeCode;
import io.grpc.Context;
+import io.grpc.MethodDescriptor;
import io.grpc.Server;
import io.grpc.Status;
import io.grpc.StatusRuntimeException;
@@ -108,6 +116,7 @@
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.threeten.bp.Duration;
+import org.threeten.bp.Instant;
@RunWith(JUnit4.class)
public class DatabaseClientImplTest {
@@ -195,6 +204,305 @@ public void tearDown() {
mockSpanner.removeAllExecutionTimes();
}
+ @Test
+ public void
+ testPoolMaintainer_whenInactiveTransactionAndSessionIsNotFoundOnBackend_removeSessionsFromPool() {
+ FakeClock poolMaintainerClock = new FakeClock();
+ InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions =
+ InactiveTransactionRemovalOptions.newBuilder()
+ .setIdleTimeThreshold(
+ Duration.ofSeconds(
+ 2L)) // any session not used for more than 2s will be long-running
+ .setActionOnInactiveTransaction(ActionOnInactiveTransaction.CLOSE)
+ .setExecutionFrequency(Duration.ofSeconds(1)) // execute thread every 1s
+ .build();
+ SessionPoolOptions sessionPoolOptions =
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(1)
+ .setMaxSessions(1) // to ensure there is 1 session and pool is 100% utilized
+ .setInactiveTransactionRemovalOptions(inactiveTransactionRemovalOptions)
+ .setLoopFrequency(1000L) // main thread runs every 1s
+ .setPoolMaintainerClock(poolMaintainerClock)
+ .build();
+ spanner =
+ SpannerOptions.newBuilder()
+ .setProjectId(TEST_PROJECT)
+ .setDatabaseRole(TEST_DATABASE_ROLE)
+ .setChannelProvider(channelProvider)
+ .setCredentials(NoCredentials.getInstance())
+ .setSessionPoolOption(sessionPoolOptions)
+ .build()
+ .getService();
+ DatabaseClientImpl client =
+ (DatabaseClientImpl)
+ spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
+ Instant initialExecutionTime = client.pool.poolMaintainer.lastExecutionTime;
+
+ poolMaintainerClock.currentTimeMillis += Duration.ofMinutes(3).toMillis();
+
+ try (TransactionManager manager = client.transactionManager()) {
+ TransactionContext transaction = manager.begin();
+ mockSpanner.setCommitExecutionTime(
+ SimulatedExecutionTime.ofException(
+ mockSpanner.createSessionNotFoundException("TEST_SESSION_NAME")));
+ while (true) {
+ try {
+ transaction.executeUpdate(UPDATE_STATEMENT);
+
+ // Simulate a delay of 3 minutes to ensure that the below transaction is a long-running
+ // one.
+ // As per this test, anything which takes more than 2s is long-running
+ poolMaintainerClock.currentTimeMillis += Duration.ofMinutes(3).toMillis();
+ // force trigger pool maintainer to check for long-running sessions
+ client.pool.poolMaintainer.maintainPool();
+
+ manager.commit();
+ assertNotNull(manager.getCommitTimestamp());
+ break;
+ } catch (AbortedException e) {
+ transaction = manager.resetForRetry();
+ }
+ mockSpanner.setCommitExecutionTime(SimulatedExecutionTime.ofMinimumAndRandomTime(0, 0));
+ }
+ }
+ Instant endExecutionTime = client.pool.poolMaintainer.lastExecutionTime;
+
+ // first session executed update, session found to be long-running and cleaned up.
+ // During commit, SessionNotFound exception from backend caused replacement of session and
+ // transaction needs to be retried.
+ // On retry, session again found to be long-running and cleaned up.
+ // During commit, there was no exception from backend.
+
+ assertNotEquals(
+ endExecutionTime,
+ initialExecutionTime); // if session clean up task runs then these timings won't match
+ assertEquals(2, client.pool.numLeakedSessionsRemoved());
+ assertTrue(client.pool.getNumberOfSessionsInPool() <= client.pool.totalSessions());
+ }
+
+ @Test
+ public void
+ testPoolMaintainer_whenInactiveTransactionAndSessionExistsOnBackend_removeSessionsFromPool() {
+ FakeClock poolMaintainerClock = new FakeClock();
+ InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions =
+ InactiveTransactionRemovalOptions.newBuilder()
+ .setIdleTimeThreshold(
+ Duration.ofSeconds(
+ 2L)) // any session not used for more than 2s will be long-running
+ .setActionOnInactiveTransaction(ActionOnInactiveTransaction.CLOSE)
+ .setExecutionFrequency(Duration.ofSeconds(1)) // execute thread every 1s
+ .build();
+ SessionPoolOptions sessionPoolOptions =
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(1)
+ .setMaxSessions(1) // to ensure there is 1 session and pool is 100% utilized
+ .setInactiveTransactionRemovalOptions(inactiveTransactionRemovalOptions)
+ .setLoopFrequency(1000L) // main thread runs every 1s
+ .setPoolMaintainerClock(poolMaintainerClock)
+ .build();
+ spanner =
+ SpannerOptions.newBuilder()
+ .setProjectId(TEST_PROJECT)
+ .setDatabaseRole(TEST_DATABASE_ROLE)
+ .setChannelProvider(channelProvider)
+ .setCredentials(NoCredentials.getInstance())
+ .setSessionPoolOption(sessionPoolOptions)
+ .build()
+ .getService();
+ DatabaseClientImpl client =
+ (DatabaseClientImpl)
+ spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
+ Instant initialExecutionTime = client.pool.poolMaintainer.lastExecutionTime;
+
+ poolMaintainerClock.currentTimeMillis += Duration.ofMinutes(3).toMillis();
+
+ try (TransactionManager manager = client.transactionManager()) {
+ TransactionContext transaction = manager.begin();
+ while (true) {
+ try {
+ transaction.executeUpdate(UPDATE_STATEMENT);
+
+ // Simulate a delay of 3 minutes to ensure that the below transaction is a long-running
+ // one.
+ // As per this test, anything which takes more than 2s is long-running
+ poolMaintainerClock.currentTimeMillis += Duration.ofMinutes(3).toMillis();
+ // force trigger pool maintainer to check for long-running sessions
+ client.pool.poolMaintainer.maintainPool();
+
+ manager.commit();
+ assertNotNull(manager.getCommitTimestamp());
+ break;
+ } catch (AbortedException e) {
+ transaction = manager.resetForRetry();
+ }
+ }
+ }
+ Instant endExecutionTime = client.pool.poolMaintainer.lastExecutionTime;
+
+ // first session executed update, session found to be long-running and cleaned up.
+ // During commit, SessionNotFound exception from backend caused replacement of session and
+ // transaction needs to be retried.
+ // On retry, session again found to be long-running and cleaned up.
+ // During commit, there was no exception from backend.
+ assertNotEquals(
+ endExecutionTime,
+ initialExecutionTime); // if session clean up task runs then these timings won't match
+ assertEquals(1, client.pool.numLeakedSessionsRemoved());
+ assertTrue(client.pool.getNumberOfSessionsInPool() <= client.pool.totalSessions());
+ }
+
+ @Test
+ public void testPoolMaintainer_whenLongRunningPartitionedUpdateRequest_takeNoAction() {
+ FakeClock poolMaintainerClock = new FakeClock();
+ InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions =
+ InactiveTransactionRemovalOptions.newBuilder()
+ .setIdleTimeThreshold(
+ Duration.ofSeconds(
+ 2L)) // any session not used for more than 2s will be long-running
+ .setActionOnInactiveTransaction(ActionOnInactiveTransaction.CLOSE)
+ .setExecutionFrequency(Duration.ofSeconds(1)) // execute thread every 1s
+ .build();
+ SessionPoolOptions sessionPoolOptions =
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(1)
+ .setMaxSessions(1) // to ensure there is 1 session and pool is 100% utilized
+ .setInactiveTransactionRemovalOptions(inactiveTransactionRemovalOptions)
+ .setLoopFrequency(1000L) // main thread runs every 1s
+ .setPoolMaintainerClock(poolMaintainerClock)
+ .build();
+
+ spanner =
+ SpannerOptions.newBuilder()
+ .setProjectId(TEST_PROJECT)
+ .setDatabaseRole(TEST_DATABASE_ROLE)
+ .setChannelProvider(channelProvider)
+ .setCredentials(NoCredentials.getInstance())
+ .setSessionPoolOption(sessionPoolOptions)
+ .build()
+ .getService();
+ DatabaseClientImpl client =
+ (DatabaseClientImpl)
+ spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
+ Instant initialExecutionTime = client.pool.poolMaintainer.lastExecutionTime;
+ poolMaintainerClock.currentTimeMillis += Duration.ofMinutes(3).toMillis();
+
+ client.executePartitionedUpdate(UPDATE_STATEMENT);
+
+ // Simulate a delay of 3 minutes to ensure that the below transaction is a long-running one.
+ // As per this test, anything which takes more than 2s is long-running
+ poolMaintainerClock.currentTimeMillis += Duration.ofMinutes(3).toMillis();
+
+ // force trigger pool maintainer to check for long-running sessions
+ client.pool.poolMaintainer.maintainPool();
+
+ Instant endExecutionTime = client.pool.poolMaintainer.lastExecutionTime;
+
+ assertNotEquals(
+ endExecutionTime,
+ initialExecutionTime); // if session clean up task runs then these timings won't match
+ assertEquals(0, client.pool.numLeakedSessionsRemoved());
+ assertTrue(client.pool.getNumberOfSessionsInPool() <= client.pool.totalSessions());
+ }
+
+ /**
+ * PDML transaction is expected to be long-running. This is indicated through session flag
+ * eligibleForLongRunning = true . For all other transactions which are not expected to be
+ * long-running eligibleForLongRunning = false.
+ *
+ * Below tests uses a session for PDML transaction. Post that, the same session is used for
+ * executeUpdate(). Both transactions are long-running. The test verifies that
+ * eligibleForLongRunning = false for the second transaction, and it's identified as a
+ * long-running transaction.
+ */
+ @Test
+ public void testPoolMaintainer_whenPDMLFollowedByInactiveTransaction_removeSessionsFromPool() {
+ FakeClock poolMaintainerClock = new FakeClock();
+ InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions =
+ InactiveTransactionRemovalOptions.newBuilder()
+ .setIdleTimeThreshold(
+ Duration.ofSeconds(
+ 2L)) // any session not used for more than 2s will be long-running
+ .setActionOnInactiveTransaction(ActionOnInactiveTransaction.CLOSE)
+ .setExecutionFrequency(Duration.ofSeconds(1)) // execute thread every 1s
+ .build();
+ SessionPoolOptions sessionPoolOptions =
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(1)
+ .setMaxSessions(1) // to ensure there is 1 session and pool is 100% utilized
+ .setInactiveTransactionRemovalOptions(inactiveTransactionRemovalOptions)
+ .setLoopFrequency(1000L) // main thread runs every 1s
+ .setPoolMaintainerClock(poolMaintainerClock)
+ .build();
+ spanner =
+ SpannerOptions.newBuilder()
+ .setProjectId(TEST_PROJECT)
+ .setDatabaseRole(TEST_DATABASE_ROLE)
+ .setChannelProvider(channelProvider)
+ .setCredentials(NoCredentials.getInstance())
+ .setSessionPoolOption(sessionPoolOptions)
+ .build()
+ .getService();
+ DatabaseClientImpl client =
+ (DatabaseClientImpl)
+ spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
+ Instant initialExecutionTime = client.pool.poolMaintainer.lastExecutionTime;
+
+ poolMaintainerClock.currentTimeMillis += Duration.ofMinutes(3).toMillis();
+
+ client.executePartitionedUpdate(UPDATE_STATEMENT);
+
+ // Simulate a delay of 3 minutes to ensure that the below transaction is a long-running one.
+ // As per this test, anything which takes more than 2s is long-running
+ poolMaintainerClock.currentTimeMillis += Duration.ofMinutes(3).toMillis();
+
+ // force trigger pool maintainer to check for long-running sessions
+ client.pool.poolMaintainer.maintainPool();
+
+ Instant endExecutionTime = client.pool.poolMaintainer.lastExecutionTime;
+
+ assertNotEquals(
+ endExecutionTime,
+ initialExecutionTime); // if session clean up task runs then these timings won't match
+ assertEquals(0, client.pool.numLeakedSessionsRemoved());
+ assertTrue(client.pool.getNumberOfSessionsInPool() <= client.pool.totalSessions());
+
+ poolMaintainerClock.currentTimeMillis += Duration.ofMinutes(3).toMillis();
+
+ try (TransactionManager manager = client.transactionManager()) {
+ TransactionContext transaction = manager.begin();
+ while (true) {
+ try {
+ transaction.executeUpdate(UPDATE_STATEMENT);
+
+ // Simulate a delay of 3 minutes to ensure that the below transaction is a long-running
+ // one.
+ // As per this test, anything which takes more than 2s is long-running
+ poolMaintainerClock.currentTimeMillis += Duration.ofMinutes(3).toMillis();
+ // force trigger pool maintainer to check for long-running sessions
+ client.pool.poolMaintainer.maintainPool();
+
+ manager.commit();
+ assertNotNull(manager.getCommitTimestamp());
+ break;
+ } catch (AbortedException e) {
+ transaction = manager.resetForRetry();
+ }
+ }
+ }
+ endExecutionTime = client.pool.poolMaintainer.lastExecutionTime;
+
+ // first session executed update, session found to be long-running and cleaned up.
+ // During commit, SessionNotFound exception from backend caused replacement of session and
+ // transaction needs to be retried.
+ // On retry, session again found to be long-running and cleaned up.
+ // During commit, there was no exception from backend.
+ assertNotEquals(
+ endExecutionTime,
+ initialExecutionTime); // if session clean up task runs then these timings won't match
+ assertEquals(1, client.pool.numLeakedSessionsRemoved());
+ assertTrue(client.pool.getNumberOfSessionsInPool() <= client.pool.totalSessions());
+ }
+
@Test
public void testWrite() {
DatabaseClient client =
@@ -2963,6 +3271,63 @@ public void testStatementWithBytesArrayParameter() {
}
}
+ @Test
+ public void testStreamWaitTimeout() {
+ DatabaseClient client =
+ spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
+ // Add a wait time to the mock server. Note that the test won't actually wait 100ms, as it uses
+ // a 1ns time out.
+ mockSpanner.setExecuteStreamingSqlExecutionTime(
+ SimulatedExecutionTime.ofMinimumAndRandomTime(100, 0));
+ // Create a custom call configuration that uses a 1 nanosecond stream timeout value. This will
+ // always time out, as a call to the mock server will always take more than 1 nanosecond.
+ CallContextConfigurator configurator =
+ new CallContextConfigurator() {
+ @Override
+ public ApiCallContext configure(
+ ApiCallContext context, ReqT request, MethodDescriptor method) {
+ return context.withStreamWaitTimeout(Duration.ofNanos(1L));
+ }
+ };
+ Context context =
+ Context.current().withValue(SpannerOptions.CALL_CONTEXT_CONFIGURATOR_KEY, configurator);
+ context.run(
+ () -> {
+ try (ResultSet resultSet = client.singleUse().executeQuery(SELECT1)) {
+ SpannerException exception = assertThrows(SpannerException.class, resultSet::next);
+ assertEquals(ErrorCode.DEADLINE_EXCEEDED, exception.getErrorCode());
+ assertTrue(
+ exception.getMessage(), exception.getMessage().contains("stream wait timeout"));
+ }
+ });
+ }
+
+ @Test
+ public void testZeroStreamWaitTimeout() {
+ DatabaseClient client =
+ spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
+ // Create a custom call configuration that sets the stream timeout to zero.
+ // This should disable the timeout.
+ CallContextConfigurator configurator =
+ new CallContextConfigurator() {
+ @Override
+ public ApiCallContext configure(
+ ApiCallContext context, ReqT request, MethodDescriptor method) {
+ return context.withStreamWaitTimeout(Duration.ZERO);
+ }
+ };
+ Context context =
+ Context.current().withValue(SpannerOptions.CALL_CONTEXT_CONFIGURATOR_KEY, configurator);
+ context.run(
+ () -> {
+ try (ResultSet resultSet = client.singleUse().executeQuery(SELECT1)) {
+ // A zero timeout should not cause a timeout, and instead be ignored.
+ assertTrue(resultSet.next());
+ assertFalse(resultSet.next());
+ }
+ });
+ }
+
static void assertAsString(String expected, ResultSet resultSet, int col) {
assertEquals(expected, resultSet.getValue(col).getAsString());
assertEquals(ImmutableList.of(expected), resultSet.getValue(col).getAsStringList());
@@ -2974,4 +3339,13 @@ static void assertAsString(ImmutableList expected, ResultSet resultSet,
expected.stream().collect(Collectors.joining(",", "[", "]")),
resultSet.getValue(col).getAsString());
}
+
+ static class FakeClock extends Clock {
+ volatile long currentTimeMillis;
+
+ @Override
+ public Instant instant() {
+ return Instant.ofEpochMilli(currentTimeMillis);
+ }
+ }
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/GrpcResultSetTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/GrpcResultSetTest.java
index e35ecf9ad9a..82300a93090 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/GrpcResultSetTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/GrpcResultSetTest.java
@@ -22,6 +22,8 @@
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
+import com.google.api.gax.grpc.GrpcCallContext;
+import com.google.api.gax.rpc.ApiCallContext;
import com.google.cloud.ByteArray;
import com.google.cloud.Date;
import com.google.cloud.Timestamp;
@@ -50,6 +52,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
+import org.threeten.bp.Duration;
/** Unit tests for {@link com.google.cloud.spanner.AbstractResultSet.GrpcResultSet}. */
@RunWith(JUnit4.class)
@@ -58,6 +61,7 @@ public class GrpcResultSetTest {
private AbstractResultSet.GrpcResultSet resultSet;
private SpannerRpc.ResultStreamConsumer consumer;
private AbstractResultSet.GrpcStreamIterator stream;
+ private final Duration streamWaitTimeout = Duration.ofNanos(1L);
private static class NoOpListener implements AbstractResultSet.Listener {
@Override
@@ -78,6 +82,11 @@ public void setUp() {
stream = new AbstractResultSet.GrpcStreamIterator(10);
stream.setCall(
new SpannerRpc.StreamingCall() {
+ @Override
+ public ApiCallContext getCallContext() {
+ return GrpcCallContext.createDefault().withStreamWaitTimeout(streamWaitTimeout);
+ }
+
@Override
public void cancel(@Nullable String message) {}
@@ -93,6 +102,14 @@ public AbstractResultSet.GrpcResultSet resultSetWithMode(QueryMode queryMode) {
return new AbstractResultSet.GrpcResultSet(stream, new NoOpListener());
}
+ @Test
+ public void testStreamTimeout() {
+ // We don't add any results to the stream. That means that it will time out after 1ns.
+ SpannerException exception = assertThrows(SpannerException.class, resultSet::next);
+ assertEquals(ErrorCode.DEADLINE_EXCEEDED, exception.getErrorCode());
+ assertTrue(exception.getMessage(), exception.getMessage().contains("stream wait timeout"));
+ }
+
@Test
public void metadata() {
Type rowType = Type.struct(Type.StructField.of("f", Type.string()));
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/LongRunningSessionsBenchmark.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/LongRunningSessionsBenchmark.java
new file mode 100644
index 00000000000..19d614ded07
--- /dev/null
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/LongRunningSessionsBenchmark.java
@@ -0,0 +1,328 @@
+/*
+ * Copyright 2023 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;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import com.google.api.gax.rpc.TransportChannelProvider;
+import com.google.cloud.NoCredentials;
+import com.google.cloud.spanner.MockSpannerServiceImpl.SimulatedExecutionTime;
+import com.google.cloud.spanner.SessionPoolOptions.ActionOnInactiveTransaction;
+import com.google.cloud.spanner.SessionPoolOptions.InactiveTransactionRemovalOptions;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.ListeningScheduledExecutorService;
+import com.google.common.util.concurrent.MoreExecutors;
+import com.google.spanner.v1.BatchCreateSessionsRequest;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
+import org.openjdk.jmh.annotations.AuxCounters;
+import org.openjdk.jmh.annotations.Benchmark;
+import org.openjdk.jmh.annotations.BenchmarkMode;
+import org.openjdk.jmh.annotations.Fork;
+import org.openjdk.jmh.annotations.Level;
+import org.openjdk.jmh.annotations.Measurement;
+import org.openjdk.jmh.annotations.Mode;
+import org.openjdk.jmh.annotations.OutputTimeUnit;
+import org.openjdk.jmh.annotations.Param;
+import org.openjdk.jmh.annotations.Scope;
+import org.openjdk.jmh.annotations.Setup;
+import org.openjdk.jmh.annotations.State;
+import org.openjdk.jmh.annotations.TearDown;
+import org.openjdk.jmh.annotations.Warmup;
+import org.threeten.bp.Duration;
+
+/**
+ * Benchmarks for long-running sessions scenarios. The simulated execution times are based on
+ * reasonable estimates and are primarily intended to keep the benchmarks comparable with each other
+ * before and after changes have been made to the pool. The benchmarks are bound to the Maven
+ * profile `benchmark` and can be executed like this:
+ * mvn clean test -DskipTests -Pbenchmark -Dbenchmark.name=LongRunningSessionsBenchmark
+ *
+ */
+@BenchmarkMode(Mode.AverageTime)
+@Fork(value = 1, warmups = 0)
+@Measurement(batchSize = 1, iterations = 1, timeUnit = TimeUnit.MILLISECONDS)
+@Warmup(batchSize = 0, iterations = 0)
+@OutputTimeUnit(TimeUnit.SECONDS)
+public class LongRunningSessionsBenchmark {
+ private static final String TEST_PROJECT = "my-project";
+ private static final String TEST_INSTANCE = "my-instance";
+ private static final String TEST_DATABASE = "my-database";
+ private static final int HOLD_SESSION_TIME = 100;
+ private static final int LONG_HOLD_SESSION_TIME = 10000; // 10 seconds
+ private static final int RND_WAIT_TIME_BETWEEN_REQUESTS = 100;
+ private static final Random RND = new Random();
+
+ @State(Scope.Thread)
+ @AuxCounters(org.openjdk.jmh.annotations.AuxCounters.Type.EVENTS)
+ public static class BenchmarkState {
+ private StandardBenchmarkMockServer mockServer;
+ private Spanner spanner;
+ private DatabaseClientImpl client;
+ private AtomicInteger longRunningSessions;
+
+ @Param({"100"})
+ int minSessions;
+
+ @Param({"400"})
+ int maxSessions;
+
+ @Param({"4"})
+ int numChannels;
+
+ /** AuxCounter for number of RPCs. */
+ public int numBatchCreateSessionsRpcs() {
+ return mockServer.countRequests(BatchCreateSessionsRequest.class);
+ }
+
+ /** AuxCounter for number of sessions created. */
+ public int sessionsCreated() {
+ return mockServer.getMockSpanner().numSessionsCreated();
+ }
+
+ @Setup(Level.Invocation)
+ public void setup() throws Exception {
+ mockServer = new StandardBenchmarkMockServer();
+ longRunningSessions = new AtomicInteger();
+ TransportChannelProvider channelProvider = mockServer.start();
+
+ /**
+ * This ensures that the background thread responsible for cleaning long-running sessions
+ * executes every 10s. Any transaction for which session has not been used for more than 2s
+ * will be treated as long-running.
+ */
+ InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions =
+ InactiveTransactionRemovalOptions.newBuilder()
+ .setActionOnInactiveTransaction(ActionOnInactiveTransaction.WARN_AND_CLOSE)
+ .setExecutionFrequency(Duration.ofSeconds(10))
+ .setIdleTimeThreshold(Duration.ofSeconds(2))
+ .build();
+ SpannerOptions options =
+ SpannerOptions.newBuilder()
+ .setProjectId(TEST_PROJECT)
+ .setChannelProvider(channelProvider)
+ .setNumChannels(numChannels)
+ .setCredentials(NoCredentials.getInstance())
+ .setSessionPoolOption(
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(minSessions)
+ .setMaxSessions(maxSessions)
+ .setWaitForMinSessions(Duration.ofSeconds(5))
+ .setInactiveTransactionRemovalOptions(inactiveTransactionRemovalOptions)
+ .build())
+ .build();
+
+ spanner = options.getService();
+ client =
+ (DatabaseClientImpl)
+ spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
+ }
+
+ @TearDown(Level.Invocation)
+ public void teardown() throws Exception {
+ spanner.close();
+ mockServer.shutdown();
+ }
+ }
+
+ /**
+ * Measures the time needed to execute a burst of read requests.
+ *
+ * Some read requests will be long-running and will cause session leaks. Such sessions will be
+ * removed by the session maintenance background task if SessionPool Option
+ * ActionOnInactiveTransaction is set as WARN_AND_CLOSE.
+ *
+ * @param server
+ * @throws Exception
+ */
+ @Benchmark
+ public void burstRead(final BenchmarkState server) throws Exception {
+ int totalQueries = server.maxSessions * 8;
+ int parallelThreads = server.maxSessions * 2;
+ final DatabaseClient client =
+ server.spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
+ SessionPool pool = ((DatabaseClientImpl) client).pool;
+ assertThat(pool.totalSessions()).isEqualTo(server.minSessions);
+
+ ListeningScheduledExecutorService service =
+ MoreExecutors.listeningDecorator(Executors.newScheduledThreadPool(parallelThreads));
+ List> futures = new ArrayList<>(totalQueries);
+ for (int i = 0; i < totalQueries; i++) {
+ futures.add(
+ service.submit(
+ () -> {
+ Thread.sleep(RND.nextInt(RND_WAIT_TIME_BETWEEN_REQUESTS));
+ try (ResultSet rs =
+ client.singleUse().executeQuery(StandardBenchmarkMockServer.SELECT1)) {
+ while (rs.next()) {
+ // introduce random sleep times to have long-running sessions
+ randomWait(server);
+ }
+ return null;
+ }
+ }));
+ }
+ // explicitly run the maintenance cycle to clean up any dangling long-running sessions.
+ pool.poolMaintainer.maintainPool();
+
+ Futures.allAsList(futures).get();
+ service.shutdown();
+ assertNumLeakedSessionsRemoved(server, pool);
+ }
+
+ /**
+ * Measures the time needed to execute a burst of write requests (PDML).
+ *
+ * Some write requests will be long-running. The test asserts that no sessions are removed by
+ * the session maintenance background task with SessionPool Option ActionOnInactiveTransaction set
+ * as WARN_AND_CLOSE. This is because PDML writes are expected to be long-running.
+ *
+ * @param server
+ * @throws Exception
+ */
+ @Benchmark
+ public void burstWrite(final BenchmarkState server) throws Exception {
+ int totalWrites = server.maxSessions * 8;
+ int parallelThreads = server.maxSessions * 2;
+ final DatabaseClient client =
+ server.spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
+ SessionPool pool = ((DatabaseClientImpl) client).pool;
+ assertThat(pool.totalSessions()).isEqualTo(server.minSessions);
+
+ ListeningScheduledExecutorService service =
+ MoreExecutors.listeningDecorator(Executors.newScheduledThreadPool(parallelThreads));
+ List> futures = new ArrayList<>(totalWrites);
+ for (int i = 0; i < totalWrites; i++) {
+ futures.add(
+ service.submit(
+ () -> {
+ // introduce random sleep times so that some sessions are long-running sessions
+ randomWaitForMockServer(server);
+ client.executePartitionedUpdate(StandardBenchmarkMockServer.UPDATE_STATEMENT);
+ }));
+ }
+ // explicitly run the maintenance cycle to clean up any dangling long-running sessions.
+ pool.poolMaintainer.maintainPool();
+
+ Futures.allAsList(futures).get();
+ service.shutdown();
+ assertThat(pool.numLeakedSessionsRemoved())
+ .isEqualTo(0); // no sessions should be cleaned up in case of partitioned updates.
+ }
+
+ /**
+ * Measures the time needed to execute a burst of read and write requests.
+ *
+ * Some read requests will be long-running and will cause session leaks. Such sessions will be
+ * removed by the session maintenance background task if SessionPool Option
+ * ActionOnInactiveTransaction is set as WARN_AND_CLOSE.
+ *
+ *
Some write requests will be long-running. The test asserts that no sessions are removed by
+ * the session maintenance background task with SessionPool Option ActionOnInactiveTransaction set
+ * as WARN_AND_CLOSE. This is because PDML writes are expected to be long-running.
+ *
+ * @param server
+ * @throws Exception
+ */
+ @Benchmark
+ public void burstReadAndWrite(final BenchmarkState server) throws Exception {
+ int totalWrites = server.maxSessions * 4;
+ int totalReads = server.maxSessions * 4;
+ int parallelThreads = server.maxSessions * 2;
+ final DatabaseClient client =
+ server.spanner.getDatabaseClient(DatabaseId.of(TEST_PROJECT, TEST_INSTANCE, TEST_DATABASE));
+ SessionPool pool = ((DatabaseClientImpl) client).pool;
+ assertThat(pool.totalSessions()).isEqualTo(server.minSessions);
+
+ ListeningScheduledExecutorService service =
+ MoreExecutors.listeningDecorator(Executors.newScheduledThreadPool(parallelThreads));
+ List> futures = new ArrayList<>(totalReads + totalWrites);
+ for (int i = 0; i < totalWrites; i++) {
+ futures.add(
+ service.submit(
+ () -> {
+ // introduce random sleep times so that some sessions are long-running sessions
+ randomWaitForMockServer(server);
+ client.executePartitionedUpdate(StandardBenchmarkMockServer.UPDATE_STATEMENT);
+ }));
+ }
+ for (int i = 0; i < totalReads; i++) {
+ futures.add(
+ service.submit(
+ () -> {
+ Thread.sleep(RND.nextInt(RND_WAIT_TIME_BETWEEN_REQUESTS));
+ try (ResultSet rs =
+ client.singleUse().executeQuery(StandardBenchmarkMockServer.SELECT1)) {
+ while (rs.next()) {
+ // introduce random sleep times to have long-running sessions
+ randomWait(server);
+ }
+ return null;
+ }
+ }));
+ }
+ // explicitly run the maintenance cycle to clean up any dangling long-running sessions.
+ pool.poolMaintainer.maintainPool();
+
+ Futures.allAsList(futures).get();
+ service.shutdown();
+ assertNumLeakedSessionsRemoved(server, pool);
+ }
+
+ private void randomWait(final BenchmarkState server) throws InterruptedException {
+ if (RND.nextBoolean()) {
+ server.longRunningSessions.incrementAndGet();
+ Thread.sleep(LONG_HOLD_SESSION_TIME);
+ } else {
+ Thread.sleep(HOLD_SESSION_TIME);
+ }
+ }
+
+ private void randomWaitForMockServer(final BenchmarkState server) {
+ if (RND.nextBoolean()) {
+ server.longRunningSessions.incrementAndGet();
+ server
+ .mockServer
+ .getMockSpanner()
+ .setExecuteStreamingSqlExecutionTime(
+ SimulatedExecutionTime.ofMinimumAndRandomTime(LONG_HOLD_SESSION_TIME, 0));
+ } else {
+ server
+ .mockServer
+ .getMockSpanner()
+ .setExecuteStreamingSqlExecutionTime(
+ SimulatedExecutionTime.ofMinimumAndRandomTime(HOLD_SESSION_TIME, 0));
+ }
+ }
+
+ private void assertNumLeakedSessionsRemoved(final BenchmarkState server, final SessionPool pool) {
+ final SessionPoolOptions sessionPoolOptions =
+ server.spanner.getOptions().getSessionPoolOptions();
+ assertThat(server.longRunningSessions.get()).isNotEqualTo(0);
+ if (sessionPoolOptions.warnAndCloseInactiveTransactions()
+ || sessionPoolOptions.closeInactiveTransactions()) {
+ assertThat(pool.numLeakedSessionsRemoved()).isGreaterThan(0);
+ } else if (sessionPoolOptions.warnInactiveTransactions()) {
+ assertThat(pool.numLeakedSessionsRemoved()).isEqualTo(0);
+ }
+ }
+}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/MockSpannerServiceImpl.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/MockSpannerServiceImpl.java
index 66695676112..4edc2e2bf77 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/MockSpannerServiceImpl.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/MockSpannerServiceImpl.java
@@ -55,6 +55,7 @@
import com.google.spanner.v1.ListSessionsResponse;
import com.google.spanner.v1.PartialResultSet;
import com.google.spanner.v1.Partition;
+import com.google.spanner.v1.PartitionOptions;
import com.google.spanner.v1.PartitionQueryRequest;
import com.google.spanner.v1.PartitionReadRequest;
import com.google.spanner.v1.PartitionResponse;
@@ -107,6 +108,8 @@
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
+import java.util.stream.Collectors;
+import java.util.stream.LongStream;
import org.threeten.bp.Instant;
/**
@@ -596,7 +599,6 @@ private static void checkStreamException(
private int maxNumSessionsInOneBatch = 100;
private int maxTotalSessions = Integer.MAX_VALUE;
private AtomicInteger numSessionsCreated = new AtomicInteger();
-
private SimulatedExecutionTime beginTransactionExecutionTime = NO_EXECUTION_TIME;
private SimulatedExecutionTime commitExecutionTime = NO_EXECUTION_TIME;
private SimulatedExecutionTime batchCreateSessionsExecutionTime = NO_EXECUTION_TIME;
@@ -903,7 +905,7 @@ public void getSession(GetSessionRequest request, StreamObserver respon
}
}
- private void setSessionNotFound(String name, StreamObserver responseObserver) {
+ public StatusRuntimeException createSessionNotFoundException(String name) {
ResourceInfo resourceInfo =
ResourceInfo.newBuilder()
.setResourceType(SpannerExceptionFactory.SESSION_RESOURCE_TYPE)
@@ -915,10 +917,14 @@ private void setSessionNotFound(String name, StreamObserver responseObser
ProtoLiteUtils.metadataMarshaller(resourceInfo));
Metadata trailers = new Metadata();
trailers.put(key, resourceInfo);
- responseObserver.onError(
- Status.NOT_FOUND
- .withDescription(String.format("Session not found: Session with id %s not found", name))
- .asRuntimeException(trailers));
+ return Status.NOT_FOUND
+ .withDescription(String.format("Session not found: Session with id %s not found", name))
+ .asRuntimeException(trailers);
+ }
+
+ private void setSessionNotFound(String name, StreamObserver responseObserver) {
+ final StatusRuntimeException statusRuntimeException = createSessionNotFoundException(name);
+ responseObserver.onError(statusRuntimeException);
}
@Override
@@ -2007,7 +2013,11 @@ public void partitionQuery(
try {
partitionQueryExecutionTime.simulateExecutionTime(
exceptions, stickyGlobalExceptions, freezeLock);
- partition(request.getSession(), request.getTransaction(), responseObserver);
+ partition(
+ request.getSession(),
+ request.getTransaction(),
+ request.getPartitionOptions(),
+ responseObserver);
} catch (StatusRuntimeException t) {
responseObserver.onError(t);
} catch (Throwable t) {
@@ -2022,7 +2032,11 @@ public void partitionRead(
try {
partitionReadExecutionTime.simulateExecutionTime(
exceptions, stickyGlobalExceptions, freezeLock);
- partition(request.getSession(), request.getTransaction(), responseObserver);
+ partition(
+ request.getSession(),
+ request.getTransaction(),
+ request.getPartitionOptions(),
+ responseObserver);
} catch (StatusRuntimeException t) {
responseObserver.onError(t);
} catch (Throwable t) {
@@ -2033,6 +2047,7 @@ public void partitionRead(
private void partition(
String sessionName,
TransactionSelector transactionSelector,
+ PartitionOptions options,
StreamObserver responseObserver) {
Session session = sessions.get(sessionName);
if (session == null) {
@@ -2044,10 +2059,16 @@ private void partition(
ByteString transactionId = getTransactionId(session, transactionSelector);
responseObserver.onNext(
PartitionResponse.newBuilder()
- .addPartitions(
- Partition.newBuilder()
- .setPartitionToken(generatePartitionToken(session.getName(), transactionId))
- .build())
+ .addAllPartitions(
+ LongStream.range(
+ 0L, options.getMaxPartitions() == 0L ? 1L : options.getMaxPartitions())
+ .mapToObj(
+ ignored ->
+ Partition.newBuilder()
+ .setPartitionToken(
+ generatePartitionToken(session.getName(), transactionId))
+ .build())
+ .collect(Collectors.toList()))
.build());
responseObserver.onCompleted();
} catch (StatusRuntimeException e) {
@@ -2207,10 +2228,6 @@ public void removeAllExecutionTimes() {
streamingReadExecutionTime = NO_EXECUTION_TIME;
}
- public SimulatedExecutionTime getBeginTransactionExecutionTime() {
- return beginTransactionExecutionTime;
- }
-
public void setBeginTransactionExecutionTime(
SimulatedExecutionTime beginTransactionExecutionTime) {
this.beginTransactionExecutionTime = Preconditions.checkNotNull(beginTransactionExecutionTime);
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/ReadFormatTestRunner.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/ReadFormatTestRunner.java
index d8d39e6931c..af558d14dd4 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/ReadFormatTestRunner.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/ReadFormatTestRunner.java
@@ -18,6 +18,8 @@
import static com.google.common.truth.Truth.assertThat;
+import com.google.api.gax.grpc.GrpcCallContext;
+import com.google.api.gax.rpc.ApiCallContext;
import com.google.cloud.ByteArray;
import com.google.cloud.spanner.spi.v1.SpannerRpc;
import com.google.common.io.Resources;
@@ -115,6 +117,11 @@ private void run() throws Exception {
stream = new AbstractResultSet.GrpcStreamIterator(10);
stream.setCall(
new SpannerRpc.StreamingCall() {
+ @Override
+ public ApiCallContext getCallContext() {
+ return GrpcCallContext.createDefault();
+ }
+
@Override
public void cancel(@Nullable String message) {}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/ResultSetsHelper.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/ResultSetsHelper.java
new file mode 100644
index 00000000000..51cca1bc684
--- /dev/null
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/ResultSetsHelper.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2023 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;
+
+import com.google.cloud.spanner.AbstractResultSet.CloseableIterator;
+import com.google.cloud.spanner.AbstractResultSet.GrpcResultSet;
+import com.google.cloud.spanner.AbstractResultSet.Listener;
+import com.google.protobuf.ListValue;
+import com.google.spanner.v1.PartialResultSet;
+import com.google.spanner.v1.Transaction;
+import java.util.Iterator;
+import javax.annotation.Nullable;
+
+public class ResultSetsHelper {
+
+ /**
+ * Creates a {@link ResultSets} from a proto {@link com.google.spanner.v1.ResultSet}.
+ *
+ * Note: The returned result holds a reference to the proto that is passed in to this method.
+ * Changing the proto will change the result that is returned.
+ */
+ public static ResultSet fromProto(com.google.spanner.v1.ResultSet proto) {
+ Iterator iterator = proto.getRowsList().iterator();
+ return new GrpcResultSet(
+ new CloseableIterator() {
+ private boolean first = true;
+
+ @Override
+ public void close(@Nullable String message) {}
+
+ @Override
+ public boolean isWithBeginTransaction() {
+ return false;
+ }
+
+ @Override
+ public boolean hasNext() {
+ return first || iterator.hasNext();
+ }
+
+ @Override
+ public PartialResultSet next() {
+ if (!hasNext()) {
+ throw new IllegalStateException();
+ }
+ PartialResultSet.Builder builder = PartialResultSet.newBuilder();
+ if (first) {
+ builder.setMetadata(proto.getMetadata());
+ first = false;
+ }
+ if (iterator.hasNext()) {
+ builder.addAllValues(iterator.next().getValuesList());
+ }
+ if (!iterator.hasNext()) {
+ builder.setStats(proto.getStats());
+ }
+ return builder.build();
+ }
+ },
+ new Listener() {
+ @Override
+ public void onTransactionMetadata(Transaction transaction, boolean shouldIncludeId)
+ throws SpannerException {}
+
+ @Override
+ public SpannerException onError(SpannerException e, boolean withBeginTransaction) {
+ return e;
+ }
+
+ @Override
+ public void onDone(boolean withBeginTransaction) {}
+ });
+ }
+}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionImplTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionImplTest.java
index 90e9a684d95..aa3fe530465 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionImplTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionImplTest.java
@@ -27,7 +27,9 @@
import com.google.api.core.ApiFutures;
import com.google.api.core.NanoClock;
+import com.google.api.gax.grpc.GrpcCallContext;
import com.google.api.gax.retrying.RetrySettings;
+import com.google.api.gax.rpc.ApiCallContext;
import com.google.cloud.Timestamp;
import com.google.cloud.grpc.GrpcTransportOptions;
import com.google.cloud.grpc.GrpcTransportOptions.ExecutorFactory;
@@ -407,6 +409,11 @@ public void singleUseReadOnlyTransactionReturnsEmptyTransactionMetadata() {
}
private static class NoOpStreamingCall implements SpannerRpc.StreamingCall {
+ @Override
+ public ApiCallContext getCallContext() {
+ return GrpcCallContext.createDefault();
+ }
+
@Override
public void cancel(@Nullable String message) {}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolOptionsTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolOptionsTest.java
index 9cdabfac680..a979c6fed9a 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolOptionsTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolOptionsTest.java
@@ -16,9 +16,13 @@
package com.google.cloud.spanner;
import static com.google.common.truth.Truth.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 com.google.cloud.spanner.SessionPoolOptions.InactiveTransactionRemovalOptions;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -27,6 +31,7 @@
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameter;
import org.junit.runners.Parameterized.Parameters;
+import org.threeten.bp.Duration;
/** Unit tests for {@link com.google.cloud.spanner.SessionPoolOptions} */
@RunWith(Parameterized.class)
@@ -117,4 +122,68 @@ public void setZeroMaxSessions() {
public void setNegativeMaxSessions() {
SessionPoolOptions.newBuilder().setMaxSessions(-1);
}
+
+ @Test
+ public void verifyDefaultInactiveTransactionRemovalOptions() {
+ SessionPoolOptions sessionPoolOptions = SessionPoolOptions.newBuilder().build();
+ InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions =
+ sessionPoolOptions.getInactiveTransactionRemovalOptions();
+
+ assertFalse(sessionPoolOptions.warnInactiveTransactions());
+ assertFalse(sessionPoolOptions.warnAndCloseInactiveTransactions());
+ assertFalse(sessionPoolOptions.closeInactiveTransactions());
+ assertEquals(0.95, inactiveTransactionRemovalOptions.getUsedSessionsRatioThreshold(), 0.0);
+ assertEquals(Duration.ofMinutes(2), inactiveTransactionRemovalOptions.getExecutionFrequency());
+ assertEquals(Duration.ofMinutes(60), inactiveTransactionRemovalOptions.getIdleTimeThreshold());
+ }
+
+ @Test
+ public void setWarnIfInactiveTransactions() {
+ SessionPoolOptions sessionPoolOptions =
+ SessionPoolOptions.newBuilder().setWarnIfInactiveTransactions().build();
+
+ assertTrue(sessionPoolOptions.warnInactiveTransactions());
+ assertFalse(sessionPoolOptions.warnAndCloseInactiveTransactions());
+ assertFalse(sessionPoolOptions.closeInactiveTransactions());
+ }
+
+ @Test
+ public void setWarnAndCloseIfInactiveTransactions() {
+ SessionPoolOptions sessionPoolOptions =
+ SessionPoolOptions.newBuilder().setWarnAndCloseIfInactiveTransactions().build();
+
+ assertFalse(sessionPoolOptions.warnInactiveTransactions());
+ assertTrue(sessionPoolOptions.warnAndCloseInactiveTransactions());
+ assertFalse(sessionPoolOptions.closeInactiveTransactions());
+ }
+
+ @Test
+ public void setCloseIfInactiveTransactions() {
+ SessionPoolOptions sessionPoolOptions =
+ SessionPoolOptions.newBuilder().setCloseIfInactiveTransactions().build();
+
+ assertFalse(sessionPoolOptions.warnInactiveTransactions());
+ assertFalse(sessionPoolOptions.warnAndCloseInactiveTransactions());
+ assertTrue(sessionPoolOptions.closeInactiveTransactions());
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void setNegativeExecutionFrequency() {
+ InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions =
+ InactiveTransactionRemovalOptions.newBuilder()
+ .setExecutionFrequency(Duration.ofMillis(-1))
+ .build();
+ SessionPoolOptions.newBuilder()
+ .setInactiveTransactionRemovalOptions(inactiveTransactionRemovalOptions);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void setNegativeIdleTimeThreshold() {
+ InactiveTransactionRemovalOptions inactiveTransactionRemovalOptions =
+ InactiveTransactionRemovalOptions.newBuilder()
+ .setIdleTimeThreshold(Duration.ofMillis(-1))
+ .build();
+ SessionPoolOptions.newBuilder()
+ .setInactiveTransactionRemovalOptions(inactiveTransactionRemovalOptions);
+ }
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolStressTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolStressTest.java
index 9a1df1c9643..d1aab02d32f 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolStressTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolStressTest.java
@@ -26,6 +26,8 @@
import com.google.cloud.spanner.SessionClient.SessionConsumer;
import com.google.cloud.spanner.SessionPool.PooledSessionFuture;
import com.google.cloud.spanner.SessionPool.SessionConsumerImpl;
+import com.google.cloud.spanner.SessionPoolOptions.ActionOnInactiveTransaction;
+import com.google.cloud.spanner.SessionPoolOptions.InactiveTransactionRemovalOptions;
import com.google.common.util.concurrent.Uninterruptibles;
import com.google.protobuf.ByteString;
import com.google.protobuf.Empty;
@@ -66,7 +68,6 @@ public class SessionPoolStressTest extends BaseSessionPoolTest {
Object lock = new Object();
Random random = new Random();
FakeClock clock = new FakeClock();
-
Map sessions = new HashMap<>();
// Exception keeps track of where the session was closed at.
Map closedSessions = new HashMap<>();
@@ -211,7 +212,13 @@ public void stressTest() throws Exception {
int minSessions = 2;
int maxSessions = concurrentThreads / 2;
SessionPoolOptions.Builder builder =
- SessionPoolOptions.newBuilder().setMinSessions(minSessions).setMaxSessions(maxSessions);
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(minSessions)
+ .setMaxSessions(maxSessions)
+ .setInactiveTransactionRemovalOptions(
+ InactiveTransactionRemovalOptions.newBuilder()
+ .setActionOnInactiveTransaction(ActionOnInactiveTransaction.CLOSE)
+ .build());
if (shouldBlock) {
builder.setBlockIfPoolExhausted();
} else {
@@ -228,6 +235,14 @@ public void stressTest() throws Exception {
return null;
}
};
+ pool.longRunningSessionRemovedListener =
+ pooled -> {
+ String name = pooled.getName();
+ synchronized (lock) {
+ sessions.remove(name);
+ return null;
+ }
+ };
for (int i = 0; i < concurrentThreads; i++) {
new Thread(
() -> {
@@ -263,7 +278,7 @@ public void stressTest() throws Exception {
releaseThreads.countDown();
threadsDone.await();
synchronized (lock) {
- assertThat(maxAliveSessions).isAtMost(maxSessions);
+ assertThat(pool.totalSessions()).isAtMost(maxSessions);
}
stopMaintenance.set(true);
pool.closeAsync(new SpannerImpl.ClosedException()).get();
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolTest.java
index 1f7391a60f9..bc4757f11df 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolTest.java
@@ -95,6 +95,8 @@
import org.mockito.Mock;
import org.mockito.Mockito;
import org.threeten.bp.Duration;
+import org.threeten.bp.Instant;
+import org.threeten.bp.temporal.ChronoUnit;
/** Tests for SessionPool that mock out the underlying stub. */
@RunWith(Parameterized.class)
@@ -552,6 +554,359 @@ public void idleSessionCleanup() throws Exception {
pool.closeAsync(new SpannerImpl.ClosedException()).get(5L, TimeUnit.SECONDS);
}
+ @Test
+ public void longRunningTransactionsCleanup_whenActionSetToClose_verifyInactiveSessionsClosed()
+ throws Exception {
+ setupForLongRunningTransactionsCleanup();
+ options =
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(1)
+ .setMaxSessions(3)
+ .setIncStep(1)
+ .setMaxIdleSessions(0)
+ .setCloseIfInactiveTransactions() // set option to close inactive transactions
+ .build();
+
+ Clock clock = mock(Clock.class);
+ when(clock.instant()).thenReturn(Instant.now());
+
+ pool = createPool(clock);
+ // Make sure pool has been initialized
+ pool.getSession().close();
+
+ // All 3 sessions used. 100% of pool utilised.
+ PooledSessionFuture readSession1 = pool.getSession();
+ PooledSessionFuture readSession2 = pool.getSession();
+ PooledSessionFuture readSession3 = pool.getSession();
+
+ // complete the async tasks
+ readSession1.get().setEligibleForLongRunning(false);
+ readSession2.get().setEligibleForLongRunning(false);
+ readSession3.get().setEligibleForLongRunning(true);
+
+ assertEquals(3, pool.totalSessions());
+ assertEquals(3, pool.checkedOutSessions.size());
+
+ // ensure that the sessions are in use for > 60 minutes
+ pool.poolMaintainer.lastExecutionTime = Instant.now();
+ when(clock.instant()).thenReturn(Instant.now().plus(61, ChronoUnit.MINUTES));
+
+ pool.poolMaintainer.maintainPool();
+
+ // the two session that were un-expectedly long-running were removed from the pool.
+ // verify that only 1 session that is unexpected to be long-running remains in the pool.
+ assertEquals(1, pool.totalSessions());
+ assertEquals(2, pool.numLeakedSessionsRemoved());
+ pool.closeAsync(new SpannerImpl.ClosedException()).get(5L, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void longRunningTransactionsCleanup_whenActionSetToWarn_verifyInactiveSessionsOpen()
+ throws Exception {
+ setupForLongRunningTransactionsCleanup();
+ options =
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(1)
+ .setMaxSessions(3)
+ .setIncStep(1)
+ .setMaxIdleSessions(0)
+ .setWarnIfInactiveTransactions() // set option to warn (via logs) inactive transactions
+ .build();
+ Clock clock = mock(Clock.class);
+ when(clock.instant()).thenReturn(Instant.now());
+
+ pool = createPool(clock);
+ // Make sure pool has been initialized
+ pool.getSession().close();
+
+ // All 3 sessions used. 100% of pool utilised.
+ PooledSessionFuture readSession1 = pool.getSession();
+ PooledSessionFuture readSession2 = pool.getSession();
+ PooledSessionFuture readSession3 = pool.getSession();
+
+ // complete the async tasks
+ readSession1.get().setEligibleForLongRunning(false);
+ readSession2.get().setEligibleForLongRunning(false);
+ readSession3.get().setEligibleForLongRunning(true);
+
+ assertEquals(3, pool.totalSessions());
+ assertEquals(3, pool.checkedOutSessions.size());
+
+ // ensure that the sessions are in use for > 60 minutes
+ pool.poolMaintainer.lastExecutionTime = Instant.now();
+ when(clock.instant()).thenReturn(Instant.now().plus(61, ChronoUnit.MINUTES));
+
+ pool.poolMaintainer.maintainPool();
+
+ assertEquals(3, pool.totalSessions());
+ assertEquals(3, pool.checkedOutSessions.size());
+ assertEquals(0, pool.numLeakedSessionsRemoved());
+ pool.closeAsync(new SpannerImpl.ClosedException()).get(5L, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void
+ longRunningTransactionsCleanup_whenUtilisationBelowThreshold_verifyInactiveSessionsOpen()
+ throws Exception {
+ setupForLongRunningTransactionsCleanup();
+ options =
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(1)
+ .setMaxSessions(3)
+ .setIncStep(1)
+ .setMaxIdleSessions(0)
+ .setCloseIfInactiveTransactions() // set option to close inactive transactions
+ .build();
+ Clock clock = mock(Clock.class);
+ when(clock.instant()).thenReturn(Instant.now());
+
+ pool = createPool(clock);
+ pool.getSession().close();
+
+ // 2/3 sessions are used. Hence utilisation < 95%
+ PooledSessionFuture readSession1 = pool.getSession();
+ PooledSessionFuture readSession2 = pool.getSession();
+
+ // complete the async tasks and mark sessions as checked out
+ readSession1.get().setEligibleForLongRunning(false);
+ readSession2.get().setEligibleForLongRunning(false);
+
+ assertEquals(2, pool.totalSessions());
+ assertEquals(2, pool.checkedOutSessions.size());
+
+ // ensure that the sessions are in use for > 60 minutes
+ pool.poolMaintainer.lastExecutionTime = Instant.now();
+ when(clock.instant()).thenReturn(Instant.now().plus(61, ChronoUnit.MINUTES));
+
+ pool.poolMaintainer.maintainPool();
+
+ assertEquals(2, pool.totalSessions());
+ assertEquals(2, pool.checkedOutSessions.size());
+ assertEquals(0, pool.numLeakedSessionsRemoved());
+ pool.closeAsync(new SpannerImpl.ClosedException()).get(5L, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void
+ longRunningTransactionsCleanup_whenAllAreExpectedlyLongRunning_verifyInactiveSessionsOpen()
+ throws Exception {
+ SessionImpl session1 = mockSession();
+ SessionImpl session2 = mockSession();
+ SessionImpl session3 = mockSession();
+
+ final LinkedList sessions =
+ new LinkedList<>(Arrays.asList(session1, session2, session3));
+ doAnswer(
+ invocation -> {
+ executor.submit(
+ () -> {
+ SessionConsumerImpl consumer =
+ invocation.getArgument(2, SessionConsumerImpl.class);
+ consumer.onSessionReady(sessions.pop());
+ });
+ return null;
+ })
+ .when(sessionClient)
+ .asyncBatchCreateSessions(Mockito.eq(1), Mockito.anyBoolean(), any(SessionConsumer.class));
+
+ for (SessionImpl session : sessions) {
+ mockKeepAlive(session);
+ }
+ options =
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(1)
+ .setMaxSessions(3)
+ .setIncStep(1)
+ .setMaxIdleSessions(0)
+ .setCloseIfInactiveTransactions() // set option to close inactive transactions
+ .build();
+ Clock clock = mock(Clock.class);
+ when(clock.instant()).thenReturn(Instant.now());
+
+ pool = createPool(clock);
+ // Make sure pool has been initialized
+ pool.getSession().close();
+
+ // All 3 sessions used. 100% of pool utilised.
+ PooledSessionFuture readSession1 = pool.getSession();
+ PooledSessionFuture readSession2 = pool.getSession();
+ PooledSessionFuture readSession3 = pool.getSession();
+
+ // complete the async tasks
+ readSession1.get().setEligibleForLongRunning(true);
+ readSession2.get().setEligibleForLongRunning(true);
+ readSession3.get().setEligibleForLongRunning(true);
+
+ assertEquals(3, pool.totalSessions());
+ assertEquals(3, pool.checkedOutSessions.size());
+
+ // ensure that the sessions are in use for > 60 minutes
+ pool.poolMaintainer.lastExecutionTime = Instant.now();
+ when(clock.instant()).thenReturn(Instant.now().plus(61, ChronoUnit.MINUTES));
+
+ pool.poolMaintainer.maintainPool();
+
+ assertEquals(3, pool.totalSessions());
+ assertEquals(3, pool.checkedOutSessions.size());
+ assertEquals(0, pool.numLeakedSessionsRemoved());
+ pool.closeAsync(new SpannerImpl.ClosedException()).get(5L, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void longRunningTransactionsCleanup_whenBelowDurationThreshold_verifyInactiveSessionsOpen()
+ throws Exception {
+ setupForLongRunningTransactionsCleanup();
+ options =
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(1)
+ .setMaxSessions(3)
+ .setIncStep(1)
+ .setMaxIdleSessions(0)
+ .setCloseIfInactiveTransactions() // set option to close inactive transactions
+ .build();
+ Clock clock = mock(Clock.class);
+ when(clock.instant()).thenReturn(Instant.now());
+
+ pool = createPool(clock);
+ // Make sure pool has been initialized
+ pool.getSession().close();
+
+ // All 3 sessions used. 100% of pool utilised.
+ PooledSessionFuture readSession1 = pool.getSession();
+ PooledSessionFuture readSession2 = pool.getSession();
+ PooledSessionFuture readSession3 = pool.getSession();
+
+ // complete the async tasks
+ readSession1.get().setEligibleForLongRunning(false);
+ readSession2.get().setEligibleForLongRunning(false);
+ readSession3.get().setEligibleForLongRunning(true);
+
+ assertEquals(3, pool.totalSessions());
+ assertEquals(3, pool.checkedOutSessions.size());
+
+ // ensure that the sessions are in use for < 60 minutes
+ pool.poolMaintainer.lastExecutionTime = Instant.now();
+ when(clock.instant()).thenReturn(Instant.now().plus(50, ChronoUnit.MINUTES));
+
+ pool.poolMaintainer.maintainPool();
+
+ assertEquals(3, pool.totalSessions());
+ assertEquals(3, pool.checkedOutSessions.size());
+ assertEquals(0, pool.numLeakedSessionsRemoved());
+ pool.closeAsync(new SpannerImpl.ClosedException()).get(5L, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void longRunningTransactionsCleanup_whenException_doNothing() throws Exception {
+ setupForLongRunningTransactionsCleanup();
+ options =
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(1)
+ .setMaxSessions(3)
+ .setIncStep(1)
+ .setMaxIdleSessions(0)
+ .setCloseIfInactiveTransactions() // set option to close inactive transactions
+ .build();
+ Clock clock = mock(Clock.class);
+ when(clock.instant()).thenReturn(Instant.now());
+
+ pool = createPool(clock);
+ // Make sure pool has been initialized
+ pool.getSession().close();
+
+ // All 3 sessions used. 100% of pool utilised.
+ PooledSessionFuture readSession1 = pool.getSession();
+ PooledSessionFuture readSession2 = pool.getSession();
+ PooledSessionFuture readSession3 = pool.getSession();
+
+ // complete the async tasks
+ readSession1.get().setEligibleForLongRunning(false);
+ readSession2.get().setEligibleForLongRunning(false);
+ readSession3.get().setEligibleForLongRunning(true);
+
+ assertEquals(3, pool.totalSessions());
+ assertEquals(3, pool.checkedOutSessions.size());
+
+ when(clock.instant()).thenReturn(Instant.now().plus(50, ChronoUnit.MINUTES));
+
+ pool.poolMaintainer.lastExecutionTime = null; // setting null to throw exception
+ pool.poolMaintainer.maintainPool();
+
+ assertEquals(3, pool.totalSessions());
+ assertEquals(3, pool.checkedOutSessions.size());
+ assertEquals(0, pool.numLeakedSessionsRemoved());
+ pool.closeAsync(new SpannerImpl.ClosedException()).get(5L, TimeUnit.SECONDS);
+ }
+
+ @Test
+ public void
+ longRunningTransactionsCleanup_whenTaskRecurrenceBelowThreshold_verifyInactiveSessionsOpen()
+ throws Exception {
+ setupForLongRunningTransactionsCleanup();
+ options =
+ SessionPoolOptions.newBuilder()
+ .setMinSessions(1)
+ .setMaxSessions(3)
+ .setIncStep(1)
+ .setMaxIdleSessions(0)
+ .setCloseIfInactiveTransactions() // set option to close inactive transactions
+ .build();
+ Clock clock = mock(Clock.class);
+ when(clock.instant()).thenReturn(Instant.now());
+
+ pool = createPool(clock);
+ // Make sure pool has been initialized
+ pool.getSession().close();
+
+ // All 3 sessions used. 100% of pool utilised.
+ PooledSessionFuture readSession1 = pool.getSession();
+ PooledSessionFuture readSession2 = pool.getSession();
+ PooledSessionFuture readSession3 = pool.getSession();
+
+ // complete the async tasks
+ readSession1.get();
+ readSession2.get();
+ readSession3.get();
+
+ assertEquals(3, pool.totalSessions());
+ assertEquals(3, pool.checkedOutSessions.size());
+
+ pool.poolMaintainer.lastExecutionTime = Instant.now();
+ when(clock.instant()).thenReturn(Instant.now().plus(10, ChronoUnit.SECONDS));
+
+ pool.poolMaintainer.maintainPool();
+
+ assertEquals(3, pool.totalSessions());
+ assertEquals(3, pool.checkedOutSessions.size());
+ assertEquals(0, pool.numLeakedSessionsRemoved());
+ pool.closeAsync(new SpannerImpl.ClosedException()).get(5L, TimeUnit.SECONDS);
+ }
+
+ private void setupForLongRunningTransactionsCleanup() {
+ SessionImpl session1 = mockSession();
+ SessionImpl session2 = mockSession();
+ SessionImpl session3 = mockSession();
+
+ final LinkedList sessions =
+ new LinkedList<>(Arrays.asList(session1, session2, session3));
+ doAnswer(
+ invocation -> {
+ executor.submit(
+ () -> {
+ SessionConsumerImpl consumer =
+ invocation.getArgument(2, SessionConsumerImpl.class);
+ consumer.onSessionReady(sessions.pop());
+ });
+ return null;
+ })
+ .when(sessionClient)
+ .asyncBatchCreateSessions(Mockito.eq(1), Mockito.anyBoolean(), any(SessionConsumer.class));
+
+ for (SessionImpl session : sessions) {
+ mockKeepAlive(session);
+ }
+ }
+
@Test
public void keepAlive() throws Exception {
options = SessionPoolOptions.newBuilder().setMinSessions(2).setMaxSessions(3).build();
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SpannerOptionsTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SpannerOptionsTest.java
index 03844a6b105..7061e255758 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SpannerOptionsTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/SpannerOptionsTest.java
@@ -680,8 +680,7 @@ public void testCompressorName() {
@Test
public void testLeaderAwareRoutingEnablement() {
- assertFalse(
- SpannerOptions.newBuilder().setProjectId("p").build().isLeaderAwareRoutingEnabled());
+ assertTrue(SpannerOptions.newBuilder().setProjectId("p").build().isLeaderAwareRoutingEnabled());
assertTrue(
SpannerOptions.newBuilder()
.setProjectId("p")
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AutocommitDmlModeTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AutocommitDmlModeTest.java
index 2acdf6f3d15..a66d14a8b76 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AutocommitDmlModeTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AutocommitDmlModeTest.java
@@ -25,6 +25,7 @@
import static org.mockito.Mockito.when;
import com.google.cloud.NoCredentials;
+import com.google.cloud.spanner.BatchClient;
import com.google.cloud.spanner.DatabaseClient;
import com.google.cloud.spanner.Dialect;
import com.google.cloud.spanner.Spanner;
@@ -70,7 +71,7 @@ private ConnectionImpl createConnection(ConnectionOptions options) {
when(txManager.begin()).thenReturn(txContext);
when(dbClient.transactionManager()).thenReturn(txManager);
- return new ConnectionImpl(options, spannerPool, ddlClient, dbClient);
+ return new ConnectionImpl(options, spannerPool, ddlClient, dbClient, mock(BatchClient.class));
}
@Test
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/BeginPgTransactionTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/BeginPgTransactionTest.java
index 9b2aa0930cf..2d2ef0781f0 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/BeginPgTransactionTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/BeginPgTransactionTest.java
@@ -65,7 +65,7 @@ public void testBeginWithNoOption() {
"start work isolation level serializable")) {
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(index)).beginTransaction();
verify(connection, never()).setTransactionMode(any());
@@ -89,7 +89,7 @@ public void testBeginReadOnly() {
"start work read only")) {
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(index)).beginTransaction();
verify(connection, times(index)).setTransactionMode(TransactionMode.READ_ONLY_TRANSACTION);
@@ -114,7 +114,7 @@ public void testBeginReadWrite() {
"start work read write")) {
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(index)).beginTransaction();
verify(connection, times(index)).setTransactionMode(TransactionMode.READ_WRITE_TRANSACTION);
@@ -140,7 +140,7 @@ public void testBeginReadOnlyWithIsolationLevel() {
"begin read write , \nisolation level default\n\t,read only")) {
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(index)).beginTransaction();
verify(connection, times(index)).setTransactionMode(TransactionMode.READ_ONLY_TRANSACTION);
@@ -173,7 +173,7 @@ public void testBeginWithNotDeferrable() {
"begin not deferrable read write , \nisolation level default\n\t,read only")) {
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(index)).beginTransaction();
verify(connection, times(index)).setTransactionMode(TransactionMode.READ_ONLY_TRANSACTION);
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ClientSideStatementsTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ClientSideStatementsTest.java
index 0fc6a82260e..c0b1e3a58dd 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ClientSideStatementsTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ClientSideStatementsTest.java
@@ -167,8 +167,11 @@ private static void generateTestStatements(
AbstractStatementParser parser, ClientSideStatementImpl statement) {
for (String sql : statement.getExampleStatements()) {
log(statement.getExamplePrerequisiteStatements(), sql);
- log(statement.getExamplePrerequisiteStatements(), upper(sql));
- log(statement.getExamplePrerequisiteStatements(), lower(sql));
+ if (statement.getStatementType() != ClientSideStatementType.RUN_PARTITION) {
+ // Partition ids are case-sensitive.
+ log(statement.getExamplePrerequisiteStatements(), upper(sql));
+ log(statement.getExamplePrerequisiteStatements(), lower(sql));
+ }
log(statement.getExamplePrerequisiteStatements(), withLeadingSpaces(sql));
log(statement.getExamplePrerequisiteStatements(), withLeadingTabs(sql));
log(statement.getExamplePrerequisiteStatements(), withLeadingLinefeeds(sql));
@@ -183,12 +186,20 @@ private static void generateTestStatements(
statement.getExamplePrerequisiteStatements(),
withInvalidPrefix(sql),
ErrorCode.INVALID_ARGUMENT);
- log(
- statement.getExamplePrerequisiteStatements(),
- withInvalidSuffix(sql),
- parser.isQuery(withInvalidSuffix(sql))
- ? ErrorCode.UNIMPLEMENTED
- : ErrorCode.INVALID_ARGUMENT);
+
+ boolean anySuffixAllowed =
+ statement.getStatementType() == ClientSideStatementType.PARTITION
+ || statement.getStatementType() == ClientSideStatementType.RUN_PARTITIONED_QUERY;
+ if (anySuffixAllowed) {
+ log(statement.getExamplePrerequisiteStatements(), withInvalidSuffix(sql));
+ } else {
+ log(
+ statement.getExamplePrerequisiteStatements(),
+ withInvalidSuffix(sql),
+ parser.isQuery(withInvalidSuffix(sql))
+ ? ErrorCode.UNIMPLEMENTED
+ : ErrorCode.INVALID_ARGUMENT);
+ }
final String[] replacements = {
"%", "_", "&", "$", "@", "!", "*", "(", ")", "-", "+", "-#", "/", "\\", "?", "-/", "/#",
@@ -199,18 +210,22 @@ private static void generateTestStatements(
statement.getExamplePrerequisiteStatements(),
withPrefix(replacement, sql),
ErrorCode.INVALID_ARGUMENT);
- log(
- statement.getExamplePrerequisiteStatements(),
- withSuffix(replacement, sql),
- parser.isQuery(withSuffix(replacement, sql))
- ? ErrorCode.UNIMPLEMENTED
- : ErrorCode.INVALID_ARGUMENT);
- log(
- statement.getExamplePrerequisiteStatements(),
- replaceLastSpaceWith(replacement, sql),
- parser.isQuery(replaceLastSpaceWith(replacement, sql))
- ? ErrorCode.UNIMPLEMENTED
- : ErrorCode.INVALID_ARGUMENT);
+ if (anySuffixAllowed) {
+ log(statement.getExamplePrerequisiteStatements(), withSuffix(replacement, sql));
+ } else {
+ log(
+ statement.getExamplePrerequisiteStatements(),
+ withSuffix(replacement, sql),
+ parser.isQuery(withSuffix(replacement, sql))
+ ? ErrorCode.UNIMPLEMENTED
+ : ErrorCode.INVALID_ARGUMENT);
+ log(
+ statement.getExamplePrerequisiteStatements(),
+ replaceLastSpaceWith(replacement, sql),
+ parser.isQuery(replaceLastSpaceWith(replacement, sql))
+ ? ErrorCode.UNIMPLEMENTED
+ : ErrorCode.INVALID_ARGUMENT);
+ }
}
}
}
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 cd72da4cd3f..d767c9f5176 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
@@ -42,6 +42,9 @@
import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.NoCredentials;
import com.google.cloud.Timestamp;
+import com.google.cloud.spanner.BatchClient;
+import com.google.cloud.spanner.BatchReadOnlyTransaction;
+import com.google.cloud.spanner.BatchTransactionId;
import com.google.cloud.spanner.CommitResponse;
import com.google.cloud.spanner.CommitStats;
import com.google.cloud.spanner.DatabaseClient;
@@ -365,7 +368,13 @@ public TransactionRunner allowNestedTransaction() {
};
}
});
- return new ConnectionImpl(options, spannerPool, ddlClient, dbClient);
+ BatchClient batchClient = mock(BatchClient.class);
+ BatchReadOnlyTransaction batchReadOnlyTransaction = mock(BatchReadOnlyTransaction.class);
+ when(batchClient.batchReadOnlyTransaction(any(TimestampBound.class)))
+ .thenReturn(batchReadOnlyTransaction);
+ when(batchClient.batchReadOnlyTransaction(any(BatchTransactionId.class)))
+ .thenReturn(batchReadOnlyTransaction);
+ return new ConnectionImpl(options, spannerPool, ddlClient, dbClient, batchClient);
}
@Test
@@ -1377,7 +1386,8 @@ public void testMergeQueryOptions() {
any(), any(ParsedStatement.class), any(AnalyzeMode.class), Mockito.any()))
.thenReturn(ApiFutures.immediateFuture(mock(ResultSet.class)));
try (ConnectionImpl impl =
- new ConnectionImpl(connectionOptions, spannerPool, ddlClient, dbClient) {
+ new ConnectionImpl(
+ connectionOptions, spannerPool, ddlClient, dbClient, mock(BatchClient.class)) {
@Override
UnitOfWork getCurrentUnitOfWorkOrStartNewUnitOfWork() {
return unitOfWork;
@@ -1485,7 +1495,8 @@ public void testStatementTagAlwaysAllowed() {
any(), any(ParsedStatement.class), any(AnalyzeMode.class), Mockito.any()))
.thenReturn(ApiFutures.immediateFuture(mock(ResultSet.class)));
try (ConnectionImpl connection =
- new ConnectionImpl(connectionOptions, spannerPool, ddlClient, dbClient) {
+ new ConnectionImpl(
+ connectionOptions, spannerPool, ddlClient, dbClient, mock(BatchClient.class)) {
@Override
UnitOfWork getCurrentUnitOfWorkOrStartNewUnitOfWork() {
return unitOfWork;
@@ -1524,7 +1535,8 @@ public void testTransactionTagAllowedInTransaction() {
DatabaseClient dbClient = mock(DatabaseClient.class);
when(dbClient.getDialect()).thenReturn(Dialect.GOOGLE_STANDARD_SQL);
try (ConnectionImpl connection =
- new ConnectionImpl(connectionOptions, spannerPool, ddlClient, dbClient)) {
+ new ConnectionImpl(
+ connectionOptions, spannerPool, ddlClient, dbClient, mock(BatchClient.class))) {
assertFalse(connection.isAutocommit());
assertNull(connection.getTransactionTag());
@@ -1565,7 +1577,8 @@ public void testTransactionTagNotAllowedWithoutTransaction() {
DatabaseClient dbClient = mock(DatabaseClient.class);
when(dbClient.getDialect()).thenReturn(Dialect.GOOGLE_STANDARD_SQL);
try (ConnectionImpl connection =
- new ConnectionImpl(connectionOptions, spannerPool, ddlClient, dbClient)) {
+ new ConnectionImpl(
+ connectionOptions, spannerPool, ddlClient, dbClient, mock(BatchClient.class))) {
assertTrue(connection.isAutocommit());
try {
@@ -1593,7 +1606,8 @@ public void testTransactionTagNotAllowedAfterTransactionStarted() {
.thenReturn(ApiFutures.immediateFuture(mock(ResultSet.class)));
when(unitOfWork.rollbackAsync(any())).thenReturn(ApiFutures.immediateFuture(null));
try (ConnectionImpl connection =
- new ConnectionImpl(connectionOptions, spannerPool, ddlClient, dbClient) {
+ new ConnectionImpl(
+ connectionOptions, spannerPool, ddlClient, dbClient, mock(BatchClient.class)) {
@Override
UnitOfWork createNewUnitOfWork() {
return unitOfWork;
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionOptionsTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionOptionsTest.java
index ef1ab365577..50b376f5ac5 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionOptionsTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionOptionsTest.java
@@ -49,6 +49,9 @@ public class ConnectionOptionsTest {
private static final String FILE_TEST_PATH =
ConnectionOptionsTest.class.getResource("test-key.json").getFile();
private static final String DEFAULT_HOST = "https://spanner.googleapis.com";
+ private static final String TEST_PROJECT = "test-project-123";
+ private static final String TEST_INSTANCE = "test-instance-123";
+ private static final String TEST_DATABASE = "test-database-123";
@Test
public void testBuildWithURIWithDots() {
@@ -149,6 +152,27 @@ public void testBuildWithAutoConfigEmulator() {
assertTrue(options.isUsePlainText());
}
+ @Test
+ public void testBuildWithRouteToLeader() {
+ final String BASE_URI =
+ "cloudspanner:/projects/test-project-123/instances/test-instance-123/databases/test-database-123";
+ ConnectionOptions.Builder builder = ConnectionOptions.newBuilder();
+ builder.setUri(BASE_URI + "?routeToLeader=false");
+ builder.setCredentialsUrl(FILE_TEST_PATH);
+ ConnectionOptions options = builder.build();
+ assertEquals(options.getHost(), DEFAULT_HOST);
+ assertEquals(options.getProjectId(), TEST_PROJECT);
+ assertEquals(options.getInstanceId(), TEST_INSTANCE);
+ assertEquals(options.getDatabaseName(), TEST_DATABASE);
+ assertFalse(options.isRouteToLeader());
+
+ // Test for default behavior for routeToLeader property.
+ builder = ConnectionOptions.newBuilder().setUri(BASE_URI);
+ builder.setCredentialsUrl(FILE_TEST_PATH);
+ options = builder.build();
+ assertTrue(options.isRouteToLeader());
+ }
+
@Test
public void testBuildWithAutoConfigEmulatorAndHost() {
ConnectionOptions.Builder builder = ConnectionOptions.newBuilder();
@@ -534,6 +558,142 @@ public void testTrackConnectionLeaksDefault() {
assertTrue(options.isTrackConnectionLeaks());
}
+ @Test
+ public void testDataBoostEnabled() {
+ ConnectionOptions options =
+ ConnectionOptions.newBuilder()
+ .setUri(
+ "cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database?dataBoostEnabled=true")
+ .setCredentialsUrl(FILE_TEST_PATH)
+ .build();
+ assertTrue(options.isDataBoostEnabled());
+ }
+
+ @Test
+ public void testDataBoostEnabledDefault() {
+ ConnectionOptions options =
+ ConnectionOptions.newBuilder()
+ .setUri(
+ "cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database")
+ .setCredentialsUrl(FILE_TEST_PATH)
+ .build();
+ assertFalse(options.isDataBoostEnabled());
+ }
+
+ @Test
+ public void testAutoPartitionMode() {
+ ConnectionOptions options =
+ ConnectionOptions.newBuilder()
+ .setUri(
+ "cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database?autoPartitionMode=true")
+ .setCredentialsUrl(FILE_TEST_PATH)
+ .build();
+ assertTrue(options.isAutoPartitionMode());
+ }
+
+ @Test
+ public void testAutoPartitionModeDefault() {
+ ConnectionOptions options =
+ ConnectionOptions.newBuilder()
+ .setUri(
+ "cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database")
+ .setCredentialsUrl(FILE_TEST_PATH)
+ .build();
+ assertFalse(options.isAutoPartitionMode());
+ }
+
+ @Test
+ public void testMaxPartitions() {
+ ConnectionOptions options =
+ ConnectionOptions.newBuilder()
+ .setUri(
+ "cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database?maxPartitions=4")
+ .setCredentialsUrl(FILE_TEST_PATH)
+ .build();
+ assertEquals(4, options.getMaxPartitions());
+ }
+
+ @Test
+ public void testMaxPartitionsDefault() {
+ ConnectionOptions options =
+ ConnectionOptions.newBuilder()
+ .setUri(
+ "cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database")
+ .setCredentialsUrl(FILE_TEST_PATH)
+ .build();
+ assertEquals(0, options.getMaxPartitions());
+ }
+
+ @Test
+ public void testMaxPartitionsInvalidValue() {
+ assertThrows(
+ SpannerException.class,
+ () ->
+ ConnectionOptions.newBuilder()
+ .setUri(
+ "cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database?maxPartitions=-1")
+ .setCredentialsUrl(FILE_TEST_PATH)
+ .build());
+ }
+
+ @Test
+ public void testMaxPartitionsNonNumeric() {
+ assertThrows(
+ SpannerException.class,
+ () ->
+ ConnectionOptions.newBuilder()
+ .setUri(
+ "cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database?maxPartitions=four")
+ .setCredentialsUrl(FILE_TEST_PATH)
+ .build());
+ }
+
+ @Test
+ public void testMaxPartitionedParallelism() {
+ ConnectionOptions options =
+ ConnectionOptions.newBuilder()
+ .setUri(
+ "cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database?maxPartitionedParallelism=4")
+ .setCredentialsUrl(FILE_TEST_PATH)
+ .build();
+ assertEquals(4, options.getMaxPartitionedParallelism());
+ }
+
+ @Test
+ public void testMaxPartitionedParallelismDefault() {
+ ConnectionOptions options =
+ ConnectionOptions.newBuilder()
+ .setUri(
+ "cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database")
+ .setCredentialsUrl(FILE_TEST_PATH)
+ .build();
+ assertEquals(1, options.getMaxPartitionedParallelism());
+ }
+
+ @Test
+ public void testMaxPartitionedParallelismInvalidValue() {
+ assertThrows(
+ SpannerException.class,
+ () ->
+ ConnectionOptions.newBuilder()
+ .setUri(
+ "cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database?maxPartitionedParallelism=-1")
+ .setCredentialsUrl(FILE_TEST_PATH)
+ .build());
+ }
+
+ @Test
+ public void testMaxPartitionedParallelismNonNumeric() {
+ assertThrows(
+ SpannerException.class,
+ () ->
+ ConnectionOptions.newBuilder()
+ .setUri(
+ "cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database?maxPartitionedParallelism=four")
+ .setCredentialsUrl(FILE_TEST_PATH)
+ .build());
+ }
+
@Test
public void testLocalConnectionError() {
String uri =
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementWithNoParametersTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementWithNoParametersTest.java
index 6140825f57b..4ea7bfc93de 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementWithNoParametersTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementWithNoParametersTest.java
@@ -51,6 +51,10 @@ public void setup() {
parser = AbstractStatementParser.getInstance(dialect);
}
+ ParsedStatement parse(String sql) {
+ return parser.parse(Statement.of(sql));
+ }
+
@Test
public void testExecuteGetAutocommit() {
ParsedStatement statement = parser.parse(Statement.of("show variable autocommit"));
@@ -58,7 +62,7 @@ public void testExecuteGetAutocommit() {
ConnectionStatementExecutorImpl executor = mock(ConnectionStatementExecutorImpl.class);
when(executor.getConnection()).thenReturn(connection);
when(executor.statementShowAutocommit()).thenCallRealMethod();
- statement.getClientSideStatement().execute(executor, "show variable autocommit");
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(1)).isAutocommit();
}
@@ -70,9 +74,7 @@ public void testExecuteGetReadOnly() {
ConnectionImpl connection = mock(ConnectionImpl.class);
when(connection.getDialect()).thenReturn(dialect);
ConnectionStatementExecutorImpl executor = new ConnectionStatementExecutorImpl(connection);
- statement
- .getClientSideStatement()
- .execute(executor, String.format("show variable %sreadonly", getNamespace(dialect)));
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(1)).isReadOnly();
}
@@ -86,10 +88,7 @@ public void testExecuteGetAutocommitDmlMode() {
when(connection.getDialect()).thenReturn(dialect);
ConnectionStatementExecutorImpl executor = new ConnectionStatementExecutorImpl(connection);
when(connection.getAutocommitDmlMode()).thenReturn(AutocommitDmlMode.TRANSACTIONAL);
- statement
- .getClientSideStatement()
- .execute(
- executor, String.format("show variable %sautocommit_dml_mode", getNamespace(dialect)));
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(1)).getAutocommitDmlMode();
}
@@ -102,7 +101,7 @@ public void testExecuteGetStatementTimeout() {
when(executor.statementShowStatementTimeout()).thenCallRealMethod();
when(connection.hasStatementTimeout()).thenReturn(true);
when(connection.getStatementTimeout(TimeUnit.NANOSECONDS)).thenReturn(1L);
- statement.getClientSideStatement().execute(executor, "show variable statement_timeout");
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(2)).getStatementTimeout(TimeUnit.NANOSECONDS);
}
@@ -115,9 +114,7 @@ public void testExecuteGetReadTimestamp() {
when(connection.getDialect()).thenReturn(dialect);
ConnectionStatementExecutorImpl executor = new ConnectionStatementExecutorImpl(connection);
when(connection.getReadTimestampOrNull()).thenReturn(Timestamp.now());
- statement
- .getClientSideStatement()
- .execute(executor, String.format("show variable %sread_timestamp", getNamespace(dialect)));
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(1)).getReadTimestampOrNull();
}
@@ -130,10 +127,7 @@ public void testExecuteGetCommitTimestamp() {
when(connection.getDialect()).thenReturn(dialect);
ConnectionStatementExecutorImpl executor = new ConnectionStatementExecutorImpl(connection);
when(connection.getCommitTimestampOrNull()).thenReturn(Timestamp.now());
- statement
- .getClientSideStatement()
- .execute(
- executor, String.format("show variable %scommit_timestamp", getNamespace(dialect)));
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(1)).getCommitTimestampOrNull();
}
@@ -147,10 +141,7 @@ public void testExecuteGetReadOnlyStaleness() {
when(connection.getDialect()).thenReturn(dialect);
ConnectionStatementExecutorImpl executor = new ConnectionStatementExecutorImpl(connection);
when(connection.getReadOnlyStaleness()).thenReturn(TimestampBound.strong());
- statement
- .getClientSideStatement()
- .execute(
- executor, String.format("show variable %sread_only_staleness", getNamespace(dialect)));
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(1)).getReadOnlyStaleness();
}
@@ -164,10 +155,7 @@ public void testExecuteGetOptimizerVersion() {
when(connection.getDialect()).thenReturn(dialect);
ConnectionStatementExecutorImpl executor = new ConnectionStatementExecutorImpl(connection);
when(connection.getOptimizerVersion()).thenReturn("1");
- statement
- .getClientSideStatement()
- .execute(
- executor, String.format("show variable %soptimizer_version", getNamespace(dialect)));
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(1)).getOptimizerVersion();
}
@@ -182,11 +170,7 @@ public void testExecuteGetOptimizerStatisticsPackage() {
when(connection.getDialect()).thenReturn(dialect);
ConnectionStatementExecutorImpl executor = new ConnectionStatementExecutorImpl(connection);
when(connection.getOptimizerStatisticsPackage()).thenReturn("custom-package");
- statement
- .getClientSideStatement()
- .execute(
- executor,
- String.format("show variable %soptimizer_statistics_package", getNamespace(dialect)));
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, times(1)).getOptimizerStatisticsPackage();
}
@@ -196,7 +180,7 @@ public void testExecuteBegin() {
for (String statement : subject.getClientSideStatement().getExampleStatements()) {
ConnectionImpl connection = mock(ConnectionImpl.class);
ConnectionStatementExecutorImpl executor = new ConnectionStatementExecutorImpl(connection);
- subject.getClientSideStatement().execute(executor, statement);
+ subject.getClientSideStatement().execute(executor, parse(statement));
verify(connection, times(1)).beginTransaction();
}
}
@@ -209,7 +193,7 @@ public void testExecuteCommit() {
ConnectionStatementExecutorImpl executor = mock(ConnectionStatementExecutorImpl.class);
when(executor.getConnection()).thenReturn(connection);
when(executor.statementCommit()).thenCallRealMethod();
- subject.getClientSideStatement().execute(executor, statement);
+ subject.getClientSideStatement().execute(executor, parse(statement));
verify(connection, times(1)).commit();
}
}
@@ -222,7 +206,7 @@ public void testExecuteRollback() {
ConnectionStatementExecutorImpl executor = mock(ConnectionStatementExecutorImpl.class);
when(executor.getConnection()).thenReturn(connection);
when(executor.statementRollback()).thenCallRealMethod();
- subject.getClientSideStatement().execute(executor, statement);
+ subject.getClientSideStatement().execute(executor, parse(statement));
verify(connection, times(1)).rollback();
}
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementWithOneParameterTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementWithOneParameterTest.java
index b68f78908b0..f4044316fc7 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementWithOneParameterTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementWithOneParameterTest.java
@@ -55,6 +55,10 @@ public void setup() {
parser = AbstractStatementParser.getInstance(dialect);
}
+ ParsedStatement parse(String sql) {
+ return parser.parse(Statement.of(sql));
+ }
+
@Test
public void testExecuteSetAutocommit() {
ParsedStatement subject = parser.parse(Statement.of("set autocommit = true"));
@@ -65,7 +69,7 @@ public void testExecuteSetAutocommit() {
for (Boolean mode : new Boolean[] {Boolean.FALSE, Boolean.TRUE}) {
subject
.getClientSideStatement()
- .execute(executor, String.format("set autocommit = %s", mode));
+ .execute(executor, parse(String.format("set autocommit = %s", mode)));
verify(connection, times(1)).setAutocommit(mode);
}
}
@@ -81,7 +85,8 @@ public void testExecuteSetReadOnly() {
for (Boolean mode : new Boolean[] {Boolean.FALSE, Boolean.TRUE}) {
subject
.getClientSideStatement()
- .execute(executor, String.format("set %sreadonly = %s", getNamespace(dialect), mode));
+ .execute(
+ executor, parse(String.format("set %sreadonly = %s", getNamespace(dialect), mode)));
verify(connection, times(1)).setReadOnly(mode);
}
}
@@ -98,7 +103,8 @@ public void testExecuteSetReadOnlyTo() {
for (Boolean mode : new Boolean[] {Boolean.FALSE, Boolean.TRUE}) {
subject
.getClientSideStatement()
- .execute(executor, String.format("set %sreadonly to %s", getNamespace(dialect), mode));
+ .execute(
+ executor, parse(String.format("set %sreadonly to %s", getNamespace(dialect), mode)));
verify(connection, times(1)).setReadOnly(mode);
}
}
@@ -117,7 +123,9 @@ public void testExecuteSetAutocommitDmlMode() {
.getClientSideStatement()
.execute(
executor,
- String.format("set %sautocommit_dml_mode='%s'", getNamespace(dialect), mode.name()));
+ parse(
+ String.format(
+ "set %sautocommit_dml_mode='%s'", getNamespace(dialect), mode.name())));
verify(connection, times(1)).setAutocommitDmlMode(mode);
}
}
@@ -136,13 +144,7 @@ public void testExecuteSetStatementTimeout() {
String.format(
"set statement_timeout='%d%s'",
val, ReadOnlyStalenessUtil.getTimeUnitAbbreviation(unit))));
- subject
- .getClientSideStatement()
- .execute(
- executor,
- String.format(
- "set statement_timeout='%d%s'",
- val, ReadOnlyStalenessUtil.getTimeUnitAbbreviation(unit)));
+ subject.getClientSideStatement().execute(executor, subject);
verify(connection, times(1)).setStatementTimeout(val, unit);
}
}
@@ -151,17 +153,15 @@ public void testExecuteSetStatementTimeout() {
Mockito.clearInvocations(connection);
ParsedStatement subject =
parser.parse(Statement.of(String.format("set statement_timeout=%d", val)));
- subject
- .getClientSideStatement()
- .execute(executor, String.format("set statement_timeout=%d", val));
+ subject.getClientSideStatement().execute(executor, subject);
verify(connection, times(1)).setStatementTimeout(val, TimeUnit.MILLISECONDS);
}
ParsedStatement subject = parser.parse(Statement.of("set statement_timeout=default"));
- subject.getClientSideStatement().execute(executor, "set statement_timeout=default");
+ subject.getClientSideStatement().execute(executor, subject);
} else {
ParsedStatement subject = parser.parse(Statement.of("set statement_timeout=null"));
- subject.getClientSideStatement().execute(executor, "set statement_timeout=null");
+ subject.getClientSideStatement().execute(executor, subject);
}
verify(connection, times(1)).clearStatementTimeout();
}
@@ -187,9 +187,10 @@ public void testExecuteSetReadOnlyStaleness() {
.getClientSideStatement()
.execute(
executor,
- String.format(
- "set %sread_only_staleness='%s'",
- getNamespace(dialect), timestampBoundToString(val)));
+ parse(
+ String.format(
+ "set %sread_only_staleness='%s'",
+ getNamespace(dialect), timestampBoundToString(val))));
verify(connection, times(1)).setReadOnlyStaleness(val);
}
}
@@ -225,7 +226,7 @@ public void testExecuteSetOptimizerVersion() {
.getClientSideStatement()
.execute(
executor,
- String.format("set %soptimizer_version='%s'", getNamespace(dialect), version));
+ parse(String.format("set %soptimizer_version='%s'", getNamespace(dialect), version)));
verify(connection, times(1)).setOptimizerVersion(version);
}
}
@@ -245,9 +246,10 @@ public void testExecuteSetOptimizerStatisticsPackage() {
.getClientSideStatement()
.execute(
executor,
- String.format(
- "set %soptimizer_statistics_package='%s'",
- getNamespace(dialect), statisticsPackage));
+ parse(
+ String.format(
+ "set %soptimizer_statistics_package='%s'",
+ getNamespace(dialect), statisticsPackage)));
verify(connection, times(1)).setOptimizerStatisticsPackage(statisticsPackage);
}
}
@@ -260,7 +262,7 @@ public void testExecuteSetTransaction() {
for (TransactionMode mode : TransactionMode.values()) {
subject
.getClientSideStatement()
- .execute(executor, String.format("set transaction %s", mode.getStatementString()));
+ .execute(executor, parse(String.format("set transaction %s", mode.getStatementString())));
verify(connection, times(1)).setTransactionMode(mode);
}
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ITAbstractSpannerTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ITAbstractSpannerTest.java
index 0c2396af952..5f2d88ac930 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ITAbstractSpannerTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ITAbstractSpannerTest.java
@@ -184,11 +184,11 @@ private static StatusRuntimeException createAbortedExceptionWithMinimalRetry() {
private static final String DEFAULT_KEY_FILE = null;
public static Database database;
- protected static String getKeyFile() {
+ public static String getKeyFile() {
return System.getProperty(GceTestEnvConfig.GCE_CREDENTIALS_FILE, DEFAULT_KEY_FILE);
}
- protected static boolean hasValidKeyFile() {
+ public static boolean hasValidKeyFile() {
return getKeyFile() != null && Files.exists(Paths.get(getKeyFile()));
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/MergedResultSetTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/MergedResultSetTest.java
new file mode 100644
index 00000000000..b9d9578d6b9
--- /dev/null
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/MergedResultSetTest.java
@@ -0,0 +1,191 @@
+/*
+ * Copyright 2023 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.assertThrows;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import com.google.cloud.spanner.ErrorCode;
+import com.google.cloud.spanner.ForwardingResultSet;
+import com.google.cloud.spanner.ResultSet;
+import com.google.cloud.spanner.ResultSetsHelper;
+import com.google.cloud.spanner.SpannerException;
+import com.google.cloud.spanner.SpannerExceptionFactory;
+import com.google.cloud.spanner.Struct;
+import java.util.ArrayList;
+import java.util.BitSet;
+import java.util.Collection;
+import java.util.List;
+import java.util.Random;
+import java.util.concurrent.atomic.AtomicInteger;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameter;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class MergedResultSetTest {
+
+ private static final class MockedResults {
+ final Connection connection;
+ final List partitions;
+ final List allRows;
+ final int minErrorIndex;
+
+ MockedResults(
+ Connection connection, List partitions, List allRows, int minErrorIndex) {
+ this.connection = connection;
+ this.partitions = partitions;
+ this.allRows = allRows;
+ this.minErrorIndex = minErrorIndex;
+ }
+ }
+
+ private static final class ResultSetWithError extends ForwardingResultSet {
+ private final int errorIndex;
+ private int currentIndex = 0;
+
+ ResultSetWithError(ResultSet delegate, int errorIndex) {
+ super(delegate);
+ this.errorIndex = errorIndex;
+ }
+
+ @Override
+ public boolean next() {
+ if (currentIndex == errorIndex) {
+ throw SpannerExceptionFactory.newSpannerException(ErrorCode.INTERNAL, "test error");
+ }
+ currentIndex++;
+ return super.next();
+ }
+ }
+
+ @Parameter(0)
+ public int numPartitions;
+
+ @Parameter(1)
+ public int maxRowsPerPartition;
+
+ @Parameter(2)
+ public int maxParallelism;
+
+ @Parameters(name = "numPartitions = {0}, maxRowsPerPartition = {1}, maxParallelism = {2}")
+ public static Collection parameters() {
+ List params = new ArrayList<>();
+ for (int numPartitions : new int[] {0, 1, 2, 5, 8}) {
+ for (int maxRowsPerPartition : new int[] {0, 1, 5, 10, 100}) {
+ for (int maxParallelism : new int[] {0, 1, 2, 4, 8}) {
+ params.add(new Object[] {numPartitions, maxRowsPerPartition, maxParallelism});
+ }
+ }
+ }
+ return params;
+ }
+
+ private MockedResults setupResults(boolean withErrors) {
+ Random random = new Random();
+ Connection connection = mock(Connection.class);
+ List partitions = new ArrayList<>();
+ List allRows = new ArrayList<>();
+ int minErrorIndex = Integer.MAX_VALUE;
+ for (int index = 0; index < numPartitions; index++) {
+ String partition = String.valueOf(index);
+ partitions.add(partition);
+ int numRows = maxRowsPerPartition == 0 ? 0 : random.nextInt(maxRowsPerPartition) + 1;
+ RandomResultSetGenerator generator = new RandomResultSetGenerator(numRows);
+ com.google.spanner.v1.ResultSet proto = generator.generate();
+ if (withErrors) {
+ // Add a random error somewhere in the result.
+ int errorIndex = numRows == 0 ? 0 : random.nextInt(numRows);
+ minErrorIndex = Math.min(minErrorIndex, errorIndex);
+ when(connection.runPartition(partition))
+ .thenReturn(new ResultSetWithError(ResultSetsHelper.fromProto(proto), errorIndex));
+ } else {
+ when(connection.runPartition(partition)).thenReturn(ResultSetsHelper.fromProto(proto));
+ try (ResultSet resultSet = ResultSetsHelper.fromProto(proto)) {
+ while (resultSet.next()) {
+ allRows.add(resultSet.getCurrentRowAsStruct());
+ }
+ }
+ }
+ }
+ return new MockedResults(connection, partitions, allRows, minErrorIndex);
+ }
+
+ @Test
+ public void testAllResultsAreReturned() {
+ MockedResults results = setupResults(false);
+ BitSet rowsFound = new BitSet(results.allRows.size());
+ try (MergedResultSet resultSet =
+ new MergedResultSet(results.connection, results.partitions, maxParallelism)) {
+ while (resultSet.next()) {
+ assertRowExists(results.allRows, resultSet.getCurrentRowAsStruct(), rowsFound);
+ }
+ // Check that all rows were found.
+ assertEquals(results.allRows.size(), rowsFound.nextClearBit(0));
+ // Check extended metadata.
+ assertEquals(numPartitions, resultSet.getNumPartitions());
+ if (maxParallelism > 0) {
+ assertEquals(Math.min(numPartitions, maxParallelism), resultSet.getParallelism());
+ } else {
+ int processors = Runtime.getRuntime().availableProcessors();
+ assertEquals(Math.min(numPartitions, processors), resultSet.getParallelism());
+ }
+ }
+ }
+
+ @Test
+ public void testResultSetStopsAfterFirstError() {
+ MockedResults results = setupResults(true);
+ try (MergedResultSet resultSet =
+ new MergedResultSet(results.connection, results.partitions, maxParallelism)) {
+ if (numPartitions > 0) {
+ AtomicInteger rowCount = new AtomicInteger();
+ SpannerException exception =
+ assertThrows(
+ SpannerException.class,
+ () -> {
+ while (resultSet.next()) {
+ rowCount.getAndIncrement();
+ }
+ });
+ assertEquals(ErrorCode.INTERNAL, exception.getErrorCode());
+ assertTrue(exception.getMessage(), exception.getMessage().contains("test error"));
+ // The result set should continue to throw the same error if we continue to call next().
+ SpannerException nextException = assertThrows(SpannerException.class, resultSet::next);
+ assertEquals(exception, nextException);
+ // We should see at least minErrorIndex rows before an error.
+ assertTrue(rowCount.get() >= results.minErrorIndex);
+ }
+ }
+ }
+
+ private void assertRowExists(List expectedRows, Struct row, BitSet rowsFound) {
+ for (int i = 0; i < expectedRows.size(); i++) {
+ if (row.equals(expectedRows.get(i))) {
+ rowsFound.set(i);
+ return;
+ }
+ }
+ fail("row not found: " + row);
+ }
+}
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
new file mode 100644
index 00000000000..af586b3f986
--- /dev/null
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/PartitionedQueryMockServerTest.java
@@ -0,0 +1,608 @@
+/*
+ * Copyright 2023 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.assertNotNull;
+import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import com.google.cloud.Timestamp;
+import com.google.cloud.spanner.Dialect;
+import com.google.cloud.spanner.ErrorCode;
+import com.google.cloud.spanner.MockSpannerServiceImpl.SimulatedExecutionTime;
+import com.google.cloud.spanner.MockSpannerServiceImpl.StatementResult;
+import com.google.cloud.spanner.PartitionOptions;
+import com.google.cloud.spanner.ResultSet;
+import com.google.cloud.spanner.SpannerException;
+import com.google.cloud.spanner.Statement;
+import com.google.spanner.v1.BeginTransactionRequest;
+import com.google.spanner.v1.CreateSessionRequest;
+import com.google.spanner.v1.ExecuteSqlRequest;
+import com.google.spanner.v1.PartitionQueryRequest;
+import io.grpc.Status;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameter;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class PartitionedQueryMockServerTest extends AbstractMockServerTest {
+
+ @Parameters(name = "dialect = {0}")
+ public static Object[] data() {
+ return Dialect.values();
+ }
+
+ @Parameter public Dialect dialect;
+
+ @Before
+ public void setupDialect() {
+ mockSpanner.putStatementResult(StatementResult.detectDialectResult(dialect));
+ }
+
+ @After
+ public void clearRequests() {
+ mockSpanner.clearRequests();
+ SpannerPool.closeSpannerPool();
+ }
+
+ @Test
+ public void testPartitionQuery() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ for (int i = 0; i < 2; i++) {
+ try (ResultSet resultSet =
+ connection.partitionQuery(
+ Statement.newBuilder("select * from my_table where id=@id")
+ .bind("p1")
+ .to(1L)
+ .build(),
+ PartitionOptions.newBuilder().build())) {
+ assertTrue(resultSet.next());
+ assertEquals(1, resultSet.getColumnCount());
+ PartitionId partitionId = PartitionId.decodeFromString(resultSet.getString("PARTITION"));
+ assertNotNull(partitionId);
+ assertFalse(resultSet.next());
+ }
+ }
+ }
+ assertEquals(2, mockSpanner.countRequestsOfType(CreateSessionRequest.class));
+ assertEquals(2, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(2, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ }
+
+ @Test
+ public void testPartitionQueryInReadOnlyTransaction() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(false);
+ connection.setReadOnly(true);
+ for (int i = 0; i < 2; i++) {
+ try (ResultSet resultSet =
+ connection.partitionQuery(
+ Statement.newBuilder("select * from my_table where id=@id")
+ .bind("p1")
+ .to(1L)
+ .build(),
+ PartitionOptions.newBuilder().build())) {
+ assertTrue(resultSet.next());
+ assertFalse(resultSet.next());
+ }
+ }
+ }
+ assertEquals(1, mockSpanner.countRequestsOfType(CreateSessionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(2, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ }
+
+ @Test
+ public void testMixNormalAndPartitionQueryInReadOnlyTransaction() {
+ List readTimestamps = new ArrayList<>();
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(false);
+ connection.setReadOnly(true);
+ for (int i = 0; i < 2; i++) {
+ try (ResultSet resultSet = connection.executeQuery(SELECT_COUNT_STATEMENT)) {
+ assertTrue(resultSet.next());
+ assertEquals(0L, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ try (ResultSet resultSet =
+ connection.partitionQuery(
+ Statement.newBuilder("select * from my_table where id=@id")
+ .bind("p1")
+ .to(1L)
+ .build(),
+ PartitionOptions.newBuilder().build())) {
+ assertTrue(resultSet.next());
+ assertFalse(resultSet.next());
+ }
+ readTimestamps.add(connection.getReadTimestamp());
+ connection.commit();
+ }
+ }
+ // The above will start two transactions:
+ // 1. The initial 'normal' read-only transaction.
+ // 2. The batch read-only transaction. The latter will use the same read timestamp as the normal
+ // read-only transaction.
+ assertEquals(2, mockSpanner.countRequestsOfType(CreateSessionRequest.class));
+ assertEquals(4, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(2, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+
+ List beginRequests =
+ mockSpanner.getRequestsOfType(BeginTransactionRequest.class);
+ assertTrue(beginRequests.get(0).getOptions().getReadOnly().hasStrong());
+ assertTrue(beginRequests.get(1).getOptions().getReadOnly().hasReadTimestamp());
+ assertTrue(beginRequests.get(2).getOptions().getReadOnly().hasStrong());
+ assertTrue(beginRequests.get(3).getOptions().getReadOnly().hasReadTimestamp());
+
+ assertEquals(
+ readTimestamps.get(0),
+ Timestamp.fromProto(beginRequests.get(1).getOptions().getReadOnly().getReadTimestamp()));
+ assertEquals(
+ readTimestamps.get(1),
+ Timestamp.fromProto(beginRequests.get(3).getOptions().getReadOnly().getReadTimestamp()));
+ }
+
+ @Test
+ public void testRunPartition() {
+ int generatedRowCount = 20;
+ RandomResultSetGenerator generator = new RandomResultSetGenerator(generatedRowCount);
+ Statement statement = Statement.of("select * from random_table");
+ mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate()));
+
+ int maxPartitions = 5;
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ for (boolean dataBoostEnabled : new boolean[] {false, true}) {
+ connection.setDataBoostEnabled(dataBoostEnabled);
+ assertEquals(dataBoostEnabled, connection.isDataBoostEnabled());
+ int rowCount = 0;
+ try (ResultSet partitions =
+ connection.partitionQuery(
+ statement, PartitionOptions.newBuilder().setMaxPartitions(maxPartitions).build())) {
+
+ int partitionCount = 0;
+ while (partitions.next()) {
+ try (ResultSet resultSet = connection.runPartition(partitions.getString("PARTITION"))) {
+ while (resultSet.next()) {
+ rowCount++;
+ }
+ }
+ partitionCount++;
+ }
+ assertEquals(maxPartitions, partitionCount);
+ // The mock server is not smart enough to actually only return a partition of a query, so
+ // each partition just returns all rows of the query.
+ assertEquals(generatedRowCount * maxPartitions, rowCount);
+ }
+
+ assertEquals(1, mockSpanner.countRequestsOfType(CreateSessionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ assertEquals(maxPartitions, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertFalse(
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).stream()
+ .anyMatch(request -> request.getPartitionToken().isEmpty()));
+ assertFalse(
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).stream()
+ .anyMatch(request -> request.getDataBoostEnabled() != dataBoostEnabled));
+ mockSpanner.clearRequests();
+ }
+ }
+ }
+
+ @Test
+ public void testRunPartitionUsingSql() {
+ int generatedRowCount = 20;
+ RandomResultSetGenerator generator = new RandomResultSetGenerator(generatedRowCount);
+ String paramName = dialect == Dialect.POSTGRESQL ? "$1" : "@p1";
+ Statement statement =
+ Statement.newBuilder(String.format("select * from random_table where active=%s", paramName))
+ .bind("p1")
+ .to(true)
+ .build();
+ mockSpanner.putStatementResult(StatementResult.query(statement, generator.generate()));
+ String prefix = dialect == Dialect.POSTGRESQL ? "spanner." : "";
+
+ int maxPartitions = 5;
+ try (Connection connection = createConnection()) {
+ connection.execute(Statement.of("set autocommit=true"));
+ assertTrue(connection.isAutocommit());
+ for (boolean dataBoostEnabled : new boolean[] {false, true}) {
+ connection.execute(
+ Statement.of(String.format("set %sdata_boost_enabled=%s", prefix, dataBoostEnabled)));
+ try (ResultSet resultSet =
+ connection.executeQuery(
+ Statement.of(String.format("show variable %sdata_boost_enabled", prefix)))) {
+ assertTrue(resultSet.next());
+ assertEquals(dataBoostEnabled, resultSet.getBoolean(0));
+ assertFalse(resultSet.next());
+ }
+ connection.execute(
+ Statement.of(String.format("set %smax_partitions=%d", prefix, maxPartitions)));
+ try (ResultSet resultSet =
+ connection.executeQuery(
+ Statement.of(String.format("show variable %smax_partitions", prefix)))) {
+ assertTrue(resultSet.next());
+ assertEquals(maxPartitions, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+
+ for (boolean useLiteral : new boolean[] {true, false}) {
+ try (ResultSet partitions =
+ connection.executeQuery(
+ Statement.newBuilder("partition " + statement.getSql())
+ .bind("p1")
+ .to(true)
+ .build())) {
+ int rowCount = 0;
+ int partitionCount = 0;
+ while (partitions.next()) {
+ try (ResultSet resultSet =
+ connection.executeQuery(
+ useLiteral
+ ? Statement.of(
+ "RUN\tPARTITION\n '" + partitions.getString("PARTITION") + "'")
+ : Statement.newBuilder("RUN PARTITION")
+ .bind("PARTITION")
+ .to(partitions.getString("PARTITION"))
+ .build())) {
+ while (resultSet.next()) {
+ rowCount++;
+ }
+ }
+ partitionCount++;
+ }
+ assertEquals(maxPartitions, partitionCount);
+ // The mock server is not smart enough to actually only return a partition of a query,
+ // so each partition just returns all rows of the query.
+ assertEquals(generatedRowCount * maxPartitions, rowCount);
+ }
+
+ assertEquals(1, mockSpanner.countRequestsOfType(CreateSessionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ assertEquals(maxPartitions, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertFalse(
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).stream()
+ .anyMatch(request -> request.getPartitionToken().isEmpty()));
+ assertFalse(
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).stream()
+ .anyMatch(request -> request.getDataBoostEnabled() != dataBoostEnabled));
+ mockSpanner.clearRequests();
+ }
+ }
+ }
+ }
+
+ @Test
+ public void testRunPartitionedQuery() {
+ int generatedRowCount = 20;
+ 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 = 5;
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ try (PartitionedQueryResultSet resultSet =
+ connection.runPartitionedQuery(
+ statement, PartitionOptions.newBuilder().setMaxPartitions(maxPartitions).build())) {
+ int rowCount = 0;
+ while (resultSet.next()) {
+ rowCount++;
+ }
+ // The mock server is not smart enough to actually return only a partition of the query.
+ // Instead, the server returns the same query result for each partition, so the actual row
+ // count will be maxPartitions * generatedRowCount.
+ assertEquals(maxPartitions * generatedRowCount, rowCount);
+ }
+ }
+ assertEquals(1, mockSpanner.countRequestsOfType(CreateSessionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ }
+
+ @Test
+ public void testRunEmptyPartitionedQuery() {
+ 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 = 5;
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ try (PartitionedQueryResultSet resultSet =
+ connection.runPartitionedQuery(
+ statement, PartitionOptions.newBuilder().setMaxPartitions(maxPartitions).build())) {
+ assertFalse(resultSet.next());
+ assertNotNull(resultSet.getMetadata());
+ assertEquals(18, resultSet.getMetadata().getRowType().getFieldsCount());
+ assertNotNull(resultSet.getType());
+ assertEquals(18, resultSet.getType().getStructFields().size());
+ }
+ }
+ assertEquals(1, mockSpanner.countRequestsOfType(CreateSessionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ }
+
+ @Test
+ public void testRunPartitionedQueryUsingSql() {
+ int generatedRowCount = 20;
+ 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()));
+ String prefix = dialect == Dialect.POSTGRESQL ? "spanner." : "";
+
+ int maxPartitions = 5;
+ int maxParallelism = 4;
+ try (Connection connection = createConnection()) {
+ connection.execute(Statement.of("set autocommit=true"));
+ assertTrue(connection.isAutocommit());
+ for (boolean dataBoostEnabled : new boolean[] {false, true}) {
+ connection.execute(
+ Statement.of(String.format("set %sdata_boost_enabled=%s", prefix, dataBoostEnabled)));
+ try (ResultSet resultSet =
+ connection.executeQuery(
+ Statement.of(String.format("show variable %sdata_boost_enabled", prefix)))) {
+ assertTrue(resultSet.next());
+ assertEquals(dataBoostEnabled, resultSet.getBoolean(0));
+ assertFalse(resultSet.next());
+ }
+ connection.execute(
+ Statement.of(String.format("set %smax_partitions=%d", prefix, maxPartitions)));
+ try (ResultSet resultSet =
+ connection.executeQuery(
+ Statement.of(String.format("show variable %smax_partitions", prefix)))) {
+ assertTrue(resultSet.next());
+ assertEquals(maxPartitions, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ connection.execute(
+ Statement.of(
+ String.format("set %smax_partitioned_parallelism=%d", prefix, maxParallelism)));
+ try (ResultSet resultSet =
+ connection.executeQuery(
+ Statement.of(
+ String.format("show variable %smax_partitioned_parallelism", prefix)))) {
+ assertTrue(resultSet.next());
+ assertEquals(maxParallelism, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+
+ try (ResultSet resultSet =
+ connection.executeQuery(
+ Statement.newBuilder(
+ "run\tpartitioned query\n select * from random_table where active=@active")
+ .bind("active")
+ .to(true)
+ .build())) {
+ int rowCount = 0;
+ while (resultSet.next()) {
+ rowCount++;
+ }
+ // The mock server is not smart enough to actually return only a partition of the query.
+ // Instead, the server returns the same query result for each partition, so the actual row
+ // count will be maxPartitions * generatedRowCount.
+ assertEquals(maxPartitions * generatedRowCount, rowCount);
+ }
+ }
+ }
+ // We have 2 requests of each, as we run the query with data boost both enabled and disabled.
+ assertEquals(2, mockSpanner.countRequestsOfType(CreateSessionRequest.class));
+ assertEquals(2, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(2, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ }
+
+ @Test
+ public void testRunPartitionedQueryWithError() {
+ int generatedRowCount = 20;
+ 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 = 5;
+ try (Connection connection = createConnection()) {
+ // Make sure the query that determines the dialect has been executed before setting any query
+ // errors. This ensures that the error is returned for the partitioned query, and not for the
+ // query that determines the dialect.
+ assertEquals(dialect, connection.getDialect());
+ int errorIndex = new Random().nextInt(generatedRowCount);
+ mockSpanner.setExecuteStreamingSqlExecutionTime(
+ SimulatedExecutionTime.ofStreamException(
+ Status.RESOURCE_EXHAUSTED.withDescription("test error").asRuntimeException(),
+ errorIndex));
+ connection.setAutocommit(true);
+
+ int rowCount = 0;
+ try (ResultSet resultSet =
+ connection.runPartitionedQuery(
+ statement, PartitionOptions.newBuilder().setMaxPartitions(maxPartitions).build())) {
+ while (resultSet.next()) {
+ rowCount++;
+ }
+ fail(
+ "missing expected exception for error index "
+ + errorIndex
+ + ". Got row count "
+ + rowCount);
+ } catch (SpannerException exception) {
+ assertEquals(ErrorCode.RESOURCE_EXHAUSTED, exception.getErrorCode());
+ assertTrue(exception.getMessage().contains("test error"));
+ // The mock server is not smart enough to actually return only a partition of the query.
+ // Instead, the server returns the same query result for each partition, so the actual row
+ // count will be (at most):
+ // maxPartitions * generatedRowCount - (generatedRowCount - errorIndex).
+ // The error that is added to the stream is removed the first time it is encountered, so
+ // only one of the partition executors will see it.
+ assertTrue(
+ String.format(
+ "rowCount (%d) should be <= maxPartitions (%d) * generatedRowCount (%d) - (generatedRowCount (%d) - errorIndex (%d))",
+ rowCount, maxPartitions, generatedRowCount, generatedRowCount, errorIndex),
+ rowCount <= (maxPartitions * generatedRowCount - (generatedRowCount - errorIndex)));
+ }
+ }
+ assertEquals(1, mockSpanner.countRequestsOfType(CreateSessionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ }
+
+ @Test
+ public void testRunPartitionedQueryWithMaxParallelism() {
+ int generatedRowCount = 20;
+ 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 = 15;
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ for (int maxParallelism : new int[] {0, 1, 2, 5, 20}) {
+ connection.setMaxPartitionedParallelism(maxParallelism);
+ try (PartitionedQueryResultSet resultSet =
+ connection.runPartitionedQuery(
+ statement, PartitionOptions.newBuilder().setMaxPartitions(maxPartitions).build())) {
+ int expectedParallelism;
+ if (maxParallelism == 0) {
+ expectedParallelism =
+ Math.min(maxPartitions, Runtime.getRuntime().availableProcessors());
+ } else {
+ expectedParallelism = Math.min(maxParallelism, maxPartitions);
+ }
+ assertEquals(expectedParallelism, resultSet.getParallelism());
+ int rowCount = 0;
+ while (resultSet.next()) {
+ rowCount++;
+ }
+ // The mock server is not smart enough to actually return only a partition of the query.
+ // Instead, the server returns the same query result for each partition, so the actual row
+ // count will be maxPartitions * generatedRowCount.
+ assertEquals(maxPartitions * generatedRowCount, rowCount);
+ }
+ }
+ }
+ assertEquals(5, mockSpanner.countRequestsOfType(CreateSessionRequest.class));
+ assertEquals(5, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(5, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ }
+
+ @Test
+ public void testAutoPartitionMode() {
+ int generatedRowCount = 5;
+ 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()));
+ String prefix = dialect == Dialect.POSTGRESQL ? "spanner." : "";
+
+ int maxPartitions = 4;
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ connection.setMaxPartitions(maxPartitions);
+
+ connection.execute(Statement.of(String.format("set %sauto_partition_mode=true", prefix)));
+ try (ResultSet resultSet =
+ connection.executeQuery(
+ Statement.of(String.format("show variable %sauto_partition_mode", prefix)))) {
+ assertTrue(resultSet.next());
+ assertTrue(resultSet.getBoolean(0));
+ assertFalse(resultSet.next());
+ }
+
+ try (ResultSet resultSet = connection.executeQuery(statement)) {
+ int rowCount = 0;
+ while (resultSet.next()) {
+ rowCount++;
+ }
+ assertEquals(maxPartitions * generatedRowCount, rowCount);
+ }
+ try (ResultSet resultSet = connection.execute(statement).getResultSet()) {
+ int rowCount = 0;
+ while (resultSet.next()) {
+ rowCount++;
+ }
+ assertEquals(maxPartitions * generatedRowCount, rowCount);
+ }
+ SpannerException exception =
+ assertThrows(SpannerException.class, () -> connection.executeQueryAsync(statement));
+ assertEquals(ErrorCode.FAILED_PRECONDITION, exception.getErrorCode());
+ assertTrue(
+ exception.getMessage(),
+ exception.getMessage().contains("Partitioned queries cannot be executed asynchronously"));
+ exception = assertThrows(SpannerException.class, () -> connection.executeAsync(statement));
+ assertEquals(ErrorCode.FAILED_PRECONDITION, exception.getErrorCode());
+ assertTrue(
+ exception.getMessage(),
+ exception.getMessage().contains("Partitioned queries cannot be executed asynchronously"));
+
+ // Turn off autocommit mode. This will cause the next query to start a read/write transaction.
+ // These also do not support partitioned queries.
+ connection.setAutocommit(false);
+ exception = assertThrows(SpannerException.class, () -> connection.executeQuery(statement));
+ assertEquals(ErrorCode.FAILED_PRECONDITION, exception.getErrorCode());
+ assertTrue(
+ exception.getMessage(),
+ exception
+ .getMessage()
+ .contains("Partition query is not supported for read/write transaction"));
+ exception = assertThrows(SpannerException.class, () -> connection.execute(statement));
+ assertEquals(ErrorCode.FAILED_PRECONDITION, exception.getErrorCode());
+ assertTrue(
+ exception.getMessage(),
+ exception
+ .getMessage()
+ .contains("Partition query is not supported for read/write transaction"));
+ }
+ assertEquals(2, mockSpanner.countRequestsOfType(CreateSessionRequest.class));
+ assertEquals(2, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(2, mockSpanner.countRequestsOfType(PartitionQueryRequest.class));
+ }
+}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ReadOnlyStalenessTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ReadOnlyStalenessTest.java
index fa155ea33bc..18116475f95 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ReadOnlyStalenessTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ReadOnlyStalenessTest.java
@@ -26,6 +26,7 @@
import com.google.cloud.NoCredentials;
import com.google.cloud.Timestamp;
+import com.google.cloud.spanner.BatchClient;
import com.google.cloud.spanner.DatabaseClient;
import com.google.cloud.spanner.Dialect;
import com.google.cloud.spanner.ReadOnlyTransaction;
@@ -61,7 +62,7 @@ private ConnectionImpl createConnection(ConnectionOptions options) {
when(readOnlyTx.executeQuery(Statement.of(SELECT))).thenReturn(mock(ResultSet.class));
when(dbClient.readOnlyTransaction(any(TimestampBound.class))).thenReturn(readOnlyTx);
- return new ConnectionImpl(options, spannerPool, ddlClient, dbClient);
+ return new ConnectionImpl(options, spannerPool, ddlClient, dbClient, mock(BatchClient.class));
}
@Test
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ReadOnlyTransactionTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ReadOnlyTransactionTest.java
index 06b855cfd77..c1419565b72 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ReadOnlyTransactionTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ReadOnlyTransactionTest.java
@@ -31,6 +31,7 @@
import com.google.api.core.ApiFuture;
import com.google.cloud.Timestamp;
import com.google.cloud.spanner.AsyncResultSet;
+import com.google.cloud.spanner.BatchClient;
import com.google.cloud.spanner.DatabaseClient;
import com.google.cloud.spanner.ErrorCode;
import com.google.cloud.spanner.Key;
@@ -176,6 +177,7 @@ private ReadOnlyTransaction createSubject(TimestampBound staleness) {
.thenReturn(new SimpleReadOnlyTransaction(staleness));
return ReadOnlyTransaction.newBuilder()
.setDatabaseClient(client)
+ .setBatchClient(mock(BatchClient.class))
.setReadOnlyStaleness(staleness)
.withStatementExecutor(new StatementExecutor())
.build();
@@ -315,6 +317,7 @@ public void testExecuteQueryWithOptionsTest() {
ReadOnlyTransaction transaction =
ReadOnlyTransaction.newBuilder()
.setDatabaseClient(client)
+ .setBatchClient(mock(BatchClient.class))
.setReadOnlyStaleness(TimestampBound.strong())
.withStatementExecutor(new StatementExecutor())
.build();
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SetPgSessionCharacteristicsTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SetPgSessionCharacteristicsTest.java
index 77240b74595..97394f67d0a 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SetPgSessionCharacteristicsTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SetPgSessionCharacteristicsTest.java
@@ -44,7 +44,7 @@ public void testSetIsolationLevelDefault() {
String sql = "set session characteristics as transaction isolation level default";
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, never()).setReadOnly(anyBoolean());
}
@@ -57,7 +57,7 @@ public void testSetIsolationLevelSerializable() {
String sql = "set session characteristics as transaction isolation level serializable";
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection, never()).setReadOnly(anyBoolean());
}
@@ -70,7 +70,7 @@ public void testSetIsolationLevelReadOnly() {
String sql = "set\tsession\ncharacteristics as transaction read only";
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection).setReadOnly(true);
verify(connection, never()).setReadOnly(false);
@@ -84,7 +84,7 @@ public void testSetIsolationLevelReadWrite() {
String sql = "set session characteristics as transaction read write";
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection).setReadOnly(false);
verify(connection, never()).setReadOnly(true);
@@ -99,7 +99,7 @@ public void testSetIsolationLevelSerializableReadWrite() {
"set session characteristics as transaction isolation level serializable read write";
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection).setReadOnly(false);
verify(connection, never()).setReadOnly(true);
@@ -114,7 +114,7 @@ public void testSetIsolationLevelSerializableReadOnly() {
"set session characteristics as transaction isolation level serializable read only";
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection).setReadOnly(true);
}
@@ -128,7 +128,7 @@ public void testSetMultipleTransactionModes() {
"set session characteristics as transaction isolation level default, read only, isolation level serializable, read write";
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
verify(connection).setReadOnly(false);
verify(connection, never()).setReadOnly(true);
@@ -154,7 +154,7 @@ public void testDefaultTransactionIsolation() {
}) {
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
}
// Setting the isolation level is a no-op.
@@ -189,7 +189,7 @@ public void testDefaultTransactionReadOnlyTrue() {
for (String sql : statements) {
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
}
verify(connection, times(statements.length)).setReadOnly(true);
@@ -223,7 +223,7 @@ public void testDefaultTransactionReadOnlyFalse() {
for (String sql : statements) {
ParsedStatement statement = parser.parse(Statement.of(sql));
assertEquals(sql, StatementType.CLIENT_SIDE, statement.getType());
- statement.getClientSideStatement().execute(executor, sql);
+ statement.getClientSideStatement().execute(executor, statement);
}
verify(connection, times(statements.length)).setReadOnly(false);
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 a96fc59d10f..60a5ede129a 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
@@ -32,6 +32,7 @@
import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.Timestamp;
import com.google.cloud.spanner.AsyncResultSet;
+import com.google.cloud.spanner.BatchClient;
import com.google.cloud.spanner.CommitResponse;
import com.google.cloud.spanner.DatabaseClient;
import com.google.cloud.spanner.Dialect;
@@ -443,6 +444,7 @@ public TransactionRunner allowNestedTransaction() {
return SingleUseTransaction.newBuilder()
.setDatabaseClient(dbClient)
+ .setBatchClient(mock(BatchClient.class))
.setDdlClient(ddlClient)
.setAutocommitDmlMode(dmlMode)
.setReadOnly(readOnly)
@@ -609,6 +611,7 @@ public void testExecuteQueryWithOptionsTest() {
SingleUseTransaction transaction =
SingleUseTransaction.newBuilder()
.setDatabaseClient(client)
+ .setBatchClient(mock(BatchClient.class))
.setDdlClient(mock(DdlClient.class))
.setAutocommitDmlMode(AutocommitDmlMode.TRANSACTIONAL)
.withStatementExecutor(executor)
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SpannerPoolTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SpannerPoolTest.java
index 59c9065e41e..ed68f05c5f4 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SpannerPoolTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SpannerPoolTest.java
@@ -27,6 +27,7 @@
import com.google.auth.Credentials;
import com.google.cloud.NoCredentials;
+import com.google.cloud.spanner.BatchClient;
import com.google.cloud.spanner.DatabaseClient;
import com.google.cloud.spanner.Dialect;
import com.google.cloud.spanner.ErrorCode;
@@ -65,6 +66,8 @@ public class SpannerPoolTest {
private ConnectionOptions options5 = mock(ConnectionOptions.class);
private ConnectionOptions options6 = mock(ConnectionOptions.class);
+ private ConnectionOptions options7 = mock(ConnectionOptions.class);
+ private ConnectionOptions options8 = mock(ConnectionOptions.class);
private SpannerPool createSubjectAndMocks() {
return createSubjectAndMocks(0L, Ticker.systemTicker());
@@ -93,6 +96,10 @@ Spanner createSpanner(SpannerPoolKey key, ConnectionOptions options) {
// ConnectionOptions with no specific credentials.
when(options5.getProjectId()).thenReturn("test-project-3");
when(options6.getProjectId()).thenReturn("test-project-3");
+ when(options7.getProjectId()).thenReturn("test-project-3");
+ when(options7.isRouteToLeader()).thenReturn(true);
+ when(options8.getProjectId()).thenReturn("test-project-3");
+ when(options8.isRouteToLeader()).thenReturn(false);
return pool;
}
@@ -111,40 +118,43 @@ public void testGetSpanner() {
// assert equal
spanner1 = pool.getSpanner(options1, connection1);
spanner2 = pool.getSpanner(options1, connection2);
- assertThat(spanner1).isEqualTo(spanner2);
+ assertEquals(spanner1, spanner2);
spanner1 = pool.getSpanner(options2, connection1);
spanner2 = pool.getSpanner(options2, connection2);
- assertThat(spanner1).isEqualTo(spanner2);
+ assertEquals(spanner1, spanner2);
spanner1 = pool.getSpanner(options3, connection1);
spanner2 = pool.getSpanner(options3, connection2);
- assertThat(spanner1).isEqualTo(spanner2);
+ assertEquals(spanner1, spanner2);
spanner1 = pool.getSpanner(options4, connection1);
spanner2 = pool.getSpanner(options4, connection2);
- assertThat(spanner1).isEqualTo(spanner2);
+ assertEquals(spanner1, spanner2);
// Options 5 and 6 both use default credentials.
spanner1 = pool.getSpanner(options5, connection1);
spanner2 = pool.getSpanner(options6, connection2);
- assertThat(spanner1).isEqualTo(spanner2);
+ assertEquals(spanner1, spanner2);
// assert not equal
spanner1 = pool.getSpanner(options1, connection1);
spanner2 = pool.getSpanner(options2, connection2);
- assertThat(spanner1).isNotEqualTo(spanner2);
+ assertNotEquals(spanner1, spanner2);
spanner1 = pool.getSpanner(options1, connection1);
spanner2 = pool.getSpanner(options3, connection2);
- assertThat(spanner1).isNotEqualTo(spanner2);
+ assertNotEquals(spanner1, spanner2);
spanner1 = pool.getSpanner(options1, connection1);
spanner2 = pool.getSpanner(options4, connection2);
- assertThat(spanner1).isNotEqualTo(spanner2);
+ assertNotEquals(spanner1, spanner2);
spanner1 = pool.getSpanner(options2, connection1);
spanner2 = pool.getSpanner(options3, connection2);
- assertThat(spanner1).isNotEqualTo(spanner2);
+ assertNotEquals(spanner1, spanner2);
spanner1 = pool.getSpanner(options2, connection1);
spanner2 = pool.getSpanner(options4, connection2);
- assertThat(spanner1).isNotEqualTo(spanner2);
+ assertNotEquals(spanner1, spanner2);
spanner1 = pool.getSpanner(options3, connection1);
spanner2 = pool.getSpanner(options4, connection2);
- assertThat(spanner1).isNotEqualTo(spanner2);
+ assertNotEquals(spanner1, spanner2);
+ spanner1 = pool.getSpanner(options7, connection1);
+ spanner2 = pool.getSpanner(options8, connection2);
+ assertNotEquals(spanner1, spanner2);
}
@Test
@@ -288,7 +298,9 @@ public void testLeakedConnection() {
DatabaseClient dbClient = mock(DatabaseClient.class);
when(dbClient.getDialect()).thenReturn(Dialect.GOOGLE_STANDARD_SQL);
// create an actual connection object but not in a try-with-resources block
- Connection connection = new ConnectionImpl(options, SpannerPool.INSTANCE, ddlClient, dbClient);
+ Connection connection =
+ new ConnectionImpl(
+ options, SpannerPool.INSTANCE, ddlClient, dbClient, mock(BatchClient.class));
// try to close the application which should fail
try {
ConnectionOptions.closeSpanner();
@@ -460,14 +472,30 @@ public void testSpannerPoolKeyEquality() {
.setUri("cloudspanner:/projects/p/instances/i/databases/d")
.setCredentials(NoCredentials.getInstance())
.build();
+ // Not passing in routeToLeader in Connection URI is equivalent to passing it as true,
+ // as routeToLeader is true by default.
+ ConnectionOptions options4 =
+ ConnectionOptions.newBuilder()
+ .setUri("cloudspanner:/projects/p/instances/i/databases/d?routeToLeader=true")
+ .setCredentials(NoCredentials.getInstance())
+ .build();
+ ConnectionOptions options5 =
+ ConnectionOptions.newBuilder()
+ .setUri("cloudspanner:/projects/p/instances/i/databases/d?routeToLeader=false")
+ .setCredentials(NoCredentials.getInstance())
+ .build();
SpannerPoolKey key1 = SpannerPoolKey.of(options1);
SpannerPoolKey key2 = SpannerPoolKey.of(options2);
SpannerPoolKey key3 = SpannerPoolKey.of(options3);
+ SpannerPoolKey key4 = SpannerPoolKey.of(options4);
+ SpannerPoolKey key5 = SpannerPoolKey.of(options5);
assertNotEquals(key1, key2);
assertEquals(key2, key3);
assertNotEquals(key1, key3);
assertNotEquals(key1, new Object());
+ assertEquals(key3, key4);
+ assertNotEquals(key4, key5);
}
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/StatementParserTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/StatementParserTest.java
index 56760d900af..8246ca10760 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/StatementParserTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/StatementParserTest.java
@@ -33,6 +33,7 @@
import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
import com.google.cloud.spanner.connection.AbstractStatementParser.StatementType;
import com.google.cloud.spanner.connection.ClientSideStatementImpl.CompileException;
+import com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.truth.Truth;
@@ -954,7 +955,17 @@ private void testParseStatement(
assertParsing(withTrailingLinefeeds(statement), statementClass);
assertThat(parse(withInvalidPrefix(statement))).isNull();
- assertThat(parse(withInvalidSuffix(statement))).isNull();
+
+ ClientSideStatementImpl parseClientSideStatement = parser.parseClientSideStatement(statement);
+ boolean anySuffixAllowed =
+ parseClientSideStatement.getStatementType() == ClientSideStatementType.PARTITION
+ || parseClientSideStatement.getStatementType()
+ == ClientSideStatementType.RUN_PARTITIONED_QUERY;
+ if (anySuffixAllowed) {
+ assertThat(parse(withInvalidSuffix(statement))).isNotNull();
+ } else {
+ assertThat(parse(withInvalidSuffix(statement))).isNull();
+ }
assertThat(parse(withPrefix("%", statement))).isNull();
assertThat(parse(withPrefix("_", statement))).isNull();
@@ -966,17 +977,19 @@ private void testParseStatement(
assertThat(parse(withPrefix("(", statement))).isNull();
assertThat(parse(withPrefix(")", statement))).isNull();
- Truth.assertWithMessage(withSuffix("%", statement) + " is not a valid statement")
- .that(parse(withSuffix("%", statement)))
- .isNull();
- assertThat(parse(withSuffix("_", statement))).isNull();
- assertThat(parse(withSuffix("&", statement))).isNull();
- assertThat(parse(withSuffix("$", statement))).isNull();
- assertThat(parse(withSuffix("@", statement))).isNull();
- assertThat(parse(withSuffix("!", statement))).isNull();
- assertThat(parse(withSuffix("*", statement))).isNull();
- assertThat(parse(withSuffix("(", statement))).isNull();
- assertThat(parse(withSuffix(")", statement))).isNull();
+ if (!anySuffixAllowed) {
+ Truth.assertWithMessage(withSuffix("%", statement) + " is not a valid statement")
+ .that(parse(withSuffix("%", statement)))
+ .isNull();
+ assertThat(parse(withSuffix("_", statement))).isNull();
+ assertThat(parse(withSuffix("&", statement))).isNull();
+ assertThat(parse(withSuffix("$", statement))).isNull();
+ assertThat(parse(withSuffix("@", statement))).isNull();
+ assertThat(parse(withSuffix("!", statement))).isNull();
+ assertThat(parse(withSuffix("*", statement))).isNull();
+ assertThat(parse(withSuffix("(", statement))).isNull();
+ assertThat(parse(withSuffix(")", statement))).isNull();
+ }
}
private void testParseStatementWithOneParameterAtTheEnd(
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITBatchReadTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITBatchReadTest.java
index 9a50a5ca7be..11be7df0430 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITBatchReadTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITBatchReadTest.java
@@ -16,8 +16,13 @@
package com.google.cloud.spanner.it;
+import static com.google.cloud.spanner.connection.ITAbstractSpannerTest.extractConnectionUrl;
+import static com.google.cloud.spanner.connection.ITAbstractSpannerTest.getKeyFile;
+import static com.google.cloud.spanner.connection.ITAbstractSpannerTest.hasValidKeyFile;
import static com.google.cloud.spanner.testing.EmulatorSpannerHelper.isUsingEmulator;
import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeFalse;
import com.google.cloud.ByteArray;
@@ -38,6 +43,9 @@
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.Statement;
import com.google.cloud.spanner.TimestampBound;
+import com.google.cloud.spanner.connection.Connection;
+import com.google.cloud.spanner.connection.ConnectionOptions;
+import com.google.cloud.spanner.connection.PartitionedQueryResultSet;
import com.google.common.collect.ImmutableList;
import com.google.common.hash.HashFunction;
import com.google.common.hash.Hashing;
@@ -77,7 +85,9 @@ public class ITBatchReadTest {
private static HashFunction hasher;
private static BatchClient googleStandardSQLBatchClient;
+ private static Database googleStandardDatabase;
private static BatchClient postgreSQLBatchClient;
+ private static Database postgreSQLDatabase;
private static final Random RANDOM = new Random();
private BatchReadOnlyTransaction batchTxn;
@@ -107,7 +117,7 @@ private static List manyRows() {
@BeforeClass
public static void setUpDatabase() throws Exception {
- Database googleStandardDatabase =
+ googleStandardDatabase =
env.getTestHelper()
.createTestDatabase(
"CREATE TABLE "
@@ -126,7 +136,7 @@ public static void setUpDatabase() throws Exception {
databaseClients.add(env.getTestHelper().getDatabaseClient(googleStandardDatabase));
if (!isUsingEmulator()) {
- Database postgreSQLDatabase =
+ postgreSQLDatabase =
env.getTestHelper().createTestDatabase(Dialect.POSTGRESQL, Collections.emptyList());
env.getTestHelper()
.getClient()
@@ -191,6 +201,13 @@ private BatchClient getBatchClient() {
return googleStandardSQLBatchClient;
}
+ private Database getDatabase() {
+ if (dialect.dialect == Dialect.POSTGRESQL) {
+ return postgreSQLDatabase;
+ }
+ return googleStandardDatabase;
+ }
+
@Test
public void read() {
assumeFalse(
@@ -313,6 +330,37 @@ public void dataBoostQuery() {
fetchAndValidateRows(partitions, txnID, seenRows);
}
+ @Test
+ public void testRunPartitionedQuery() {
+ StringBuilder url = extractConnectionUrl(env.getTestHelper().getOptions(), getDatabase());
+ ConnectionOptions.Builder builder = ConnectionOptions.newBuilder().setUri(url.toString());
+ if (hasValidKeyFile()) {
+ builder.setCredentialsUrl(getKeyFile());
+ }
+ ConnectionOptions options = builder.build();
+ try (Connection connection = options.getConnection()) {
+ // Use dynamic parallelism.
+ connection.setMaxPartitionedParallelism(0);
+
+ BitSet seenRows = new BitSet(numRows);
+ try (PartitionedQueryResultSet resultSet =
+ connection.runPartitionedQuery(
+ Statement.of("SELECT Key, Data, Fingerprint, Size FROM " + TABLE_NAME),
+ getRandomPartitionOptions())) {
+ validate(resultSet, seenRows);
+ // verify all rows were read from the database.
+ assertEquals(numRows, seenRows.nextClearBit(0));
+
+ assertTrue(
+ "Partitions: " + resultSet.getNumPartitions(), resultSet.getNumPartitions() >= 1);
+ assertEquals(
+ "Actual parallelism: " + resultSet.getParallelism(),
+ Math.min(resultSet.getNumPartitions(), Runtime.getRuntime().availableProcessors()),
+ resultSet.getParallelism());
+ }
+ }
+ }
+
private TimestampBound getRandomBound() {
Date date = new Date();
switch (RANDOM.nextInt(3)) {
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 4a10fe34e51..494371b4de6 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,13514 +3591,16964 @@ NEW_CONNECTION;
@EXPECT EXCEPTION UNIMPLEMENTED
show variable/-savepoint_support;
NEW_CONNECTION;
-begin;
+show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-BEGIN;
+SHOW VARIABLE DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE;
NEW_CONNECTION;
-begin;
+show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
- begin;
+ show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
- begin;
+ show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-begin;
+show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-begin ;
+show variable delay_transaction_start_until_first_write ;
NEW_CONNECTION;
-begin ;
+show variable delay_transaction_start_until_first_write ;
NEW_CONNECTION;
-begin
+show variable delay_transaction_start_until_first_write
;
NEW_CONNECTION;
-begin;
+show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-begin;
+show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-begin;
+show
+variable
+delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo begin;
+foo show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin bar;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%begin;
+%show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin%;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write%;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin%;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_begin;
+_show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin_;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write_;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin_;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&begin;
+&show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin&;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write&;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin&;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$begin;
+$show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin$;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write$;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin$;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@begin;
+@show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin@;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write@;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin@;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!begin;
+!show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin!;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write!;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin!;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*begin;
+*show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin*;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write*;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin*;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(begin;
+(show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin(;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write(;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin(;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)begin;
+)show variable delay_transaction_start_until_first_write;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin);
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write);
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin);
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--begin;
+-show variable delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-;
++show variable delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-;
+-#show variable delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+begin;
+/show variable delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin+;
+\show variable delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin+;
+?show variable delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#begin;
+-/show variable delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-#;
+/#show variable delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#delay_transaction_start_until_first_write;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-#;
+/-show variable delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable delay_transaction_start_until_first_write/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+partition select col1, col2 from my_table;
+NEW_CONNECTION;
+PARTITION SELECT COL1, COL2 FROM MY_TABLE;
+NEW_CONNECTION;
+partition select col1, col2 from my_table;
+NEW_CONNECTION;
+ partition select col1, col2 from my_table;
+NEW_CONNECTION;
+ partition select col1, col2 from my_table;
+NEW_CONNECTION;
+
+
+
+partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table ;
+NEW_CONNECTION;
+partition select col1, col2 from my_table ;
+NEW_CONNECTION;
+partition select col1, col2 from my_table
+
+;
+NEW_CONNECTION;
+partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition
+select
+col1,
+col2
+from
+my_table;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/begin;
+foo partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/;
+%partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/;
+_partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\begin;
+&partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin\;
+$partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin\;
+@partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?begin;
+!partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin?;
+*partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin?;
+(partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/begin;
+)partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-/;
+-partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-/;
++partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#begin;
+-#partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/#;
+/partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/#;
+\partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-begin;
+?partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/-;
+-/partition select col1, col2 from my_table;
+NEW_CONNECTION;
+partition select col1, col2 from my_table-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/-;
+/#partition select col1, col2 from my_table;
NEW_CONNECTION;
-start;
+partition select col1, col2 from my_table/#;
NEW_CONNECTION;
-START;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-partition select col1, col2 from my_table;
NEW_CONNECTION;
-start;
+partition select col1, col2 from my_table/-;
NEW_CONNECTION;
- start;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
- start;
+ run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
+NEW_CONNECTION;
+ run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
-start;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
-start ;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==' ;
NEW_CONNECTION;
-start ;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==' ;
NEW_CONNECTION;
-start
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='
;
NEW_CONNECTION;
-start;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
-start;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
-start;
+run
+partition
+'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo start;
+foo run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start bar;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%start;
+%run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start%;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start%;
+run partition%'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_start;
+_run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start_;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start_;
+run partition_'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&start;
+&run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start&;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start&;
+run partition&'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$start;
+$run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start$;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start$;
+run partition$'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@start;
+@run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start@;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start@;
+run partition@'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!start;
+!run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start!;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start!;
+run partition!'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*start;
+*run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start*;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start*;
+run partition*'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(start;
+(run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start(;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start(;
+run partition('H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)start;
+)run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start);
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start);
+run partition)'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--start;
+-run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-;
+run partition-'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+start;
++run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start+;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start+;
+run partition+'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#start;
+-#run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-#;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-#;
+run partition-#'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/start;
+/run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/;
+run partition/'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\start;
+\run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start\;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start\;
+run partition\'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?start;
+?run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start?;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start?;
+run partition?'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/start;
+-/run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-/;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-/;
+run partition-/'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#start;
+/#run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/#;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/#;
+run partition/#'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-start;
+/-run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/-;
+run partition 'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA=='/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/-;
+run partition/-'H4sIAAAAAAAA_7VWTWwbRRSeOHESp_lpQyGoomBao1KCvU3s2IkCInWUgMOSlMT8tQcY787ak8zubHZmE5tDVQ7c4MqJAweQOFSiEhJwBa4ICVCFxAGB4MIBCQQIDgjxZr3ebJM64cIe7NmZ9_u9773Z6z-jpPCQZnA7V-e8zkjOYNw3c8LFjkO8nMHhz5CUO7lL2JNUrSomgmd0uTKZQAkdpdzOgUQZHSxpbUtaYEkLLWmR-ryORqSHHYGNtjWJst3VylgajWpcfL7pQshnuoYcOeK_T_y0MPzaxQRK6WjA4My3HSHRSX0T72CNYaeuVSTxcI0RiClJHZM0JRqPHW9Ijzp1OOzbIi1Qvb97nE-S1gaRIHo8gmPNVb-gNvkfUAmFwcBoZKDKtwiAmo6rux6XvOZbWrklSRTf8LZPvFbk8Ex3h3t-jnkEm-HrNrqKhqCUQmJJbHB6aCk3OlIKNqnwU_r9TRceKM35o0sTug0rNA88WkEjNm5GAmIFjUc4bNCXiUpXNF207wF3F2LuOujk9tDJ6FQVme3thKo9CdRzBSVryrBEiSvlpoeyR9ki2LqdIQS69x6uG_NaQX0NLBrtbHxP-b7-28Rf_YPV75QptZ2xzJKJi5hkjVpxJlvIW9NZjGeKWTJdmiOz0yWrVJuB5NNdsb4V4qUEGrmMxnapbCxy26ZS1VDoaAiCtIi3zncBgzvineFIUieeIrSJJS5zLuSSo2pt3ioIJ4xg1dV9ROJ6wAQd9VuUAezhW5JRcCnR8ZiezgPmDrq4TlSBlehEME3qJCB-qDvqesQiMAQWG76zJUKxQdej3KOyJVHuSLJn1l3jUigPLnv3whzewYxCfmTNYS21d7eOxhVIStOmQlJD58ZWcAJ1cePPoUMoapEfbzSsV1_5-2YC9QLaQGlsEwAG0B5rg-FLyrSnsHuwi4vxxDop7UxpS01i-ECrbbZOQEPIzNMxPZWg2GZhR0KQDyg3OeUmt8gZa09zkXnGsblJLapKCu5_fefdf-QfA2Wgp456bKV-OlA_saf-BJAWRJMD33z86V0vfdGLEstoiHFsLsNs5l4FpWTDI6LBmdl0H1to8313EH4TagVN5k6BxQe7ovYsZj7JAPWKhYrtslM3vj_3vDj2OcS0gpI76hD67OEj1C_WBFwvhgzevvpz_f3K619-BBPmMuqnYtVnDJgqWy6R6L7uzKmCwPy-pr6Nsw_eeIu9cPaRYrttIbfTXeWVxZtra798cuLOzQRKQl9hz8OtJRbQRJ0qzM9BcAY3yaHzVwlnFkFKccaihJmi3FoFYgVVg3YLxo9E93QhUJAcqAJOviGXAwMSnb_FIQwJ7sBfQBitYtt-MOh16Am4gN2rh5E_iq8zpceDATkaMEk1f27J8e34oStRsrJaLRagrzqDUm2eFUT5Tz-Utjxup-3Wi0EU6d0G8Uiamo8uUFORdLJrLAe_H8KJuBh0ZEoQIYLtcCKkoO-hpbDt7sOvXYJq5_TAV4zST6mYnwP0NyFooe7qTY1CK2PHICJYaWqY1jB41cyaFjoXWi1vlWatC1PZaVysZQukWMjW8vm5bJ7Mlgoz08WZqfwcpHnqQJpRPI9fm1j98Nv33gaiV1DSwQ6HK3RAEPiAM-He7Pth9ppC1fzs6zeDGToW3D1qdRIW1v8UsxaDSGhT_wJCVcN1bwoAAA==';
NEW_CONNECTION;
-begin transaction;
+run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-BEGIN TRANSACTION;
+RUN PARTITIONED QUERY SELECT COL1, COL2 FROM MY_TABLE;
NEW_CONNECTION;
-begin transaction;
+run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
- begin transaction;
+ run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
- begin transaction;
+ run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-begin transaction;
+run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-begin transaction ;
+run partitioned query select col1, col2 from my_table ;
NEW_CONNECTION;
-begin transaction ;
+run partitioned query select col1, col2 from my_table ;
NEW_CONNECTION;
-begin transaction
+run partitioned query select col1, col2 from my_table
;
NEW_CONNECTION;
-begin transaction;
-NEW_CONNECTION;
-begin transaction;
-NEW_CONNECTION;
-begin
-transaction;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-foo begin transaction;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction bar;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-%begin transaction;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction%;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin%transaction;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-_begin transaction;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction_;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin_transaction;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-&begin transaction;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction&;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin&transaction;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-$begin transaction;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction$;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin$transaction;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-@begin transaction;
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction@;
+run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin@transaction;
+run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-!begin transaction;
+run
+partitioned
+query
+select
+col1,
+col2
+from
+my_table;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction!;
+foo run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin!transaction;
+run partitioned query select col1, col2 from my_table bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*begin transaction;
+%run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction*;
+run partitioned query select col1, col2 from my_table%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin*transaction;
+_run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-(begin transaction;
+run partitioned query select col1, col2 from my_table_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction(;
+&run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin(transaction;
+run partitioned query select col1, col2 from my_table&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)begin transaction;
+$run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction);
+run partitioned query select col1, col2 from my_table$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin)transaction;
+@run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
--begin transaction;
+run partitioned query select col1, col2 from my_table@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction-;
+!run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-transaction;
+run partitioned query select col1, col2 from my_table!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+begin transaction;
+*run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction+;
+run partitioned query select col1, col2 from my_table*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin+transaction;
+(run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
--#begin transaction;
+run partitioned query select col1, col2 from my_table(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction-#;
+)run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-#transaction;
+run partitioned query select col1, col2 from my_table);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/begin transaction;
+-run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction/;
+run partitioned query select col1, col2 from my_table-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/transaction;
++run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-\begin transaction;
+run partitioned query select col1, col2 from my_table+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction\;
+-#run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin\transaction;
+run partitioned query select col1, col2 from my_table-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?begin transaction;
+/run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction?;
+run partitioned query select col1, col2 from my_table/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin?transaction;
+\run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
--/begin transaction;
+run partitioned query select col1, col2 from my_table\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction-/;
+?run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-/transaction;
+run partitioned query select col1, col2 from my_table?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#begin transaction;
+-/run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction/#;
+run partitioned query select col1, col2 from my_table-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/#transaction;
+/#run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-/-begin transaction;
+run partitioned query select col1, col2 from my_table/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction/-;
+/-run partitioned query select col1, col2 from my_table;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/-transaction;
+run partitioned query select col1, col2 from my_table/-;
NEW_CONNECTION;
-start transaction;
+begin;
NEW_CONNECTION;
-START TRANSACTION;
+BEGIN;
NEW_CONNECTION;
-start transaction;
+begin;
NEW_CONNECTION;
- start transaction;
+ begin;
NEW_CONNECTION;
- start transaction;
+ begin;
NEW_CONNECTION;
-start transaction;
+begin;
NEW_CONNECTION;
-start transaction ;
+begin ;
NEW_CONNECTION;
-start transaction ;
+begin ;
NEW_CONNECTION;
-start transaction
+begin
;
NEW_CONNECTION;
-start transaction;
+begin;
NEW_CONNECTION;
-start transaction;
+begin;
NEW_CONNECTION;
-start
-transaction;
+begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo start transaction;
+foo begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction bar;
+begin bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%start transaction;
+%begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction%;
+begin%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start%transaction;
+begin%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_start transaction;
+_begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction_;
+begin_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start_transaction;
+begin_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&start transaction;
+&begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction&;
+begin&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start&transaction;
+begin&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$start transaction;
+$begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction$;
+begin$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start$transaction;
+begin$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@start transaction;
+@begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction@;
+begin@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start@transaction;
+begin@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!start transaction;
+!begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction!;
+begin!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start!transaction;
+begin!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*start transaction;
+*begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction*;
+begin*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start*transaction;
+begin*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(start transaction;
+(begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction(;
+begin(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start(transaction;
+begin(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)start transaction;
+)begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction);
+begin);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start)transaction;
+begin);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--start transaction;
+-begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction-;
+begin-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-transaction;
+begin-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+start transaction;
++begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction+;
+begin+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start+transaction;
+begin+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#start transaction;
+-#begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction-#;
+begin-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-#transaction;
+begin-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/start transaction;
+/begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction/;
+begin/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/transaction;
+begin/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\start transaction;
+\begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction\;
+begin\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start\transaction;
+begin\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?start transaction;
+?begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction?;
+begin?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start?transaction;
+begin?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/start transaction;
+-/begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction-/;
+begin-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-/transaction;
+begin-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#start transaction;
+/#begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction/#;
+begin/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/#transaction;
+begin/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-start transaction;
+/-begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction/-;
+begin/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/-transaction;
+begin/-;
NEW_CONNECTION;
-begin transaction;
-commit;
+start;
NEW_CONNECTION;
-begin transaction;
-COMMIT;
+START;
NEW_CONNECTION;
-begin transaction;
-commit;
+start;
NEW_CONNECTION;
-begin transaction;
- commit;
+ start;
NEW_CONNECTION;
-begin transaction;
- commit;
+ start;
NEW_CONNECTION;
-begin transaction;
-commit;
+start;
NEW_CONNECTION;
-begin transaction;
-commit ;
+start ;
NEW_CONNECTION;
-begin transaction;
-commit ;
+start ;
NEW_CONNECTION;
-begin transaction;
-commit
+start
;
NEW_CONNECTION;
-begin transaction;
-commit;
+start;
NEW_CONNECTION;
-begin transaction;
-commit;
+start;
NEW_CONNECTION;
-begin transaction;
-commit;
+start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo commit;
+foo start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit bar;
+start bar;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%commit;
+%start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit%;
+start%;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit%;
+start%;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_commit;
+_start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit_;
+start_;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit_;
+start_;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&commit;
+&start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit&;
+start&;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit&;
+start&;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$commit;
+$start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit$;
+start$;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit$;
+start$;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@commit;
+@start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit@;
+start@;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit@;
+start@;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!commit;
+!start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit!;
+start!;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit!;
+start!;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*commit;
+*start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit*;
+start*;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit*;
+start*;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(commit;
+(start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit(;
+start(;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit(;
+start(;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)commit;
+)start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit);
+start);
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit);
+start);
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--commit;
+-start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-;
+start-;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-;
+start-;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+commit;
++start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit+;
+start+;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit+;
+start+;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#commit;
+-#start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-#;
+start-#;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-#;
+start-#;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/commit;
+/start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/;
+start/;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/;
+start/;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\commit;
+\start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit\;
+start\;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit\;
+start\;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?commit;
+?start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit?;
+start?;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit?;
+start?;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/commit;
+-/start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-/;
+start-/;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-/;
+start-/;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#commit;
+/#start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/#;
+start/#;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/#;
+start/#;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-commit;
+/-start;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/-;
+start/-;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/-;
+start/-;
NEW_CONNECTION;
begin transaction;
-commit transaction;
NEW_CONNECTION;
-begin transaction;
-COMMIT TRANSACTION;
+BEGIN TRANSACTION;
NEW_CONNECTION;
begin transaction;
-commit transaction;
NEW_CONNECTION;
-begin transaction;
- commit transaction;
+ begin transaction;
NEW_CONNECTION;
-begin transaction;
- commit transaction;
+ begin transaction;
NEW_CONNECTION;
-begin transaction;
-commit transaction;
-NEW_CONNECTION;
begin transaction;
-commit transaction ;
NEW_CONNECTION;
-begin transaction;
-commit transaction ;
+begin transaction ;
NEW_CONNECTION;
-begin transaction;
-commit transaction
+begin transaction ;
+NEW_CONNECTION;
+begin transaction
;
NEW_CONNECTION;
-begin transaction;
-commit transaction;
+begin transaction;
NEW_CONNECTION;
-begin transaction;
-commit transaction;
+begin transaction;
NEW_CONNECTION;
-begin transaction;
-commit
+begin
transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo commit transaction;
+foo begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction bar;
+begin transaction bar;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%commit transaction;
+%begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction%;
+begin transaction%;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit%transaction;
+begin%transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_commit transaction;
+_begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction_;
+begin transaction_;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit_transaction;
+begin_transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&commit transaction;
+&begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction&;
+begin transaction&;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit&transaction;
+begin&transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$commit transaction;
+$begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction$;
+begin transaction$;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit$transaction;
+begin$transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@commit transaction;
+@begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction@;
+begin transaction@;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit@transaction;
+begin@transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!commit transaction;
+!begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction!;
+begin transaction!;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit!transaction;
+begin!transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*commit transaction;
+*begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction*;
+begin transaction*;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit*transaction;
+begin*transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(commit transaction;
+(begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction(;
+begin transaction(;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit(transaction;
+begin(transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)commit transaction;
+)begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction);
+begin transaction);
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit)transaction;
+begin)transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--commit transaction;
+-begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction-;
+begin transaction-;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-transaction;
+begin-transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+commit transaction;
++begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction+;
+begin transaction+;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit+transaction;
+begin+transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#commit transaction;
+-#begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction-#;
+begin transaction-#;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-#transaction;
+begin-#transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/commit transaction;
+/begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction/;
+begin transaction/;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/transaction;
+begin/transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\commit transaction;
+\begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction\;
+begin transaction\;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit\transaction;
+begin\transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?commit transaction;
+?begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction?;
+begin transaction?;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit?transaction;
+begin?transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/commit transaction;
+-/begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction-/;
+begin transaction-/;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-/transaction;
+begin-/transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#commit transaction;
+/#begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction/#;
+begin transaction/#;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/#transaction;
+begin/#transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-commit transaction;
+/-begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction/-;
+begin transaction/-;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/-transaction;
+begin/-transaction;
NEW_CONNECTION;
-begin transaction;
-rollback;
+start transaction;
NEW_CONNECTION;
-begin transaction;
-ROLLBACK;
+START TRANSACTION;
NEW_CONNECTION;
-begin transaction;
-rollback;
+start transaction;
NEW_CONNECTION;
-begin transaction;
- rollback;
+ start transaction;
NEW_CONNECTION;
-begin transaction;
- rollback;
+ start transaction;
NEW_CONNECTION;
-begin transaction;
-rollback;
+start transaction;
NEW_CONNECTION;
-begin transaction;
-rollback ;
+start transaction ;
NEW_CONNECTION;
-begin transaction;
-rollback ;
+start transaction ;
NEW_CONNECTION;
-begin transaction;
-rollback
+start transaction
;
NEW_CONNECTION;
-begin transaction;
-rollback;
+start transaction;
NEW_CONNECTION;
-begin transaction;
-rollback;
+start transaction;
NEW_CONNECTION;
-begin transaction;
-rollback;
+start
+transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo rollback;
+foo start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback bar;
+start transaction bar;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%rollback;
+%start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback%;
+start transaction%;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback%;
+start%transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_rollback;
+_start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback_;
+start transaction_;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback_;
+start_transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&rollback;
+&start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback&;
+start transaction&;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback&;
+start&transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$rollback;
+$start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback$;
+start transaction$;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback$;
+start$transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@rollback;
+@start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback@;
+start transaction@;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback@;
+start@transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!rollback;
+!start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback!;
+start transaction!;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback!;
+start!transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*rollback;
+*start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback*;
+start transaction*;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback*;
+start*transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(rollback;
+(start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback(;
+start transaction(;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback(;
+start(transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)rollback;
+)start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback);
+start transaction);
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback);
+start)transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--rollback;
+-start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-;
+start transaction-;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-;
+start-transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+rollback;
++start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback+;
+start transaction+;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback+;
+start+transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#rollback;
+-#start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-#;
+start transaction-#;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-#;
+start-#transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/rollback;
+/start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/;
+start transaction/;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/;
+start/transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\rollback;
+\start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback\;
+start transaction\;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback\;
+start\transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?rollback;
+?start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback?;
+start transaction?;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback?;
+start?transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/rollback;
+-/start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-/;
+start transaction-/;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-/;
+start-/transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#rollback;
+/#start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/#;
+start transaction/#;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/#;
+start/#transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-rollback;
+/-start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/-;
+start transaction/-;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/-;
+start/-transaction;
NEW_CONNECTION;
begin transaction;
-rollback transaction;
+commit;
NEW_CONNECTION;
begin transaction;
-ROLLBACK TRANSACTION;
+COMMIT;
NEW_CONNECTION;
begin transaction;
-rollback transaction;
+commit;
NEW_CONNECTION;
begin transaction;
- rollback transaction;
+ commit;
NEW_CONNECTION;
begin transaction;
- rollback transaction;
+ commit;
NEW_CONNECTION;
begin transaction;
-rollback transaction;
+commit;
NEW_CONNECTION;
begin transaction;
-rollback transaction ;
+commit ;
NEW_CONNECTION;
begin transaction;
-rollback transaction ;
+commit ;
NEW_CONNECTION;
begin transaction;
-rollback transaction
+commit
;
NEW_CONNECTION;
begin transaction;
-rollback transaction;
+commit;
NEW_CONNECTION;
begin transaction;
-rollback transaction;
+commit;
NEW_CONNECTION;
begin transaction;
-rollback
-transaction;
+commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo rollback transaction;
+foo commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction bar;
+commit bar;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%rollback transaction;
+%commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction%;
+commit%;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback%transaction;
+commit%;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_rollback transaction;
+_commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction_;
+commit_;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback_transaction;
+commit_;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&rollback transaction;
+&commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction&;
+commit&;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback&transaction;
+commit&;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$rollback transaction;
+$commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction$;
+commit$;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback$transaction;
+commit$;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@rollback transaction;
+@commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction@;
+commit@;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback@transaction;
+commit@;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!rollback transaction;
+!commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction!;
+commit!;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback!transaction;
+commit!;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*rollback transaction;
+*commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction*;
+commit*;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback*transaction;
+commit*;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(rollback transaction;
+(commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction(;
+commit(;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback(transaction;
+commit(;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)rollback transaction;
+)commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction);
+commit);
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback)transaction;
+commit);
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--rollback transaction;
+-commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction-;
+commit-;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-transaction;
+commit-;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+rollback transaction;
++commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction+;
+commit+;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback+transaction;
+commit+;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#rollback transaction;
+-#commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction-#;
+commit-#;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-#transaction;
+commit-#;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/rollback transaction;
+/commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction/;
+commit/;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/transaction;
+commit/;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\rollback transaction;
+\commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction\;
+commit\;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback\transaction;
+commit\;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?rollback transaction;
+?commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction?;
+commit?;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback?transaction;
+commit?;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/rollback transaction;
+-/commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction-/;
+commit-/;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-/transaction;
+commit-/;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#rollback transaction;
+/#commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction/#;
+commit/#;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/#transaction;
+commit/#;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-rollback transaction;
+/-commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction/-;
+commit/-;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/-transaction;
+commit/-;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
+commit transaction;
NEW_CONNECTION;
-START BATCH DDL;
+begin transaction;
+COMMIT TRANSACTION;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
+commit transaction;
NEW_CONNECTION;
- start batch ddl;
+begin transaction;
+ commit transaction;
NEW_CONNECTION;
- start batch ddl;
+begin transaction;
+ commit transaction;
NEW_CONNECTION;
+begin transaction;
-start batch ddl;
-NEW_CONNECTION;
-start batch ddl ;
+commit transaction;
NEW_CONNECTION;
-start batch ddl ;
+begin transaction;
+commit transaction ;
NEW_CONNECTION;
-start batch ddl
+begin transaction;
+commit transaction ;
+NEW_CONNECTION;
+begin transaction;
+commit transaction
;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
+commit transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
+commit transaction;
NEW_CONNECTION;
-start
-batch
-ddl;
+begin transaction;
+commit
+transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo start batch ddl;
+foo commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl bar;
+commit transaction bar;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%start batch ddl;
+%commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl%;
+commit transaction%;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch%ddl;
+commit%transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_start batch ddl;
+_commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl_;
+commit transaction_;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch_ddl;
+commit_transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&start batch ddl;
+&commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl&;
+commit transaction&;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch&ddl;
+commit&transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$start batch ddl;
+$commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl$;
+commit transaction$;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch$ddl;
+commit$transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@start batch ddl;
+@commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl@;
+commit transaction@;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch@ddl;
+commit@transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!start batch ddl;
+!commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl!;
+commit transaction!;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch!ddl;
+commit!transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*start batch ddl;
+*commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl*;
+commit transaction*;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch*ddl;
+commit*transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(start batch ddl;
+(commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl(;
+commit transaction(;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch(ddl;
+commit(transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)start batch ddl;
+)commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl);
+commit transaction);
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch)ddl;
+commit)transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--start batch ddl;
+-commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl-;
+commit transaction-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-ddl;
+commit-transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+start batch ddl;
++commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl+;
+commit transaction+;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch+ddl;
+commit+transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#start batch ddl;
+-#commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl-#;
+commit transaction-#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-#ddl;
+commit-#transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/start batch ddl;
+/commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl/;
+commit transaction/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/ddl;
+commit/transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\start batch ddl;
+\commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl\;
+commit transaction\;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch\ddl;
+commit\transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?start batch ddl;
+?commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl?;
+commit transaction?;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch?ddl;
+commit?transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/start batch ddl;
+-/commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl-/;
+commit transaction-/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-/ddl;
+commit-/transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#start batch ddl;
+/#commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl/#;
+commit transaction/#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/#ddl;
+commit/#transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-start batch ddl;
+/-commit transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl/-;
+commit transaction/-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/-ddl;
+commit/-transaction;
NEW_CONNECTION;
-start batch dml;
+begin transaction;
+rollback;
NEW_CONNECTION;
-START BATCH DML;
+begin transaction;
+ROLLBACK;
NEW_CONNECTION;
-start batch dml;
+begin transaction;
+rollback;
NEW_CONNECTION;
- start batch dml;
+begin transaction;
+ rollback;
NEW_CONNECTION;
- start batch dml;
+begin transaction;
+ rollback;
NEW_CONNECTION;
+begin transaction;
-start batch dml;
+rollback;
NEW_CONNECTION;
-start batch dml ;
+begin transaction;
+rollback ;
NEW_CONNECTION;
-start batch dml ;
+begin transaction;
+rollback ;
NEW_CONNECTION;
-start batch dml
+begin transaction;
+rollback
;
NEW_CONNECTION;
-start batch dml;
+begin transaction;
+rollback;
NEW_CONNECTION;
-start batch dml;
+begin transaction;
+rollback;
NEW_CONNECTION;
-start
-batch
-dml;
+begin transaction;
+rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo start batch dml;
+foo rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml bar;
+rollback bar;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%start batch dml;
+%rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml%;
+rollback%;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch%dml;
+rollback%;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_start batch dml;
+_rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml_;
+rollback_;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch_dml;
+rollback_;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&start batch dml;
+&rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml&;
+rollback&;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch&dml;
+rollback&;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$start batch dml;
+$rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml$;
+rollback$;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch$dml;
+rollback$;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@start batch dml;
+@rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml@;
+rollback@;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch@dml;
+rollback@;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!start batch dml;
+!rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml!;
+rollback!;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch!dml;
+rollback!;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*start batch dml;
+*rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml*;
+rollback*;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch*dml;
+rollback*;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(start batch dml;
+(rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml(;
+rollback(;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch(dml;
+rollback(;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)start batch dml;
+)rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml);
+rollback);
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch)dml;
+rollback);
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--start batch dml;
+-rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml-;
+rollback-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-dml;
+rollback-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+start batch dml;
++rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml+;
+rollback+;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch+dml;
+rollback+;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#start batch dml;
+-#rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml-#;
+rollback-#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-#dml;
+rollback-#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/start batch dml;
+/rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml/;
+rollback/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/dml;
+rollback/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\start batch dml;
+\rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml\;
+rollback\;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch\dml;
+rollback\;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?start batch dml;
+?rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml?;
+rollback?;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch?dml;
+rollback?;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/start batch dml;
+-/rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml-/;
+rollback-/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-/dml;
+rollback-/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#start batch dml;
+/#rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml/#;
+rollback/#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/#dml;
+rollback/#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-start batch dml;
+/-rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml/-;
+rollback/-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/-dml;
+rollback/-;
NEW_CONNECTION;
-start batch ddl;
-run batch;
+begin transaction;
+rollback transaction;
NEW_CONNECTION;
-start batch ddl;
-RUN BATCH;
+begin transaction;
+ROLLBACK TRANSACTION;
NEW_CONNECTION;
-start batch ddl;
-run batch;
+begin transaction;
+rollback transaction;
NEW_CONNECTION;
-start batch ddl;
- run batch;
+begin transaction;
+ rollback transaction;
NEW_CONNECTION;
-start batch ddl;
- run batch;
+begin transaction;
+ rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
-run batch;
+rollback transaction;
NEW_CONNECTION;
-start batch ddl;
-run batch ;
+begin transaction;
+rollback transaction ;
NEW_CONNECTION;
-start batch ddl;
-run batch ;
+begin transaction;
+rollback transaction ;
NEW_CONNECTION;
-start batch ddl;
-run batch
+begin transaction;
+rollback transaction
;
NEW_CONNECTION;
-start batch ddl;
-run batch;
+begin transaction;
+rollback transaction;
NEW_CONNECTION;
-start batch ddl;
-run batch;
+begin transaction;
+rollback transaction;
NEW_CONNECTION;
-start batch ddl;
-run
-batch;
+begin transaction;
+rollback
+transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo run batch;
+foo rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch bar;
+rollback transaction bar;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%run batch;
+%rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch%;
+rollback transaction%;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run%batch;
+rollback%transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_run batch;
+_rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch_;
+rollback transaction_;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run_batch;
+rollback_transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&run batch;
+&rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch&;
+rollback transaction&;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run&batch;
+rollback&transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$run batch;
+$rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch$;
+rollback transaction$;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run$batch;
+rollback$transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@run batch;
+@rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch@;
+rollback transaction@;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run@batch;
+rollback@transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!run batch;
+!rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch!;
+rollback transaction!;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run!batch;
+rollback!transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*run batch;
+*rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch*;
+rollback transaction*;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run*batch;
+rollback*transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(run batch;
+(rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch(;
+rollback transaction(;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run(batch;
+rollback(transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)run batch;
+)rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch);
+rollback transaction);
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run)batch;
+rollback)transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--run batch;
+-rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch-;
+rollback transaction-;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run-batch;
+rollback-transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+run batch;
++rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch+;
+rollback transaction+;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run+batch;
+rollback+transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#run batch;
+-#rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch-#;
+rollback transaction-#;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run-#batch;
+rollback-#transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/run batch;
+/rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch/;
+rollback transaction/;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run/batch;
+rollback/transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\run batch;
+\rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch\;
+rollback transaction\;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run\batch;
+rollback\transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?run batch;
+?rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch?;
+rollback transaction?;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run?batch;
+rollback?transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/run batch;
+-/rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch-/;
+rollback transaction-/;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run-/batch;
+rollback-/transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#run batch;
+/#rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch/#;
+rollback transaction/#;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run/#batch;
+rollback/#transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-run batch;
+/-rollback transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch/-;
+rollback transaction/-;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run/-batch;
+rollback/-transaction;
NEW_CONNECTION;
start batch ddl;
-abort batch;
NEW_CONNECTION;
-start batch ddl;
-ABORT BATCH;
+START BATCH DDL;
NEW_CONNECTION;
start batch ddl;
-abort batch;
NEW_CONNECTION;
-start batch ddl;
- abort batch;
+ start batch ddl;
NEW_CONNECTION;
-start batch ddl;
- abort batch;
+ start batch ddl;
NEW_CONNECTION;
-start batch ddl;
-abort batch;
-NEW_CONNECTION;
start batch ddl;
-abort batch ;
NEW_CONNECTION;
-start batch ddl;
-abort batch ;
+start batch ddl ;
NEW_CONNECTION;
-start batch ddl;
-abort batch
+start batch ddl ;
+NEW_CONNECTION;
+start batch ddl
;
NEW_CONNECTION;
-start batch ddl;
-abort batch;
+start batch ddl;
NEW_CONNECTION;
-start batch ddl;
-abort batch;
+start batch ddl;
NEW_CONNECTION;
-start batch ddl;
-abort
-batch;
+start
+batch
+ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo abort batch;
+foo start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch bar;
+start batch ddl bar;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%abort batch;
+%start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch%;
+start batch ddl%;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort%batch;
+start batch%ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_abort batch;
+_start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch_;
+start batch ddl_;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort_batch;
+start batch_ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&abort batch;
+&start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch&;
+start batch ddl&;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort&batch;
+start batch&ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$abort batch;
+$start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch$;
+start batch ddl$;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort$batch;
+start batch$ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@abort batch;
+@start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch@;
+start batch ddl@;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort@batch;
+start batch@ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!abort batch;
+!start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch!;
+start batch ddl!;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort!batch;
+start batch!ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*abort batch;
+*start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch*;
+start batch ddl*;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort*batch;
+start batch*ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(abort batch;
+(start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch(;
+start batch ddl(;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort(batch;
+start batch(ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)abort batch;
+)start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch);
+start batch ddl);
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort)batch;
+start batch)ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--abort batch;
+-start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch-;
+start batch ddl-;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort-batch;
+start batch-ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+abort batch;
++start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch+;
+start batch ddl+;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort+batch;
+start batch+ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#abort batch;
+-#start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch-#;
+start batch ddl-#;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort-#batch;
+start batch-#ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/abort batch;
+/start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch/;
+start batch ddl/;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort/batch;
+start batch/ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\abort batch;
+\start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch\;
+start batch ddl\;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort\batch;
+start batch\ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?abort batch;
+?start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch?;
+start batch ddl?;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort?batch;
+start batch?ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/abort batch;
+-/start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch-/;
+start batch ddl-/;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort-/batch;
+start batch-/ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#abort batch;
+/#start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch/#;
+start batch ddl/#;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort/#batch;
+start batch/#ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-abort batch;
+/-start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch/-;
+start batch ddl/-;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort/-batch;
+start batch/-ddl;
NEW_CONNECTION;
-set autocommit = true;
+start batch dml;
NEW_CONNECTION;
-SET AUTOCOMMIT = TRUE;
+START BATCH DML;
NEW_CONNECTION;
-set autocommit = true;
+start batch dml;
NEW_CONNECTION;
- set autocommit = true;
+ start batch dml;
NEW_CONNECTION;
- set autocommit = true;
+ start batch dml;
NEW_CONNECTION;
-set autocommit = true;
+start batch dml;
NEW_CONNECTION;
-set autocommit = true ;
+start batch dml ;
NEW_CONNECTION;
-set autocommit = true ;
+start batch dml ;
NEW_CONNECTION;
-set autocommit = true
+start batch dml
;
NEW_CONNECTION;
-set autocommit = true;
+start batch dml;
NEW_CONNECTION;
-set autocommit = true;
+start batch dml;
NEW_CONNECTION;
-set
-autocommit
-=
-true;
+start
+batch
+dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set autocommit = true;
+foo start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true bar;
+start batch dml bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set autocommit = true;
+%start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true%;
+start batch dml%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =%true;
+start batch%dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set autocommit = true;
+_start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true_;
+start batch dml_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =_true;
+start batch_dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set autocommit = true;
+&start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true&;
+start batch dml&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =&true;
+start batch&dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set autocommit = true;
+$start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true$;
+start batch dml$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =$true;
+start batch$dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set autocommit = true;
+@start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true@;
+start batch dml@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =@true;
+start batch@dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set autocommit = true;
+!start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true!;
+start batch dml!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =!true;
+start batch!dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set autocommit = true;
+*start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true*;
+start batch dml*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =*true;
+start batch*dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set autocommit = true;
+(start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true(;
+start batch dml(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =(true;
+start batch(dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set autocommit = true;
+)start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true);
+start batch dml);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =)true;
+start batch)dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set autocommit = true;
+-start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true-;
+start batch dml-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-true;
+start batch-dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set autocommit = true;
++start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true+;
+start batch dml+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =+true;
+start batch+dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set autocommit = true;
+-#start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true-#;
+start batch dml-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-#true;
+start batch-#dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set autocommit = true;
+/start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true/;
+start batch dml/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/true;
+start batch/dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set autocommit = true;
+\start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true\;
+start batch dml\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =\true;
+start batch\dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set autocommit = true;
+?start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true?;
+start batch dml?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =?true;
+start batch?dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set autocommit = true;
+-/start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true-/;
+start batch dml-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-/true;
+start batch-/dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set autocommit = true;
+/#start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true/#;
+start batch dml/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/#true;
+start batch/#dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set autocommit = true;
+/-start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true/-;
+start batch dml/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/-true;
-NEW_CONNECTION;
-set autocommit = false;
+start batch/-dml;
NEW_CONNECTION;
-SET AUTOCOMMIT = FALSE;
+start batch ddl;
+run batch;
NEW_CONNECTION;
-set autocommit = false;
+start batch ddl;
+RUN BATCH;
NEW_CONNECTION;
- set autocommit = false;
+start batch ddl;
+run batch;
NEW_CONNECTION;
- set autocommit = false;
+start batch ddl;
+ run batch;
NEW_CONNECTION;
+start batch ddl;
+ run batch;
+NEW_CONNECTION;
+start batch ddl;
-set autocommit = false;
+run batch;
NEW_CONNECTION;
-set autocommit = false ;
+start batch ddl;
+run batch ;
NEW_CONNECTION;
-set autocommit = false ;
+start batch ddl;
+run batch ;
NEW_CONNECTION;
-set autocommit = false
+start batch ddl;
+run batch
;
NEW_CONNECTION;
-set autocommit = false;
+start batch ddl;
+run batch;
NEW_CONNECTION;
-set autocommit = false;
+start batch ddl;
+run batch;
NEW_CONNECTION;
-set
-autocommit
-=
-false;
+start batch ddl;
+run
+batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set autocommit = false;
+foo run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false bar;
+run batch bar;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set autocommit = false;
+%run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false%;
+run batch%;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =%false;
+run%batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set autocommit = false;
+_run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false_;
+run batch_;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =_false;
+run_batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set autocommit = false;
+&run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false&;
+run batch&;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =&false;
+run&batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set autocommit = false;
+$run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false$;
+run batch$;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =$false;
+run$batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set autocommit = false;
+@run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false@;
+run batch@;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =@false;
+run@batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set autocommit = false;
+!run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false!;
+run batch!;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =!false;
+run!batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set autocommit = false;
+*run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false*;
+run batch*;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =*false;
+run*batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set autocommit = false;
+(run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false(;
+run batch(;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =(false;
+run(batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set autocommit = false;
+)run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false);
+run batch);
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =)false;
+run)batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set autocommit = false;
+-run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false-;
+run batch-;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-false;
+run-batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set autocommit = false;
++run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false+;
+run batch+;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =+false;
+run+batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set autocommit = false;
+-#run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false-#;
+run batch-#;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-#false;
+run-#batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set autocommit = false;
+/run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false/;
+run batch/;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/false;
+run/batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set autocommit = false;
+\run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false\;
+run batch\;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =\false;
+run\batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set autocommit = false;
+?run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false?;
+run batch?;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =?false;
+run?batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set autocommit = false;
+-/run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false-/;
+run batch-/;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-/false;
+run-/batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set autocommit = false;
+/#run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false/#;
+run batch/#;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/#false;
+run/#batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set autocommit = false;
+/-run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false/-;
+run batch/-;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/-false;
+run/-batch;
NEW_CONNECTION;
-set readonly = true;
+start batch ddl;
+abort batch;
NEW_CONNECTION;
-SET READONLY = TRUE;
+start batch ddl;
+ABORT BATCH;
NEW_CONNECTION;
-set readonly = true;
+start batch ddl;
+abort batch;
NEW_CONNECTION;
- set readonly = true;
+start batch ddl;
+ abort batch;
NEW_CONNECTION;
- set readonly = true;
+start batch ddl;
+ abort batch;
NEW_CONNECTION;
+start batch ddl;
-set readonly = true;
+abort batch;
NEW_CONNECTION;
-set readonly = true ;
+start batch ddl;
+abort batch ;
NEW_CONNECTION;
-set readonly = true ;
+start batch ddl;
+abort batch ;
NEW_CONNECTION;
-set readonly = true
+start batch ddl;
+abort batch
;
NEW_CONNECTION;
-set readonly = true;
+start batch ddl;
+abort batch;
NEW_CONNECTION;
-set readonly = true;
+start batch ddl;
+abort batch;
NEW_CONNECTION;
-set
-readonly
-=
-true;
+start batch ddl;
+abort
+batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set readonly = true;
+foo abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true bar;
+abort batch bar;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set readonly = true;
+%abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true%;
+abort batch%;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =%true;
+abort%batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set readonly = true;
+_abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true_;
+abort batch_;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =_true;
+abort_batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set readonly = true;
+&abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true&;
+abort batch&;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =&true;
+abort&batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set readonly = true;
+$abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true$;
+abort batch$;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =$true;
+abort$batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set readonly = true;
+@abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true@;
+abort batch@;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =@true;
+abort@batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set readonly = true;
+!abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true!;
+abort batch!;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =!true;
+abort!batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set readonly = true;
+*abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true*;
+abort batch*;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =*true;
+abort*batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set readonly = true;
+(abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true(;
+abort batch(;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =(true;
+abort(batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set readonly = true;
+)abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true);
+abort batch);
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =)true;
+abort)batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set readonly = true;
+-abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true-;
+abort batch-;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =-true;
+abort-batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set readonly = true;
++abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true+;
+abort batch+;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =+true;
+abort+batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set readonly = true;
+-#abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true-#;
+abort batch-#;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =-#true;
+abort-#batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set readonly = true;
+/abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true/;
+abort batch/;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =/true;
+abort/batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set readonly = true;
+\abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true\;
+abort batch\;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =\true;
+abort\batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set readonly = true;
+?abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true?;
+abort batch?;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =?true;
+abort?batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set readonly = true;
+-/abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true-/;
+abort batch-/;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =-/true;
+abort-/batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set readonly = true;
+/#abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true/#;
+abort batch/#;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =/#true;
+abort/#batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set readonly = true;
+/-abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true/-;
+abort batch/-;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =/-true;
+abort/-batch;
NEW_CONNECTION;
-set readonly = false;
+set autocommit = true;
NEW_CONNECTION;
-SET READONLY = FALSE;
+SET AUTOCOMMIT = TRUE;
NEW_CONNECTION;
-set readonly = false;
+set autocommit = true;
NEW_CONNECTION;
- set readonly = false;
+ set autocommit = true;
NEW_CONNECTION;
- set readonly = false;
+ set autocommit = true;
NEW_CONNECTION;
-set readonly = false;
+set autocommit = true;
NEW_CONNECTION;
-set readonly = false ;
+set autocommit = true ;
NEW_CONNECTION;
-set readonly = false ;
+set autocommit = true ;
NEW_CONNECTION;
-set readonly = false
+set autocommit = true
;
NEW_CONNECTION;
-set readonly = false;
+set autocommit = true;
NEW_CONNECTION;
-set readonly = false;
+set autocommit = true;
NEW_CONNECTION;
set
-readonly
+autocommit
=
-false;
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set readonly = false;
+foo set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false bar;
+set autocommit = true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set readonly = false;
+%set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false%;
+set autocommit = true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =%false;
+set autocommit =%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set readonly = false;
+_set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false_;
+set autocommit = true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =_false;
+set autocommit =_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set readonly = false;
+&set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false&;
+set autocommit = true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =&false;
+set autocommit =&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set readonly = false;
+$set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false$;
+set autocommit = true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =$false;
+set autocommit =$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set readonly = false;
+@set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false@;
+set autocommit = true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =@false;
+set autocommit =@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set readonly = false;
+!set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false!;
+set autocommit = true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =!false;
+set autocommit =!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set readonly = false;
+*set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false*;
+set autocommit = true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =*false;
+set autocommit =*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set readonly = false;
+(set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false(;
+set autocommit = true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =(false;
+set autocommit =(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set readonly = false;
+)set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false);
+set autocommit = true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =)false;
+set autocommit =)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set readonly = false;
+-set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false-;
+set autocommit = true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =-false;
+set autocommit =-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set readonly = false;
++set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false+;
+set autocommit = true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =+false;
+set autocommit =+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set readonly = false;
+-#set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false-#;
+set autocommit = true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =-#false;
+set autocommit =-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set readonly = false;
+/set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false/;
+set autocommit = true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =/false;
+set autocommit =/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set readonly = false;
+\set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false\;
+set autocommit = true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =\false;
+set autocommit =\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set readonly = false;
+?set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false?;
+set autocommit = true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =?false;
+set autocommit =?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set readonly = false;
+-/set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false-/;
+set autocommit = true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =-/false;
+set autocommit =-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set readonly = false;
+/#set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false/#;
+set autocommit = true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =/#false;
+set autocommit =/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set readonly = false;
+/-set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false/-;
+set autocommit = true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =/-false;
+set autocommit =/-true;
NEW_CONNECTION;
-set readonly = false;
set autocommit = false;
-set retry_aborts_internally = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-SET RETRY_ABORTS_INTERNALLY = TRUE;
+SET AUTOCOMMIT = FALSE;
NEW_CONNECTION;
-set readonly = false;
set autocommit = false;
-set retry_aborts_internally = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
- set retry_aborts_internally = true;
+ set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
- set retry_aborts_internally = true;
+ set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true;
-NEW_CONNECTION;
-set readonly = false;
set autocommit = false;
-set retry_aborts_internally = true ;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true ;
+set autocommit = false ;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true
+set autocommit = false ;
+NEW_CONNECTION;
+set autocommit = false
;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true;
+set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true;
+set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
set
-retry_aborts_internally
+autocommit
=
-true;
+false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set retry_aborts_internally = true;
+foo set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true bar;
+set autocommit = false bar;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set retry_aborts_internally = true;
+%set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true%;
+set autocommit = false%;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =%true;
+set autocommit =%false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set retry_aborts_internally = true;
+_set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true_;
+set autocommit = false_;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =_true;
+set autocommit =_false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set retry_aborts_internally = true;
+&set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true&;
+set autocommit = false&;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =&true;
+set autocommit =&false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set retry_aborts_internally = true;
+$set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true$;
+set autocommit = false$;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =$true;
+set autocommit =$false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set retry_aborts_internally = true;
+@set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true@;
+set autocommit = false@;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =@true;
+set autocommit =@false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set retry_aborts_internally = true;
+!set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true!;
+set autocommit = false!;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =!true;
+set autocommit =!false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set retry_aborts_internally = true;
+*set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true*;
+set autocommit = false*;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =*true;
+set autocommit =*false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set retry_aborts_internally = true;
+(set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true(;
+set autocommit = false(;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =(true;
+set autocommit =(false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set retry_aborts_internally = true;
+)set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true);
+set autocommit = false);
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =)true;
+set autocommit =)false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set retry_aborts_internally = true;
+-set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true-;
+set autocommit = false-;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =-true;
+set autocommit =-false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set retry_aborts_internally = true;
++set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true+;
+set autocommit = false+;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =+true;
+set autocommit =+false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set retry_aborts_internally = true;
+-#set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true-#;
+set autocommit = false-#;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =-#true;
+set autocommit =-#false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set retry_aborts_internally = true;
+/set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true/;
+set autocommit = false/;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =/true;
+set autocommit =/false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set retry_aborts_internally = true;
+\set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true\;
+set autocommit = false\;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =\true;
+set autocommit =\false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set retry_aborts_internally = true;
+?set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true?;
+set autocommit = false?;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =?true;
+set autocommit =?false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set retry_aborts_internally = true;
+-/set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true-/;
+set autocommit = false-/;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =-/true;
+set autocommit =-/false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set retry_aborts_internally = true;
+/#set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true/#;
+set autocommit = false/#;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =/#true;
+set autocommit =/#false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set retry_aborts_internally = true;
+/-set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true/-;
+set autocommit = false/-;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =/-true;
+set autocommit =/-false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = false;
+set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-SET RETRY_ABORTS_INTERNALLY = FALSE;
+SET READONLY = TRUE;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = false;
+set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
- set retry_aborts_internally = false;
+ set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
- set retry_aborts_internally = false;
+ set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = false;
+set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = false ;
+set readonly = true ;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = false ;
+set readonly = true ;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = false
+set readonly = true
;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = false;
+set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = false;
+set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
set
-retry_aborts_internally
+readonly
=
-false;
+true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set retry_aborts_internally = false;
+foo set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false bar;
+set readonly = true bar;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set retry_aborts_internally = false;
+%set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false%;
+set readonly = true%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =%true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =_true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =&true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =$true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =@true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =!true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =*true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =(true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =)true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =-true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =+true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =-#true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =/true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =\true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =?true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =-/true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =/#true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set readonly = true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = true/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =/-true;
+NEW_CONNECTION;
+set readonly = false;
+NEW_CONNECTION;
+SET READONLY = FALSE;
+NEW_CONNECTION;
+set readonly = false;
+NEW_CONNECTION;
+ set readonly = false;
+NEW_CONNECTION;
+ set readonly = false;
+NEW_CONNECTION;
+
+
+
+set readonly = false;
+NEW_CONNECTION;
+set readonly = false ;
+NEW_CONNECTION;
+set readonly = false ;
+NEW_CONNECTION;
+set readonly = false
+
+;
+NEW_CONNECTION;
+set readonly = false;
+NEW_CONNECTION;
+set readonly = false;
+NEW_CONNECTION;
+set
+readonly
+=
+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =%false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =_false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =&false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =$false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =@false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =!false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =*false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =(false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =)false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =-false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =-#false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =/false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =\false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =?false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =-/false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =/#false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly = false/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set readonly =/-false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+SET RETRY_ABORTS_INTERNALLY = TRUE;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+ set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+ set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+
+
+
+set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = true ;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = true ;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = true
+
+;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set
+retry_aborts_internally
+=
+true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true bar;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true%;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =%true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true_;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =_true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true&;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =&true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true$;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =$true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true@;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =@true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true!;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =!true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true*;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =*true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true(;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =(true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true);
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =)true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true-;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =-true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true+;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =+true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true-#;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =-#true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true/;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =/true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true\;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =\true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true?;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =?true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true-/;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =-/true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true/#;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =/#true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set retry_aborts_internally = true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = true/-;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =/-true;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+SET RETRY_ABORTS_INTERNALLY = FALSE;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+ set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+ set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+
+
+
+set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = false ;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = false ;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = false
+
+;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+set
+retry_aborts_internally
+=
+false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false bar;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false%;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =%false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false_;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =_false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false&;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =&false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false$;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =$false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false@;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =@false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false!;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =!false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false*;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =*false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false(;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =(false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false);
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =)false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false-;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =-false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false+;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =+false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false-#;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =-#false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false/;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =/false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false\;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =\false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false?;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =?false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false-/;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =-/false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false/#;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =/#false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set retry_aborts_internally = false;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally = false/-;
+NEW_CONNECTION;
+set readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set retry_aborts_internally =/-false;
+NEW_CONNECTION;
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set autocommit_dml_mode='partitioned_non_atomic';
+NEW_CONNECTION;
+ set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+ set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+
+
+
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC' ;
+NEW_CONNECTION;
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC' ;
+NEW_CONNECTION;
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'
+
+;
+NEW_CONNECTION;
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set
+autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+NEW_CONNECTION;
+set autocommit_dml_mode='transactional';
+NEW_CONNECTION;
+ set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+ set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+
+
+
+set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+set autocommit_dml_mode='TRANSACTIONAL' ;
+NEW_CONNECTION;
+set autocommit_dml_mode='TRANSACTIONAL' ;
+NEW_CONNECTION;
+set autocommit_dml_mode='TRANSACTIONAL'
+
+;
+NEW_CONNECTION;
+set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+set
+autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set autocommit_dml_mode='TRANSACTIONAL'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+set statement_timeout=null;
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT=NULL;
+NEW_CONNECTION;
+set statement_timeout=null;
+NEW_CONNECTION;
+ set statement_timeout=null;
+NEW_CONNECTION;
+ set statement_timeout=null;
+NEW_CONNECTION;
+
+
+
+set statement_timeout=null;
+NEW_CONNECTION;
+set statement_timeout=null ;
+NEW_CONNECTION;
+set statement_timeout=null ;
+NEW_CONNECTION;
+set statement_timeout=null
+
+;
+NEW_CONNECTION;
+set statement_timeout=null;
+NEW_CONNECTION;
+set statement_timeout=null;
+NEW_CONNECTION;
+set
+statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout=null;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=null/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-statement_timeout=null;
+NEW_CONNECTION;
+set statement_timeout='1s';
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT='1S';
+NEW_CONNECTION;
+set statement_timeout='1s';
+NEW_CONNECTION;
+ set statement_timeout='1s';
+NEW_CONNECTION;
+ set statement_timeout='1s';
+NEW_CONNECTION;
+
+
+
+set statement_timeout='1s';
+NEW_CONNECTION;
+set statement_timeout='1s' ;
+NEW_CONNECTION;
+set statement_timeout='1s' ;
+NEW_CONNECTION;
+set statement_timeout='1s'
+
+;
+NEW_CONNECTION;
+set statement_timeout='1s';
+NEW_CONNECTION;
+set statement_timeout='1s';
+NEW_CONNECTION;
+set
+statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-statement_timeout='1s';
+NEW_CONNECTION;
+set statement_timeout='100ms';
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT='100MS';
+NEW_CONNECTION;
+set statement_timeout='100ms';
+NEW_CONNECTION;
+ set statement_timeout='100ms';
+NEW_CONNECTION;
+ set statement_timeout='100ms';
+NEW_CONNECTION;
+
+
+
+set statement_timeout='100ms';
+NEW_CONNECTION;
+set statement_timeout='100ms' ;
+NEW_CONNECTION;
+set statement_timeout='100ms' ;
+NEW_CONNECTION;
+set statement_timeout='100ms'
+
+;
+NEW_CONNECTION;
+set statement_timeout='100ms';
+NEW_CONNECTION;
+set statement_timeout='100ms';
+NEW_CONNECTION;
+set
+statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-statement_timeout='100ms';
+NEW_CONNECTION;
+set statement_timeout='10000us';
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT='10000US';
+NEW_CONNECTION;
+set statement_timeout='10000us';
+NEW_CONNECTION;
+ set statement_timeout='10000us';
+NEW_CONNECTION;
+ set statement_timeout='10000us';
+NEW_CONNECTION;
+
+
+
+set statement_timeout='10000us';
+NEW_CONNECTION;
+set statement_timeout='10000us' ;
+NEW_CONNECTION;
+set statement_timeout='10000us' ;
+NEW_CONNECTION;
+set statement_timeout='10000us'
+
+;
+NEW_CONNECTION;
+set statement_timeout='10000us';
+NEW_CONNECTION;
+set statement_timeout='10000us';
+NEW_CONNECTION;
+set
+statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-statement_timeout='10000us';
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT='9223372036854775807NS';
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+ set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+ set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+
+
+
+set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns' ;
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns' ;
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns'
+
+;
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+set
+statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+SET TRANSACTION READ ONLY;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+
+
+
+set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only
+
+;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+set
+transaction
+read
+only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only bar;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only%;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read%only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only_;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read_only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only&;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read&only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only$;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read$only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only@;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read@only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only!;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read!only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only*;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read*only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only(;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read(only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only);
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read)only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read-only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only+;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read+only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only-#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read-#only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read/only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only\;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read\only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only?;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read?only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only-/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read-/only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only/#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read/#only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only/-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read/-only;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+SET TRANSACTION READ WRITE;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+
+
+
+set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write
+
+;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+set
+transaction
+read
+write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write bar;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write%;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read%write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write_;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read_write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write&;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read&write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write$;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read$write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write@;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read@write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write!;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read!write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write*;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read*write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write(;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read(write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write);
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read)write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read-write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write+;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read+write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write-#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read-#write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read/write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write\;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read\write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write?;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read?write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write-/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read-/write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write/#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read/#write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write/-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read/-write;
+NEW_CONNECTION;
+set read_only_staleness='STRONG';
+NEW_CONNECTION;
+SET READ_ONLY_STALENESS='STRONG';
+NEW_CONNECTION;
+set read_only_staleness='strong';
+NEW_CONNECTION;
+ set read_only_staleness='STRONG';
+NEW_CONNECTION;
+ set read_only_staleness='STRONG';
+NEW_CONNECTION;
+
+
+
+set read_only_staleness='STRONG';
+NEW_CONNECTION;
+set read_only_staleness='STRONG' ;
+NEW_CONNECTION;
+set read_only_staleness='STRONG' ;
+NEW_CONNECTION;
+set read_only_staleness='STRONG'
+
+;
+NEW_CONNECTION;
+set read_only_staleness='STRONG';
+NEW_CONNECTION;
+set read_only_staleness='STRONG';
+NEW_CONNECTION;
+set
+read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set read_only_staleness='STRONG';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='STRONG'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-read_only_staleness='STRONG';
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+set read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123-08:00';
+NEW_CONNECTION;
+ set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+ set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+
+
+
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'
+
+;
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+set
+read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123-08:00';
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+set read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123z';
+NEW_CONNECTION;
+ set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+ set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+
+
+
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'
+
+;
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+set
+read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123Z';
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+NEW_CONNECTION;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+NEW_CONNECTION;
+set read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123+07:45';
+NEW_CONNECTION;
+ set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+NEW_CONNECTION;
+ set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+NEW_CONNECTION;
+
+
+
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'
+
+;
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+NEW_CONNECTION;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+NEW_CONNECTION;
+set
+read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'%;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =%false;
+set read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set retry_aborts_internally = false;
+_set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false_;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'_;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =_false;
+set read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set retry_aborts_internally = false;
+&set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false&;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'&;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =&false;
+set read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set retry_aborts_internally = false;
+$set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false$;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'$;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =$false;
+set read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set retry_aborts_internally = false;
+@set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false@;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'@;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =@false;
+set read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set retry_aborts_internally = false;
+!set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false!;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'!;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =!false;
+set read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set retry_aborts_internally = false;
+*set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false*;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'*;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =*false;
+set read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set retry_aborts_internally = false;
+(set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false(;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'(;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =(false;
+set read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set retry_aborts_internally = false;
+)set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false);
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45');
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =)false;
+set read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set retry_aborts_internally = false;
+-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false-;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =-false;
+set read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set retry_aborts_internally = false;
++set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false+;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'+;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =+false;
+set read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set retry_aborts_internally = false;
+-#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false-#;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-#;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =-#false;
+set read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set retry_aborts_internally = false;
+/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false/;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =/false;
+set read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set retry_aborts_internally = false;
+\set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false\;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'\;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =\false;
+set read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set retry_aborts_internally = false;
+?set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false?;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'?;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =?false;
+set read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set retry_aborts_internally = false;
+-/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false-/;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-/;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =-/false;
+set read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set retry_aborts_internally = false;
+/#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false/#;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/#;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =/#false;
+set read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set retry_aborts_internally = false;
+/-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false/-;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/-;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =/-false;
+set read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit_dml_mode='partitioned_non_atomic';
+set read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321-07:00';
NEW_CONNECTION;
- set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+ set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
- set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+ set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC' ;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC' ;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'
;
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
set
-autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+foo set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC' bar;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+%set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'%;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+_set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'_;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+&set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'&;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+$set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'$;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+@set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'@;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+!set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'!;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+*set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'*;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+(set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'(;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+)set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC');
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
++set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'+;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+-#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-#;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+\set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'\;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+?set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'?;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+-/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-/;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+/#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/#;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+/-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/-;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit_dml_mode='transactional';
+set read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321z';
NEW_CONNECTION;
- set autocommit_dml_mode='TRANSACTIONAL';
+ set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
- set autocommit_dml_mode='TRANSACTIONAL';
+ set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL' ;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL' ;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL'
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'
;
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
set
-autocommit_dml_mode='TRANSACTIONAL';
+read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set autocommit_dml_mode='TRANSACTIONAL';
+foo set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL' bar;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set autocommit_dml_mode='TRANSACTIONAL';
+%set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'%;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set autocommit_dml_mode='TRANSACTIONAL';
+_set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'_;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set autocommit_dml_mode='TRANSACTIONAL';
+&set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'&;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set autocommit_dml_mode='TRANSACTIONAL';
+$set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'$;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set autocommit_dml_mode='TRANSACTIONAL';
+@set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'@;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set autocommit_dml_mode='TRANSACTIONAL';
+!set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'!;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set autocommit_dml_mode='TRANSACTIONAL';
+*set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'*;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set autocommit_dml_mode='TRANSACTIONAL';
+(set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'(;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set autocommit_dml_mode='TRANSACTIONAL';
+)set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL');
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set autocommit_dml_mode='TRANSACTIONAL';
+-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'-;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set autocommit_dml_mode='TRANSACTIONAL';
++set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'+;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set autocommit_dml_mode='TRANSACTIONAL';
+-#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'-#;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set autocommit_dml_mode='TRANSACTIONAL';
+/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'/;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set autocommit_dml_mode='TRANSACTIONAL';
+\set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'\;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set autocommit_dml_mode='TRANSACTIONAL';
+?set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'?;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set autocommit_dml_mode='TRANSACTIONAL';
+-/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'-/;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set autocommit_dml_mode='TRANSACTIONAL';
+/#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'/#;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set autocommit_dml_mode='TRANSACTIONAL';
+/-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'/-;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-autocommit_dml_mode='TRANSACTIONAL';
+set read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT=NULL;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set statement_timeout=null;
+set read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321+05:30';
NEW_CONNECTION;
- set statement_timeout=null;
+ set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
- set statement_timeout=null;
+ set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set statement_timeout=null ;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
NEW_CONNECTION;
-set statement_timeout=null ;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
NEW_CONNECTION;
-set statement_timeout=null
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'
;
NEW_CONNECTION;
-set statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
set
-statement_timeout=null;
+read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout=null;
+foo set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null bar;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout=null;
+%set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null%;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout=null;
+_set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null_;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout=null;
+&set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null&;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout=null;
+$set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null$;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout=null;
+@set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null@;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout=null;
+!set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null!;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout=null;
+*set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null*;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout=null;
+(set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null(;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout=null;
+)set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null);
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout=null;
+-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null-;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout=null;
++set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null+;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout=null;
+-#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null-#;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout=null;
+/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null/;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout=null;
+\set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null\;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout=null;
+?set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null?;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout=null;
+-/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null-/;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout=null;
+/#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null/#;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout=null;
+/-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null/-;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout=null;
+set read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT='1S';
+SET READ_ONLY_STALENESS='MAX_STALENESS 12S';
NEW_CONNECTION;
-set statement_timeout='1s';
+set read_only_staleness='max_staleness 12s';
NEW_CONNECTION;
- set statement_timeout='1s';
+ set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
- set statement_timeout='1s';
+ set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
-set statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
-set statement_timeout='1s' ;
+set read_only_staleness='MAX_STALENESS 12s' ;
NEW_CONNECTION;
-set statement_timeout='1s' ;
+set read_only_staleness='MAX_STALENESS 12s' ;
NEW_CONNECTION;
-set statement_timeout='1s'
+set read_only_staleness='MAX_STALENESS 12s'
;
NEW_CONNECTION;
-set statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
-set statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
set
-statement_timeout='1s';
+read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout='1s';
+foo set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s' bar;
+set read_only_staleness='MAX_STALENESS 12s' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout='1s';
+%set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'%;
+set read_only_staleness='MAX_STALENESS 12s'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS%12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout='1s';
+_set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'_;
+set read_only_staleness='MAX_STALENESS 12s'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS_12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout='1s';
+&set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'&;
+set read_only_staleness='MAX_STALENESS 12s'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS&12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout='1s';
+$set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'$;
+set read_only_staleness='MAX_STALENESS 12s'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS$12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout='1s';
+@set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'@;
+set read_only_staleness='MAX_STALENESS 12s'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS@12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout='1s';
+!set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'!;
+set read_only_staleness='MAX_STALENESS 12s'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS!12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout='1s';
+*set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'*;
+set read_only_staleness='MAX_STALENESS 12s'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS*12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout='1s';
+(set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'(;
+set read_only_staleness='MAX_STALENESS 12s'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS(12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout='1s';
+)set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s');
+set read_only_staleness='MAX_STALENESS 12s');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS)12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout='1s';
+-set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'-;
+set read_only_staleness='MAX_STALENESS 12s'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS-12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout='1s';
++set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'+;
+set read_only_staleness='MAX_STALENESS 12s'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS+12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout='1s';
+-#set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'-#;
+set read_only_staleness='MAX_STALENESS 12s'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS-#12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout='1s';
+/set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'/;
+set read_only_staleness='MAX_STALENESS 12s'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS/12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout='1s';
+\set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'\;
+set read_only_staleness='MAX_STALENESS 12s'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS\12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout='1s';
+?set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'?;
+set read_only_staleness='MAX_STALENESS 12s'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS?12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout='1s';
+-/set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'-/;
+set read_only_staleness='MAX_STALENESS 12s'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS-/12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout='1s';
+/#set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'/#;
+set read_only_staleness='MAX_STALENESS 12s'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS/#12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout='1s';
+/-set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'/-;
+set read_only_staleness='MAX_STALENESS 12s'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout='1s';
+set read_only_staleness='MAX_STALENESS/-12s';
NEW_CONNECTION;
-set statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT='100MS';
+SET READ_ONLY_STALENESS='MAX_STALENESS 100MS';
NEW_CONNECTION;
-set statement_timeout='100ms';
+set read_only_staleness='max_staleness 100ms';
NEW_CONNECTION;
- set statement_timeout='100ms';
+ set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
- set statement_timeout='100ms';
+ set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
-set statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
-set statement_timeout='100ms' ;
+set read_only_staleness='MAX_STALENESS 100ms' ;
NEW_CONNECTION;
-set statement_timeout='100ms' ;
+set read_only_staleness='MAX_STALENESS 100ms' ;
NEW_CONNECTION;
-set statement_timeout='100ms'
+set read_only_staleness='MAX_STALENESS 100ms'
;
NEW_CONNECTION;
-set statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
-set statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
set
-statement_timeout='100ms';
+read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout='100ms';
+foo set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms' bar;
+set read_only_staleness='MAX_STALENESS 100ms' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout='100ms';
+%set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'%;
+set read_only_staleness='MAX_STALENESS 100ms'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS%100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout='100ms';
+_set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'_;
+set read_only_staleness='MAX_STALENESS 100ms'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS_100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout='100ms';
+&set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'&;
+set read_only_staleness='MAX_STALENESS 100ms'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS&100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout='100ms';
+$set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'$;
+set read_only_staleness='MAX_STALENESS 100ms'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS$100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout='100ms';
+@set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'@;
+set read_only_staleness='MAX_STALENESS 100ms'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS@100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout='100ms';
+!set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'!;
+set read_only_staleness='MAX_STALENESS 100ms'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS!100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout='100ms';
+*set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'*;
+set read_only_staleness='MAX_STALENESS 100ms'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS*100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout='100ms';
+(set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'(;
+set read_only_staleness='MAX_STALENESS 100ms'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS(100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout='100ms';
+)set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms');
+set read_only_staleness='MAX_STALENESS 100ms');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS)100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout='100ms';
+-set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'-;
+set read_only_staleness='MAX_STALENESS 100ms'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS-100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout='100ms';
++set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'+;
+set read_only_staleness='MAX_STALENESS 100ms'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS+100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout='100ms';
+-#set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'-#;
+set read_only_staleness='MAX_STALENESS 100ms'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS-#100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout='100ms';
+/set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'/;
+set read_only_staleness='MAX_STALENESS 100ms'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS/100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout='100ms';
+\set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'\;
+set read_only_staleness='MAX_STALENESS 100ms'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS\100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout='100ms';
+?set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'?;
+set read_only_staleness='MAX_STALENESS 100ms'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS?100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout='100ms';
+-/set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'-/;
+set read_only_staleness='MAX_STALENESS 100ms'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS-/100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout='100ms';
+/#set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'/#;
+set read_only_staleness='MAX_STALENESS 100ms'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS/#100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout='100ms';
+/-set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'/-;
+set read_only_staleness='MAX_STALENESS 100ms'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout='100ms';
+set read_only_staleness='MAX_STALENESS/-100ms';
NEW_CONNECTION;
-set statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT='10000US';
+SET READ_ONLY_STALENESS='MAX_STALENESS 99999US';
NEW_CONNECTION;
-set statement_timeout='10000us';
+set read_only_staleness='max_staleness 99999us';
NEW_CONNECTION;
- set statement_timeout='10000us';
+ set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
- set statement_timeout='10000us';
+ set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
-set statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
-set statement_timeout='10000us' ;
+set read_only_staleness='MAX_STALENESS 99999us' ;
NEW_CONNECTION;
-set statement_timeout='10000us' ;
+set read_only_staleness='MAX_STALENESS 99999us' ;
NEW_CONNECTION;
-set statement_timeout='10000us'
+set read_only_staleness='MAX_STALENESS 99999us'
;
NEW_CONNECTION;
-set statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
-set statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
set
-statement_timeout='10000us';
+read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout='10000us';
+foo set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us' bar;
+set read_only_staleness='MAX_STALENESS 99999us' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout='10000us';
+%set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'%;
+set read_only_staleness='MAX_STALENESS 99999us'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS%99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout='10000us';
+_set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'_;
+set read_only_staleness='MAX_STALENESS 99999us'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS_99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout='10000us';
+&set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'&;
+set read_only_staleness='MAX_STALENESS 99999us'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS&99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout='10000us';
+$set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'$;
+set read_only_staleness='MAX_STALENESS 99999us'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS$99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout='10000us';
+@set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'@;
+set read_only_staleness='MAX_STALENESS 99999us'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS@99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout='10000us';
+!set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'!;
+set read_only_staleness='MAX_STALENESS 99999us'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS!99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout='10000us';
+*set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'*;
+set read_only_staleness='MAX_STALENESS 99999us'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS*99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout='10000us';
+(set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'(;
+set read_only_staleness='MAX_STALENESS 99999us'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS(99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout='10000us';
+)set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us');
+set read_only_staleness='MAX_STALENESS 99999us');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS)99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout='10000us';
+-set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'-;
+set read_only_staleness='MAX_STALENESS 99999us'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS-99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout='10000us';
++set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'+;
+set read_only_staleness='MAX_STALENESS 99999us'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS+99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout='10000us';
+-#set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'-#;
+set read_only_staleness='MAX_STALENESS 99999us'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS-#99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout='10000us';
+/set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'/;
+set read_only_staleness='MAX_STALENESS 99999us'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS/99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout='10000us';
+\set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'\;
+set read_only_staleness='MAX_STALENESS 99999us'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS\99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout='10000us';
+?set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'?;
+set read_only_staleness='MAX_STALENESS 99999us'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS?99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout='10000us';
+-/set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'-/;
+set read_only_staleness='MAX_STALENESS 99999us'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS-/99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout='10000us';
+/#set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'/#;
+set read_only_staleness='MAX_STALENESS 99999us'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS/#99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout='10000us';
+/-set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'/-;
+set read_only_staleness='MAX_STALENESS 99999us'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout='10000us';
+set read_only_staleness='MAX_STALENESS/-99999us';
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT='9223372036854775807NS';
+SET READ_ONLY_STALENESS='MAX_STALENESS 10NS';
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set read_only_staleness='max_staleness 10ns';
NEW_CONNECTION;
- set statement_timeout='9223372036854775807ns';
+ set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
- set statement_timeout='9223372036854775807ns';
+ set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns' ;
+set read_only_staleness='MAX_STALENESS 10ns' ;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns' ;
+set read_only_staleness='MAX_STALENESS 10ns' ;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns'
+set read_only_staleness='MAX_STALENESS 10ns'
;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
set
-statement_timeout='9223372036854775807ns';
+read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout='9223372036854775807ns';
+foo set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns' bar;
+set read_only_staleness='MAX_STALENESS 10ns' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout='9223372036854775807ns';
+%set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'%;
+set read_only_staleness='MAX_STALENESS 10ns'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS%10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout='9223372036854775807ns';
+_set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'_;
+set read_only_staleness='MAX_STALENESS 10ns'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS_10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout='9223372036854775807ns';
+&set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'&;
+set read_only_staleness='MAX_STALENESS 10ns'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS&10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout='9223372036854775807ns';
+$set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'$;
+set read_only_staleness='MAX_STALENESS 10ns'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS$10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout='9223372036854775807ns';
+@set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'@;
+set read_only_staleness='MAX_STALENESS 10ns'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS@10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout='9223372036854775807ns';
+!set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'!;
+set read_only_staleness='MAX_STALENESS 10ns'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS!10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout='9223372036854775807ns';
+*set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'*;
+set read_only_staleness='MAX_STALENESS 10ns'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS*10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout='9223372036854775807ns';
+(set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'(;
+set read_only_staleness='MAX_STALENESS 10ns'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS(10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout='9223372036854775807ns';
+)set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns');
+set read_only_staleness='MAX_STALENESS 10ns');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS)10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout='9223372036854775807ns';
+-set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'-;
+set read_only_staleness='MAX_STALENESS 10ns'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS-10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout='9223372036854775807ns';
++set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'+;
+set read_only_staleness='MAX_STALENESS 10ns'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS+10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout='9223372036854775807ns';
+-#set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'-#;
+set read_only_staleness='MAX_STALENESS 10ns'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS-#10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout='9223372036854775807ns';
+/set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'/;
+set read_only_staleness='MAX_STALENESS 10ns'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS/10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout='9223372036854775807ns';
+\set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'\;
+set read_only_staleness='MAX_STALENESS 10ns'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS\10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout='9223372036854775807ns';
+?set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'?;
+set read_only_staleness='MAX_STALENESS 10ns'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS?10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout='9223372036854775807ns';
+-/set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'-/;
+set read_only_staleness='MAX_STALENESS 10ns'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS-/10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout='9223372036854775807ns';
+/#set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'/#;
+set read_only_staleness='MAX_STALENESS 10ns'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS/#10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout='9223372036854775807ns';
+/-set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'/-;
+set read_only_staleness='MAX_STALENESS 10ns'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout='9223372036854775807ns';
+set read_only_staleness='MAX_STALENESS/-10ns';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
-SET TRANSACTION READ ONLY;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 15S';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set read_only_staleness='exact_staleness 15s';
NEW_CONNECTION;
-set autocommit = false;
- set transaction read only;
+ set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
- set transaction read only;
+ set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only ;
+set read_only_staleness='EXACT_STALENESS 15s' ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only ;
+set read_only_staleness='EXACT_STALENESS 15s' ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only
+set read_only_staleness='EXACT_STALENESS 15s'
;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
set
-transaction
-read
-only;
+read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set transaction read only;
+foo set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only bar;
+set read_only_staleness='EXACT_STALENESS 15s' bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set transaction read only;
+%set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only%;
+set read_only_staleness='EXACT_STALENESS 15s'%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read%only;
+set read_only_staleness='EXACT_STALENESS%15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set transaction read only;
+_set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only_;
+set read_only_staleness='EXACT_STALENESS 15s'_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read_only;
+set read_only_staleness='EXACT_STALENESS_15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set transaction read only;
+&set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only&;
+set read_only_staleness='EXACT_STALENESS 15s'&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read&only;
+set read_only_staleness='EXACT_STALENESS&15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set transaction read only;
+$set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only$;
+set read_only_staleness='EXACT_STALENESS 15s'$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read$only;
+set read_only_staleness='EXACT_STALENESS$15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set transaction read only;
+@set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only@;
+set read_only_staleness='EXACT_STALENESS 15s'@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read@only;
+set read_only_staleness='EXACT_STALENESS@15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set transaction read only;
+!set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only!;
+set read_only_staleness='EXACT_STALENESS 15s'!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read!only;
+set read_only_staleness='EXACT_STALENESS!15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set transaction read only;
+*set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only*;
+set read_only_staleness='EXACT_STALENESS 15s'*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read*only;
+set read_only_staleness='EXACT_STALENESS*15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set transaction read only;
+(set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only(;
+set read_only_staleness='EXACT_STALENESS 15s'(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read(only;
+set read_only_staleness='EXACT_STALENESS(15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set transaction read only;
+)set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only);
+set read_only_staleness='EXACT_STALENESS 15s');
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read)only;
+set read_only_staleness='EXACT_STALENESS)15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set transaction read only;
+-set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only-;
+set read_only_staleness='EXACT_STALENESS 15s'-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-only;
+set read_only_staleness='EXACT_STALENESS-15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set transaction read only;
++set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only+;
+set read_only_staleness='EXACT_STALENESS 15s'+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read+only;
+set read_only_staleness='EXACT_STALENESS+15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set transaction read only;
+-#set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only-#;
+set read_only_staleness='EXACT_STALENESS 15s'-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-#only;
+set read_only_staleness='EXACT_STALENESS-#15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set transaction read only;
+/set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only/;
+set read_only_staleness='EXACT_STALENESS 15s'/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/only;
+set read_only_staleness='EXACT_STALENESS/15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set transaction read only;
+\set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only\;
+set read_only_staleness='EXACT_STALENESS 15s'\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read\only;
+set read_only_staleness='EXACT_STALENESS\15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set transaction read only;
+?set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only?;
+set read_only_staleness='EXACT_STALENESS 15s'?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read?only;
+set read_only_staleness='EXACT_STALENESS?15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set transaction read only;
+-/set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only-/;
+set read_only_staleness='EXACT_STALENESS 15s'-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-/only;
+set read_only_staleness='EXACT_STALENESS-/15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set transaction read only;
+/#set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only/#;
+set read_only_staleness='EXACT_STALENESS 15s'/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/#only;
+set read_only_staleness='EXACT_STALENESS/#15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set transaction read only;
+/-set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only/-;
+set read_only_staleness='EXACT_STALENESS 15s'/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/-only;
+set read_only_staleness='EXACT_STALENESS/-15s';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
-SET TRANSACTION READ WRITE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 1500MS';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set read_only_staleness='exact_staleness 1500ms';
NEW_CONNECTION;
-set autocommit = false;
- set transaction read write;
+ set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
- set transaction read write;
+ set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write ;
+set read_only_staleness='EXACT_STALENESS 1500ms' ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write ;
+set read_only_staleness='EXACT_STALENESS 1500ms' ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write
+set read_only_staleness='EXACT_STALENESS 1500ms'
;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
set
-transaction
-read
-write;
+read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set transaction read write;
+foo set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write bar;
+set read_only_staleness='EXACT_STALENESS 1500ms' bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set transaction read write;
+%set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write%;
+set read_only_staleness='EXACT_STALENESS 1500ms'%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read%write;
+set read_only_staleness='EXACT_STALENESS%1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set transaction read write;
+_set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write_;
+set read_only_staleness='EXACT_STALENESS 1500ms'_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read_write;
+set read_only_staleness='EXACT_STALENESS_1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set transaction read write;
+&set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write&;
+set read_only_staleness='EXACT_STALENESS 1500ms'&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read&write;
+set read_only_staleness='EXACT_STALENESS&1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set transaction read write;
+$set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write$;
+set read_only_staleness='EXACT_STALENESS 1500ms'$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read$write;
+set read_only_staleness='EXACT_STALENESS$1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set transaction read write;
+@set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write@;
+set read_only_staleness='EXACT_STALENESS 1500ms'@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read@write;
+set read_only_staleness='EXACT_STALENESS@1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set transaction read write;
+!set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write!;
+set read_only_staleness='EXACT_STALENESS 1500ms'!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read!write;
+set read_only_staleness='EXACT_STALENESS!1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set transaction read write;
+*set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write*;
+set read_only_staleness='EXACT_STALENESS 1500ms'*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read*write;
+set read_only_staleness='EXACT_STALENESS*1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set transaction read write;
+(set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write(;
+set read_only_staleness='EXACT_STALENESS 1500ms'(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read(write;
+set read_only_staleness='EXACT_STALENESS(1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set transaction read write;
+)set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write);
+set read_only_staleness='EXACT_STALENESS 1500ms');
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read)write;
+set read_only_staleness='EXACT_STALENESS)1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set transaction read write;
+-set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write-;
+set read_only_staleness='EXACT_STALENESS 1500ms'-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-write;
+set read_only_staleness='EXACT_STALENESS-1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set transaction read write;
++set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write+;
+set read_only_staleness='EXACT_STALENESS 1500ms'+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read+write;
+set read_only_staleness='EXACT_STALENESS+1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set transaction read write;
+-#set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write-#;
+set read_only_staleness='EXACT_STALENESS 1500ms'-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-#write;
+set read_only_staleness='EXACT_STALENESS-#1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set transaction read write;
+/set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write/;
+set read_only_staleness='EXACT_STALENESS 1500ms'/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/write;
+set read_only_staleness='EXACT_STALENESS/1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set transaction read write;
+\set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write\;
+set read_only_staleness='EXACT_STALENESS 1500ms'\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read\write;
+set read_only_staleness='EXACT_STALENESS\1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set transaction read write;
+?set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write?;
+set read_only_staleness='EXACT_STALENESS 1500ms'?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read?write;
+set read_only_staleness='EXACT_STALENESS?1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set transaction read write;
+-/set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write-/;
+set read_only_staleness='EXACT_STALENESS 1500ms'-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-/write;
+set read_only_staleness='EXACT_STALENESS-/1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set transaction read write;
+/#set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write/#;
+set read_only_staleness='EXACT_STALENESS 1500ms'/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/#write;
+set read_only_staleness='EXACT_STALENESS/#1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set transaction read write;
+/-set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write/-;
+set read_only_staleness='EXACT_STALENESS 1500ms'/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/-write;
+set read_only_staleness='EXACT_STALENESS/-1500ms';
NEW_CONNECTION;
-set read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='STRONG';
+SET READ_ONLY_STALENESS='EXACT_STALENESS 15000000US';
NEW_CONNECTION;
-set read_only_staleness='strong';
+set read_only_staleness='exact_staleness 15000000us';
NEW_CONNECTION;
- set read_only_staleness='STRONG';
+ set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
- set read_only_staleness='STRONG';
+ set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-set read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-set read_only_staleness='STRONG' ;
+set read_only_staleness='EXACT_STALENESS 15000000us' ;
NEW_CONNECTION;
-set read_only_staleness='STRONG' ;
+set read_only_staleness='EXACT_STALENESS 15000000us' ;
NEW_CONNECTION;
-set read_only_staleness='STRONG'
+set read_only_staleness='EXACT_STALENESS 15000000us'
;
NEW_CONNECTION;
-set read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-set read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
set
-read_only_staleness='STRONG';
+read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='STRONG';
+foo set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG' bar;
+set read_only_staleness='EXACT_STALENESS 15000000us' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='STRONG';
+%set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'%;
+set read_only_staleness='EXACT_STALENESS 15000000us'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS%15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='STRONG';
+_set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'_;
+set read_only_staleness='EXACT_STALENESS 15000000us'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS_15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='STRONG';
+&set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'&;
+set read_only_staleness='EXACT_STALENESS 15000000us'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS&15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='STRONG';
+$set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'$;
+set read_only_staleness='EXACT_STALENESS 15000000us'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS$15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='STRONG';
+@set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'@;
+set read_only_staleness='EXACT_STALENESS 15000000us'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS@15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='STRONG';
+!set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'!;
+set read_only_staleness='EXACT_STALENESS 15000000us'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS!15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='STRONG';
+*set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'*;
+set read_only_staleness='EXACT_STALENESS 15000000us'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS*15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='STRONG';
+(set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'(;
+set read_only_staleness='EXACT_STALENESS 15000000us'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS(15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='STRONG';
+)set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG');
+set read_only_staleness='EXACT_STALENESS 15000000us');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS)15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='STRONG';
+-set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'-;
+set read_only_staleness='EXACT_STALENESS 15000000us'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS-15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='STRONG';
++set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'+;
+set read_only_staleness='EXACT_STALENESS 15000000us'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS+15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='STRONG';
+-#set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'-#;
+set read_only_staleness='EXACT_STALENESS 15000000us'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS-#15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='STRONG';
+/set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'/;
+set read_only_staleness='EXACT_STALENESS 15000000us'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS/15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='STRONG';
+\set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'\;
+set read_only_staleness='EXACT_STALENESS 15000000us'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS\15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='STRONG';
+?set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'?;
+set read_only_staleness='EXACT_STALENESS 15000000us'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS?15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='STRONG';
+-/set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'-/;
+set read_only_staleness='EXACT_STALENESS 15000000us'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS-/15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='STRONG';
+/#set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'/#;
+set read_only_staleness='EXACT_STALENESS 15000000us'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS/#15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='STRONG';
+/-set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'/-;
+set read_only_staleness='EXACT_STALENESS 15000000us'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-read_only_staleness='STRONG';
+set read_only_staleness='EXACT_STALENESS/-15000000us';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+SET READ_ONLY_STALENESS='EXACT_STALENESS 9999NS';
NEW_CONNECTION;
-set read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123-08:00';
+set read_only_staleness='exact_staleness 9999ns';
NEW_CONNECTION;
- set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+ set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
- set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+ set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
+set read_only_staleness='EXACT_STALENESS 9999ns' ;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
+set read_only_staleness='EXACT_STALENESS 9999ns' ;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'
+set read_only_staleness='EXACT_STALENESS 9999ns'
;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
set
-read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+foo set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' bar;
+set read_only_staleness='EXACT_STALENESS 9999ns' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+%set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'%;
+set read_only_staleness='EXACT_STALENESS 9999ns'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS%9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+_set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'_;
+set read_only_staleness='EXACT_STALENESS 9999ns'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS_9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+&set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'&;
+set read_only_staleness='EXACT_STALENESS 9999ns'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS&9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+$set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'$;
+set read_only_staleness='EXACT_STALENESS 9999ns'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS$9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+@set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'@;
+set read_only_staleness='EXACT_STALENESS 9999ns'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS@9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+!set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'!;
+set read_only_staleness='EXACT_STALENESS 9999ns'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS!9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+*set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'*;
+set read_only_staleness='EXACT_STALENESS 9999ns'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS*9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+(set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'(;
+set read_only_staleness='EXACT_STALENESS 9999ns'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS(9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+)set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00');
+set read_only_staleness='EXACT_STALENESS 9999ns');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS)9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+-set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-;
+set read_only_staleness='EXACT_STALENESS 9999ns'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS-9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
++set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'+;
+set read_only_staleness='EXACT_STALENESS 9999ns'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS+9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+-#set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-#;
+set read_only_staleness='EXACT_STALENESS 9999ns'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS-#9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+/set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/;
+set read_only_staleness='EXACT_STALENESS 9999ns'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS/9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+\set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'\;
+set read_only_staleness='EXACT_STALENESS 9999ns'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS\9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+?set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'?;
+set read_only_staleness='EXACT_STALENESS 9999ns'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS?9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+-/set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-/;
+set read_only_staleness='EXACT_STALENESS 9999ns'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS-/9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+/#set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/#;
+set read_only_staleness='EXACT_STALENESS 9999ns'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS/#9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+/-set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/-;
+set read_only_staleness='EXACT_STALENESS 9999ns'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='EXACT_STALENESS/-9999ns';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set optimizer_version='1';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+SET OPTIMIZER_VERSION='1';
NEW_CONNECTION;
-set read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123z';
+set optimizer_version='1';
NEW_CONNECTION;
- set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+ set optimizer_version='1';
NEW_CONNECTION;
- set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+ set optimizer_version='1';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set optimizer_version='1';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
+set optimizer_version='1' ;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
+set optimizer_version='1' ;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'
+set optimizer_version='1'
;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set optimizer_version='1';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set optimizer_version='1';
NEW_CONNECTION;
set
-read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+foo set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' bar;
+set optimizer_version='1' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+%set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'%;
+set optimizer_version='1'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123Z';
+set%optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+_set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'_;
+set optimizer_version='1'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123Z';
+set_optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+&set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'&;
+set optimizer_version='1'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123Z';
+set&optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+$set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'$;
+set optimizer_version='1'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123Z';
+set$optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+@set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'@;
+set optimizer_version='1'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123Z';
+set@optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+!set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'!;
+set optimizer_version='1'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123Z';
+set!optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+*set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'*;
+set optimizer_version='1'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123Z';
+set*optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+(set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'(;
+set optimizer_version='1'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123Z';
+set(optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+)set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z');
+set optimizer_version='1');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123Z';
+set)optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+-set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-;
+set optimizer_version='1'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123Z';
+set-optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
++set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'+;
+set optimizer_version='1'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123Z';
+set+optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+-#set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-#;
+set optimizer_version='1'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123Z';
+set-#optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+/set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/;
+set optimizer_version='1'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123Z';
+set/optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+\set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'\;
+set optimizer_version='1'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123Z';
+set\optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+?set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'?;
+set optimizer_version='1'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123Z';
+set?optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+-/set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-/;
+set optimizer_version='1'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123Z';
+set-/optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+/#set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/#;
+set optimizer_version='1'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123Z';
+set/#optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+/-set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/-;
+set optimizer_version='1'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123Z';
+set/-optimizer_version='1';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set optimizer_version='200';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+SET OPTIMIZER_VERSION='200';
NEW_CONNECTION;
-set read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123+07:45';
+set optimizer_version='200';
NEW_CONNECTION;
- set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+ set optimizer_version='200';
NEW_CONNECTION;
- set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+ set optimizer_version='200';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set optimizer_version='200';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
+set optimizer_version='200' ;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
+set optimizer_version='200' ;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'
+set optimizer_version='200'
;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set optimizer_version='200';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set optimizer_version='200';
NEW_CONNECTION;
set
-read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+foo set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' bar;
+set optimizer_version='200' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+%set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'%;
+set optimizer_version='200'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123+07:45';
+set%optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+_set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'_;
+set optimizer_version='200'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123+07:45';
+set_optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+&set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'&;
+set optimizer_version='200'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123+07:45';
+set&optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+$set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'$;
+set optimizer_version='200'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123+07:45';
+set$optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+@set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'@;
+set optimizer_version='200'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123+07:45';
+set@optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+!set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'!;
+set optimizer_version='200'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123+07:45';
+set!optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+*set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'*;
+set optimizer_version='200'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123+07:45';
+set*optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+(set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'(;
+set optimizer_version='200'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123+07:45';
+set(optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+)set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45');
+set optimizer_version='200');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123+07:45';
+set)optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+-set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-;
+set optimizer_version='200'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123+07:45';
+set-optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
++set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'+;
+set optimizer_version='200'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123+07:45';
+set+optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+-#set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-#;
+set optimizer_version='200'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123+07:45';
+set-#optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+/set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/;
+set optimizer_version='200'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123+07:45';
+set/optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+\set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'\;
+set optimizer_version='200'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123+07:45';
+set\optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+?set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'?;
+set optimizer_version='200'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123+07:45';
+set?optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+-/set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-/;
+set optimizer_version='200'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123+07:45';
+set-/optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+/#set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/#;
+set optimizer_version='200'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123+07:45';
+set/#optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+/-set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/-;
+set optimizer_version='200'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123+07:45';
+set/-optimizer_version='200';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set optimizer_version='LATEST';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+SET OPTIMIZER_VERSION='LATEST';
NEW_CONNECTION;
-set read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321-07:00';
+set optimizer_version='latest';
NEW_CONNECTION;
- set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+ set optimizer_version='LATEST';
NEW_CONNECTION;
- set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+ set optimizer_version='LATEST';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set optimizer_version='LATEST';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
+set optimizer_version='LATEST' ;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
+set optimizer_version='LATEST' ;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'
+set optimizer_version='LATEST'
;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set optimizer_version='LATEST';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set optimizer_version='LATEST';
NEW_CONNECTION;
set
-read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+foo set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' bar;
+set optimizer_version='LATEST' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+%set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'%;
+set optimizer_version='LATEST'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321-07:00';
+set%optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+_set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'_;
+set optimizer_version='LATEST'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321-07:00';
+set_optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+&set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'&;
+set optimizer_version='LATEST'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321-07:00';
+set&optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+$set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'$;
+set optimizer_version='LATEST'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321-07:00';
+set$optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+@set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'@;
+set optimizer_version='LATEST'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321-07:00';
+set@optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+!set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'!;
+set optimizer_version='LATEST'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321-07:00';
+set!optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+*set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'*;
+set optimizer_version='LATEST'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321-07:00';
+set*optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+(set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'(;
+set optimizer_version='LATEST'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321-07:00';
+set(optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+)set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00');
+set optimizer_version='LATEST');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321-07:00';
+set)optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+-set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-;
+set optimizer_version='LATEST'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321-07:00';
+set-optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
++set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'+;
+set optimizer_version='LATEST'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321-07:00';
+set+optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+-#set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-#;
+set optimizer_version='LATEST'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321-07:00';
+set-#optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+/set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/;
+set optimizer_version='LATEST'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321-07:00';
+set/optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+\set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'\;
+set optimizer_version='LATEST'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321-07:00';
+set\optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+?set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'?;
+set optimizer_version='LATEST'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321-07:00';
+set?optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+-/set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-/;
+set optimizer_version='LATEST'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321-07:00';
+set-/optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+/#set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/#;
+set optimizer_version='LATEST'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321-07:00';
+set/#optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+/-set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/-;
+set optimizer_version='LATEST'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321-07:00';
+set/-optimizer_version='LATEST';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set optimizer_version='';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+SET OPTIMIZER_VERSION='';
NEW_CONNECTION;
-set read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321z';
+set optimizer_version='';
NEW_CONNECTION;
- set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+ set optimizer_version='';
NEW_CONNECTION;
- set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+ set optimizer_version='';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set optimizer_version='';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
+set optimizer_version='' ;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
+set optimizer_version='' ;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'
+set optimizer_version=''
;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set optimizer_version='';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set optimizer_version='';
NEW_CONNECTION;
set
-read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+foo set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' bar;
+set optimizer_version='' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+%set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'%;
+set optimizer_version=''%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321Z';
+set%optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+_set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'_;
+set optimizer_version=''_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321Z';
+set_optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+&set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'&;
+set optimizer_version=''&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321Z';
+set&optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+$set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'$;
+set optimizer_version=''$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321Z';
+set$optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+@set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'@;
+set optimizer_version=''@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321Z';
+set@optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+!set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'!;
+set optimizer_version=''!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321Z';
+set!optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+*set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'*;
+set optimizer_version=''*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321Z';
+set*optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+(set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'(;
+set optimizer_version=''(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321Z';
+set(optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+)set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z');
+set optimizer_version='');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321Z';
+set)optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+-set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-;
+set optimizer_version=''-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321Z';
+set-optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
++set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'+;
+set optimizer_version=''+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321Z';
+set+optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+-#set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-#;
+set optimizer_version=''-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321Z';
+set-#optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+/set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/;
+set optimizer_version=''/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321Z';
+set/optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+\set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'\;
+set optimizer_version=''\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321Z';
+set\optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+?set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'?;
+set optimizer_version=''?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321Z';
+set?optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+-/set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-/;
+set optimizer_version=''-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321Z';
+set-/optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+/#set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/#;
+set optimizer_version=''/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321Z';
+set/#optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+/-set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/-;
+set optimizer_version=''/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321Z';
+set/-optimizer_version='';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+SET OPTIMIZER_STATISTICS_PACKAGE='AUTO_20191128_14_47_22UTC';
NEW_CONNECTION;
-set read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321+05:30';
+set optimizer_statistics_package='auto_20191128_14_47_22utc';
NEW_CONNECTION;
- set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+ set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
- set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+ set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC' ;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC' ;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'
;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
set
-read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+foo set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' bar;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+%set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'%;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321+05:30';
+set%optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+_set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'_;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321+05:30';
+set_optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+&set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'&;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321+05:30';
+set&optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+$set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'$;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321+05:30';
+set$optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+@set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'@;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321+05:30';
+set@optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+!set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'!;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321+05:30';
+set!optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+*set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'*;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321+05:30';
+set*optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+(set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'(;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321+05:30';
+set(optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+)set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30');
+set optimizer_statistics_package='auto_20191128_14_47_22UTC');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321+05:30';
+set)optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+-set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321+05:30';
+set-optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
++set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'+;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321+05:30';
+set+optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+-#set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-#;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321+05:30';
+set-#optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+/set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321+05:30';
+set/optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+\set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'\;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321+05:30';
+set\optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+?set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'?;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321+05:30';
+set?optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+-/set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-/;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321+05:30';
+set-/optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+/#set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/#;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321+05:30';
+set/#optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+/-set optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/-;
+set optimizer_statistics_package='auto_20191128_14_47_22UTC'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321+05:30';
+set/-optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s';
+set optimizer_statistics_package='';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MAX_STALENESS 12S';
+SET OPTIMIZER_STATISTICS_PACKAGE='';
NEW_CONNECTION;
-set read_only_staleness='max_staleness 12s';
+set optimizer_statistics_package='';
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 12s';
+ set optimizer_statistics_package='';
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 12s';
+ set optimizer_statistics_package='';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s';
+set optimizer_statistics_package='';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s' ;
+set optimizer_statistics_package='' ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s' ;
+set optimizer_statistics_package='' ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s'
+set optimizer_statistics_package=''
;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s';
+set optimizer_statistics_package='';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s';
+set optimizer_statistics_package='';
NEW_CONNECTION;
set
-read_only_staleness='MAX_STALENESS 12s';
+optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MAX_STALENESS 12s';
+foo set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s' bar;
+set optimizer_statistics_package='' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MAX_STALENESS 12s';
+%set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'%;
+set optimizer_statistics_package=''%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS%12s';
+set%optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MAX_STALENESS 12s';
+_set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'_;
+set optimizer_statistics_package=''_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS_12s';
+set_optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MAX_STALENESS 12s';
+&set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'&;
+set optimizer_statistics_package=''&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS&12s';
+set&optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MAX_STALENESS 12s';
+$set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'$;
+set optimizer_statistics_package=''$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS$12s';
+set$optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MAX_STALENESS 12s';
+@set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'@;
+set optimizer_statistics_package=''@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS@12s';
+set@optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MAX_STALENESS 12s';
+!set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'!;
+set optimizer_statistics_package=''!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS!12s';
+set!optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MAX_STALENESS 12s';
+*set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'*;
+set optimizer_statistics_package=''*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS*12s';
+set*optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MAX_STALENESS 12s';
+(set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'(;
+set optimizer_statistics_package=''(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS(12s';
+set(optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MAX_STALENESS 12s';
+)set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s');
+set optimizer_statistics_package='');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS)12s';
+set)optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MAX_STALENESS 12s';
+-set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'-;
+set optimizer_statistics_package=''-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-12s';
+set-optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MAX_STALENESS 12s';
++set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'+;
+set optimizer_statistics_package=''+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS+12s';
+set+optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MAX_STALENESS 12s';
+-#set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'-#;
+set optimizer_statistics_package=''-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-#12s';
+set-#optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MAX_STALENESS 12s';
+/set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'/;
+set optimizer_statistics_package=''/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/12s';
+set/optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MAX_STALENESS 12s';
+\set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'\;
+set optimizer_statistics_package=''\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS\12s';
+set\optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MAX_STALENESS 12s';
+?set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'?;
+set optimizer_statistics_package=''?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS?12s';
+set?optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MAX_STALENESS 12s';
+-/set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'-/;
+set optimizer_statistics_package=''-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-/12s';
+set-/optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MAX_STALENESS 12s';
+/#set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'/#;
+set optimizer_statistics_package=''/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/#12s';
+set/#optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MAX_STALENESS 12s';
+/-set optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'/-;
+set optimizer_statistics_package=''/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/-12s';
+set/-optimizer_statistics_package='';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms';
+set return_commit_stats = true;
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MAX_STALENESS 100MS';
+SET RETURN_COMMIT_STATS = TRUE;
NEW_CONNECTION;
-set read_only_staleness='max_staleness 100ms';
+set return_commit_stats = true;
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 100ms';
+ set return_commit_stats = true;
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 100ms';
+ set return_commit_stats = true;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms';
+set return_commit_stats = true;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms' ;
+set return_commit_stats = true ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms' ;
+set return_commit_stats = true ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms'
+set return_commit_stats = true
;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms';
+set return_commit_stats = true;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms';
+set return_commit_stats = true;
NEW_CONNECTION;
set
-read_only_staleness='MAX_STALENESS 100ms';
+return_commit_stats
+=
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MAX_STALENESS 100ms';
+foo set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms' bar;
+set return_commit_stats = true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MAX_STALENESS 100ms';
+%set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'%;
+set return_commit_stats = true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS%100ms';
+set return_commit_stats =%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MAX_STALENESS 100ms';
+_set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'_;
+set return_commit_stats = true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS_100ms';
+set return_commit_stats =_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MAX_STALENESS 100ms';
+&set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'&;
+set return_commit_stats = true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS&100ms';
+set return_commit_stats =&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MAX_STALENESS 100ms';
+$set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'$;
+set return_commit_stats = true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS$100ms';
+set return_commit_stats =$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MAX_STALENESS 100ms';
+@set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'@;
+set return_commit_stats = true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS@100ms';
+set return_commit_stats =@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MAX_STALENESS 100ms';
+!set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'!;
+set return_commit_stats = true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS!100ms';
+set return_commit_stats =!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MAX_STALENESS 100ms';
+*set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'*;
+set return_commit_stats = true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS*100ms';
+set return_commit_stats =*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MAX_STALENESS 100ms';
+(set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'(;
+set return_commit_stats = true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS(100ms';
+set return_commit_stats =(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MAX_STALENESS 100ms';
+)set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms');
+set return_commit_stats = true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS)100ms';
+set return_commit_stats =)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MAX_STALENESS 100ms';
+-set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'-;
+set return_commit_stats = true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-100ms';
+set return_commit_stats =-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MAX_STALENESS 100ms';
++set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'+;
+set return_commit_stats = true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS+100ms';
+set return_commit_stats =+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MAX_STALENESS 100ms';
+-#set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'-#;
+set return_commit_stats = true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-#100ms';
+set return_commit_stats =-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MAX_STALENESS 100ms';
+/set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'/;
+set return_commit_stats = true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/100ms';
+set return_commit_stats =/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MAX_STALENESS 100ms';
+\set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'\;
+set return_commit_stats = true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS\100ms';
+set return_commit_stats =\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MAX_STALENESS 100ms';
+?set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'?;
+set return_commit_stats = true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS?100ms';
+set return_commit_stats =?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MAX_STALENESS 100ms';
+-/set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'-/;
+set return_commit_stats = true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-/100ms';
+set return_commit_stats =-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MAX_STALENESS 100ms';
+/#set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'/#;
+set return_commit_stats = true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/#100ms';
+set return_commit_stats =/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MAX_STALENESS 100ms';
+/-set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'/-;
+set return_commit_stats = true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/-100ms';
+set return_commit_stats =/-true;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us';
+set return_commit_stats = false;
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MAX_STALENESS 99999US';
+SET RETURN_COMMIT_STATS = FALSE;
NEW_CONNECTION;
-set read_only_staleness='max_staleness 99999us';
+set return_commit_stats = false;
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 99999us';
+ set return_commit_stats = false;
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 99999us';
+ set return_commit_stats = false;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us';
+set return_commit_stats = false;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us' ;
+set return_commit_stats = false ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us' ;
+set return_commit_stats = false ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us'
+set return_commit_stats = false
;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us';
+set return_commit_stats = false;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us';
+set return_commit_stats = false;
NEW_CONNECTION;
set
-read_only_staleness='MAX_STALENESS 99999us';
+return_commit_stats
+=
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MAX_STALENESS 99999us';
+foo set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us' bar;
+set return_commit_stats = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MAX_STALENESS 99999us';
+%set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'%;
+set return_commit_stats = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS%99999us';
+set return_commit_stats =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MAX_STALENESS 99999us';
+_set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'_;
+set return_commit_stats = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS_99999us';
+set return_commit_stats =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MAX_STALENESS 99999us';
+&set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'&;
+set return_commit_stats = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS&99999us';
+set return_commit_stats =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MAX_STALENESS 99999us';
+$set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'$;
+set return_commit_stats = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS$99999us';
+set return_commit_stats =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MAX_STALENESS 99999us';
+@set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'@;
+set return_commit_stats = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS@99999us';
+set return_commit_stats =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MAX_STALENESS 99999us';
+!set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'!;
+set return_commit_stats = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS!99999us';
+set return_commit_stats =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MAX_STALENESS 99999us';
+*set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'*;
+set return_commit_stats = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS*99999us';
+set return_commit_stats =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MAX_STALENESS 99999us';
+(set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'(;
+set return_commit_stats = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS(99999us';
+set return_commit_stats =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MAX_STALENESS 99999us';
+)set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us');
+set return_commit_stats = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS)99999us';
+set return_commit_stats =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MAX_STALENESS 99999us';
+-set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'-;
+set return_commit_stats = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-99999us';
+set return_commit_stats =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MAX_STALENESS 99999us';
++set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'+;
+set return_commit_stats = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS+99999us';
+set return_commit_stats =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MAX_STALENESS 99999us';
+-#set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'-#;
+set return_commit_stats = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-#99999us';
+set return_commit_stats =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MAX_STALENESS 99999us';
+/set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'/;
+set return_commit_stats = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/99999us';
+set return_commit_stats =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MAX_STALENESS 99999us';
+\set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'\;
+set return_commit_stats = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS\99999us';
+set return_commit_stats =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MAX_STALENESS 99999us';
+?set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'?;
+set return_commit_stats = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS?99999us';
+set return_commit_stats =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MAX_STALENESS 99999us';
+-/set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'-/;
+set return_commit_stats = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-/99999us';
+set return_commit_stats =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MAX_STALENESS 99999us';
+/#set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'/#;
+set return_commit_stats = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/#99999us';
+set return_commit_stats =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MAX_STALENESS 99999us';
+/-set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'/-;
+set return_commit_stats = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/-99999us';
+set return_commit_stats =/-false;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns';
+set statement_tag='tag1';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10NS';
+SET STATEMENT_TAG='TAG1';
NEW_CONNECTION;
-set read_only_staleness='max_staleness 10ns';
+set statement_tag='tag1';
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 10ns';
+ set statement_tag='tag1';
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 10ns';
+ set statement_tag='tag1';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns';
+set statement_tag='tag1';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns' ;
+set statement_tag='tag1' ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns' ;
+set statement_tag='tag1' ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns'
+set statement_tag='tag1'
;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns';
+set statement_tag='tag1';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns';
+set statement_tag='tag1';
NEW_CONNECTION;
set
-read_only_staleness='MAX_STALENESS 10ns';
+statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MAX_STALENESS 10ns';
+foo set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns' bar;
+set statement_tag='tag1' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MAX_STALENESS 10ns';
+%set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'%;
+set statement_tag='tag1'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS%10ns';
+set%statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MAX_STALENESS 10ns';
+_set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'_;
+set statement_tag='tag1'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS_10ns';
+set_statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MAX_STALENESS 10ns';
+&set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'&;
+set statement_tag='tag1'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS&10ns';
+set&statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MAX_STALENESS 10ns';
+$set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'$;
+set statement_tag='tag1'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS$10ns';
+set$statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MAX_STALENESS 10ns';
+@set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'@;
+set statement_tag='tag1'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS@10ns';
+set@statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MAX_STALENESS 10ns';
+!set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'!;
+set statement_tag='tag1'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS!10ns';
+set!statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MAX_STALENESS 10ns';
+*set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'*;
+set statement_tag='tag1'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS*10ns';
+set*statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MAX_STALENESS 10ns';
+(set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'(;
+set statement_tag='tag1'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS(10ns';
+set(statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MAX_STALENESS 10ns';
+)set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns');
+set statement_tag='tag1');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS)10ns';
+set)statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MAX_STALENESS 10ns';
+-set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'-;
+set statement_tag='tag1'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-10ns';
+set-statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MAX_STALENESS 10ns';
++set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'+;
+set statement_tag='tag1'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS+10ns';
+set+statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MAX_STALENESS 10ns';
+-#set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'-#;
+set statement_tag='tag1'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-#10ns';
+set-#statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MAX_STALENESS 10ns';
+/set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'/;
+set statement_tag='tag1'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/10ns';
+set/statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MAX_STALENESS 10ns';
+\set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'\;
+set statement_tag='tag1'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS\10ns';
+set\statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MAX_STALENESS 10ns';
+?set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'?;
+set statement_tag='tag1'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS?10ns';
+set?statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MAX_STALENESS 10ns';
+-/set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'-/;
+set statement_tag='tag1'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-/10ns';
+set-/statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MAX_STALENESS 10ns';
+/#set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'/#;
+set statement_tag='tag1'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/#10ns';
+set/#statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MAX_STALENESS 10ns';
+/-set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'/-;
+set statement_tag='tag1'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/-10ns';
+set/-statement_tag='tag1';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s';
+set statement_tag='tag2';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 15S';
+SET STATEMENT_TAG='TAG2';
NEW_CONNECTION;
-set read_only_staleness='exact_staleness 15s';
+set statement_tag='tag2';
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 15s';
+ set statement_tag='tag2';
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 15s';
+ set statement_tag='tag2';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s';
+set statement_tag='tag2';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s' ;
+set statement_tag='tag2' ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s' ;
+set statement_tag='tag2' ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s'
+set statement_tag='tag2'
;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s';
+set statement_tag='tag2';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s';
+set statement_tag='tag2';
NEW_CONNECTION;
set
-read_only_staleness='EXACT_STALENESS 15s';
+statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='EXACT_STALENESS 15s';
+foo set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s' bar;
+set statement_tag='tag2' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='EXACT_STALENESS 15s';
+%set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'%;
+set statement_tag='tag2'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS%15s';
+set%statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='EXACT_STALENESS 15s';
+_set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'_;
+set statement_tag='tag2'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS_15s';
+set_statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='EXACT_STALENESS 15s';
+&set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'&;
+set statement_tag='tag2'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS&15s';
+set&statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='EXACT_STALENESS 15s';
+$set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'$;
+set statement_tag='tag2'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS$15s';
+set$statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='EXACT_STALENESS 15s';
+@set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'@;
+set statement_tag='tag2'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS@15s';
+set@statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='EXACT_STALENESS 15s';
+!set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'!;
+set statement_tag='tag2'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS!15s';
+set!statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='EXACT_STALENESS 15s';
+*set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'*;
+set statement_tag='tag2'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS*15s';
+set*statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='EXACT_STALENESS 15s';
+(set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'(;
+set statement_tag='tag2'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS(15s';
+set(statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='EXACT_STALENESS 15s';
+)set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s');
+set statement_tag='tag2');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS)15s';
+set)statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='EXACT_STALENESS 15s';
+-set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'-;
+set statement_tag='tag2'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-15s';
+set-statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='EXACT_STALENESS 15s';
++set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'+;
+set statement_tag='tag2'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS+15s';
+set+statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='EXACT_STALENESS 15s';
+-#set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'-#;
+set statement_tag='tag2'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-#15s';
+set-#statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='EXACT_STALENESS 15s';
+/set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'/;
+set statement_tag='tag2'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/15s';
+set/statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='EXACT_STALENESS 15s';
+\set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'\;
+set statement_tag='tag2'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS\15s';
+set\statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='EXACT_STALENESS 15s';
+?set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'?;
+set statement_tag='tag2'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS?15s';
+set?statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='EXACT_STALENESS 15s';
+-/set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'-/;
+set statement_tag='tag2'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-/15s';
+set-/statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='EXACT_STALENESS 15s';
+/#set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'/#;
+set statement_tag='tag2'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/#15s';
+set/#statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='EXACT_STALENESS 15s';
+/-set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'/-;
+set statement_tag='tag2'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/-15s';
+set/-statement_tag='tag2';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms';
+set statement_tag='';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 1500MS';
+SET STATEMENT_TAG='';
NEW_CONNECTION;
-set read_only_staleness='exact_staleness 1500ms';
+set statement_tag='';
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 1500ms';
+ set statement_tag='';
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 1500ms';
+ set statement_tag='';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms';
+set statement_tag='';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms' ;
+set statement_tag='' ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms' ;
+set statement_tag='' ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms'
+set statement_tag=''
;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms';
+set statement_tag='';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms';
+set statement_tag='';
NEW_CONNECTION;
set
-read_only_staleness='EXACT_STALENESS 1500ms';
+statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='EXACT_STALENESS 1500ms';
+foo set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms' bar;
+set statement_tag='' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='EXACT_STALENESS 1500ms';
+%set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'%;
+set statement_tag=''%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS%1500ms';
+set%statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='EXACT_STALENESS 1500ms';
+_set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'_;
+set statement_tag=''_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS_1500ms';
+set_statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='EXACT_STALENESS 1500ms';
+&set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'&;
+set statement_tag=''&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS&1500ms';
+set&statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='EXACT_STALENESS 1500ms';
+$set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'$;
+set statement_tag=''$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS$1500ms';
+set$statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='EXACT_STALENESS 1500ms';
+@set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'@;
+set statement_tag=''@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS@1500ms';
+set@statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='EXACT_STALENESS 1500ms';
+!set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'!;
+set statement_tag=''!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS!1500ms';
+set!statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='EXACT_STALENESS 1500ms';
+*set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'*;
+set statement_tag=''*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS*1500ms';
+set*statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='EXACT_STALENESS 1500ms';
+(set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'(;
+set statement_tag=''(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS(1500ms';
+set(statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='EXACT_STALENESS 1500ms';
+)set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms');
+set statement_tag='');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS)1500ms';
+set)statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='EXACT_STALENESS 1500ms';
+-set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'-;
+set statement_tag=''-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-1500ms';
+set-statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='EXACT_STALENESS 1500ms';
++set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'+;
+set statement_tag=''+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS+1500ms';
+set+statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='EXACT_STALENESS 1500ms';
+-#set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'-#;
+set statement_tag=''-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-#1500ms';
+set-#statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='EXACT_STALENESS 1500ms';
+/set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'/;
+set statement_tag=''/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/1500ms';
+set/statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='EXACT_STALENESS 1500ms';
+\set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'\;
+set statement_tag=''\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS\1500ms';
+set\statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='EXACT_STALENESS 1500ms';
+?set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'?;
+set statement_tag=''?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS?1500ms';
+set?statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='EXACT_STALENESS 1500ms';
+-/set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'-/;
+set statement_tag=''-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-/1500ms';
+set-/statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='EXACT_STALENESS 1500ms';
+/#set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'/#;
+set statement_tag=''/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/#1500ms';
+set/#statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='EXACT_STALENESS 1500ms';
+/-set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'/-;
+set statement_tag=''/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/-1500ms';
+set/-statement_tag='';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us';
+set autocommit = false;
+set transaction_tag='tag1';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 15000000US';
+set autocommit = false;
+SET TRANSACTION_TAG='TAG1';
NEW_CONNECTION;
-set read_only_staleness='exact_staleness 15000000us';
+set autocommit = false;
+set transaction_tag='tag1';
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 15000000us';
+set autocommit = false;
+ set transaction_tag='tag1';
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 15000000us';
+set autocommit = false;
+ set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
-set read_only_staleness='EXACT_STALENESS 15000000us';
+set transaction_tag='tag1';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us' ;
+set autocommit = false;
+set transaction_tag='tag1' ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us' ;
+set autocommit = false;
+set transaction_tag='tag1' ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us'
+set autocommit = false;
+set transaction_tag='tag1'
;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us';
+set autocommit = false;
+set transaction_tag='tag1';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us';
+set autocommit = false;
+set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
set
-read_only_staleness='EXACT_STALENESS 15000000us';
+transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='EXACT_STALENESS 15000000us';
+foo set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us' bar;
+set transaction_tag='tag1' bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='EXACT_STALENESS 15000000us';
+%set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'%;
+set transaction_tag='tag1'%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS%15000000us';
+set%transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='EXACT_STALENESS 15000000us';
+_set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'_;
+set transaction_tag='tag1'_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS_15000000us';
+set_transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='EXACT_STALENESS 15000000us';
+&set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'&;
+set transaction_tag='tag1'&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS&15000000us';
+set&transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='EXACT_STALENESS 15000000us';
+$set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'$;
+set transaction_tag='tag1'$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS$15000000us';
+set$transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='EXACT_STALENESS 15000000us';
+@set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'@;
+set transaction_tag='tag1'@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS@15000000us';
+set@transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='EXACT_STALENESS 15000000us';
+!set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'!;
+set transaction_tag='tag1'!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS!15000000us';
+set!transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='EXACT_STALENESS 15000000us';
+*set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'*;
+set transaction_tag='tag1'*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS*15000000us';
+set*transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='EXACT_STALENESS 15000000us';
+(set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'(;
+set transaction_tag='tag1'(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS(15000000us';
+set(transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='EXACT_STALENESS 15000000us';
+)set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us');
+set transaction_tag='tag1');
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS)15000000us';
+set)transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='EXACT_STALENESS 15000000us';
+-set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'-;
+set transaction_tag='tag1'-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-15000000us';
+set-transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='EXACT_STALENESS 15000000us';
++set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'+;
+set transaction_tag='tag1'+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS+15000000us';
+set+transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='EXACT_STALENESS 15000000us';
+-#set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'-#;
+set transaction_tag='tag1'-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-#15000000us';
+set-#transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='EXACT_STALENESS 15000000us';
+/set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'/;
+set transaction_tag='tag1'/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/15000000us';
+set/transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='EXACT_STALENESS 15000000us';
+\set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'\;
+set transaction_tag='tag1'\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS\15000000us';
+set\transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='EXACT_STALENESS 15000000us';
+?set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'?;
+set transaction_tag='tag1'?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS?15000000us';
+set?transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='EXACT_STALENESS 15000000us';
+-/set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'-/;
+set transaction_tag='tag1'-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-/15000000us';
+set-/transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='EXACT_STALENESS 15000000us';
+/#set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'/#;
+set transaction_tag='tag1'/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/#15000000us';
+set/#transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='EXACT_STALENESS 15000000us';
+/-set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'/-;
+set transaction_tag='tag1'/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/-15000000us';
+set/-transaction_tag='tag1';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns';
+set autocommit = false;
+set transaction_tag='tag2';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 9999NS';
+set autocommit = false;
+SET TRANSACTION_TAG='TAG2';
NEW_CONNECTION;
-set read_only_staleness='exact_staleness 9999ns';
+set autocommit = false;
+set transaction_tag='tag2';
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 9999ns';
+set autocommit = false;
+ set transaction_tag='tag2';
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 9999ns';
+set autocommit = false;
+ set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
-set read_only_staleness='EXACT_STALENESS 9999ns';
+set transaction_tag='tag2';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns' ;
+set autocommit = false;
+set transaction_tag='tag2' ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns' ;
+set autocommit = false;
+set transaction_tag='tag2' ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns'
+set autocommit = false;
+set transaction_tag='tag2'
;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns';
+set autocommit = false;
+set transaction_tag='tag2';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns';
+set autocommit = false;
+set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
set
-read_only_staleness='EXACT_STALENESS 9999ns';
+transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='EXACT_STALENESS 9999ns';
+foo set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns' bar;
+set transaction_tag='tag2' bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='EXACT_STALENESS 9999ns';
+%set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'%;
+set transaction_tag='tag2'%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS%9999ns';
+set%transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='EXACT_STALENESS 9999ns';
+_set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'_;
+set transaction_tag='tag2'_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS_9999ns';
+set_transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='EXACT_STALENESS 9999ns';
+&set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'&;
+set transaction_tag='tag2'&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS&9999ns';
+set&transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='EXACT_STALENESS 9999ns';
+$set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'$;
+set transaction_tag='tag2'$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS$9999ns';
+set$transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='EXACT_STALENESS 9999ns';
+@set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'@;
+set transaction_tag='tag2'@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS@9999ns';
+set@transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='EXACT_STALENESS 9999ns';
+!set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'!;
+set transaction_tag='tag2'!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS!9999ns';
+set!transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='EXACT_STALENESS 9999ns';
+*set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'*;
+set transaction_tag='tag2'*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS*9999ns';
+set*transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='EXACT_STALENESS 9999ns';
+(set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'(;
+set transaction_tag='tag2'(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS(9999ns';
+set(transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='EXACT_STALENESS 9999ns';
+)set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns');
+set transaction_tag='tag2');
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS)9999ns';
+set)transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='EXACT_STALENESS 9999ns';
+-set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'-;
+set transaction_tag='tag2'-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-9999ns';
+set-transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='EXACT_STALENESS 9999ns';
++set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'+;
+set transaction_tag='tag2'+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS+9999ns';
+set+transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='EXACT_STALENESS 9999ns';
+-#set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'-#;
+set transaction_tag='tag2'-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-#9999ns';
+set-#transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='EXACT_STALENESS 9999ns';
+/set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'/;
+set transaction_tag='tag2'/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/9999ns';
+set/transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='EXACT_STALENESS 9999ns';
+\set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'\;
+set transaction_tag='tag2'\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS\9999ns';
+set\transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='EXACT_STALENESS 9999ns';
+?set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'?;
+set transaction_tag='tag2'?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS?9999ns';
+set?transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='EXACT_STALENESS 9999ns';
+-/set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'-/;
+set transaction_tag='tag2'-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-/9999ns';
+set-/transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='EXACT_STALENESS 9999ns';
+/#set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'/#;
+set transaction_tag='tag2'/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/#9999ns';
+set/#transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='EXACT_STALENESS 9999ns';
+/-set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'/-;
+set transaction_tag='tag2'/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/-9999ns';
+set/-transaction_tag='tag2';
NEW_CONNECTION;
-set optimizer_version='1';
+set autocommit = false;
+set transaction_tag='';
NEW_CONNECTION;
-SET OPTIMIZER_VERSION='1';
+set autocommit = false;
+SET TRANSACTION_TAG='';
NEW_CONNECTION;
-set optimizer_version='1';
+set autocommit = false;
+set transaction_tag='';
NEW_CONNECTION;
- set optimizer_version='1';
+set autocommit = false;
+ set transaction_tag='';
NEW_CONNECTION;
- set optimizer_version='1';
+set autocommit = false;
+ set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
-set optimizer_version='1';
+set transaction_tag='';
NEW_CONNECTION;
-set optimizer_version='1' ;
+set autocommit = false;
+set transaction_tag='' ;
NEW_CONNECTION;
-set optimizer_version='1' ;
+set autocommit = false;
+set transaction_tag='' ;
NEW_CONNECTION;
-set optimizer_version='1'
+set autocommit = false;
+set transaction_tag=''
;
NEW_CONNECTION;
-set optimizer_version='1';
+set autocommit = false;
+set transaction_tag='';
NEW_CONNECTION;
-set optimizer_version='1';
+set autocommit = false;
+set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
set
-optimizer_version='1';
+transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set optimizer_version='1';
+foo set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1' bar;
+set transaction_tag='' bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set optimizer_version='1';
+%set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'%;
+set transaction_tag=''%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%optimizer_version='1';
+set%transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set optimizer_version='1';
+_set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'_;
+set transaction_tag=''_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_optimizer_version='1';
+set_transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set optimizer_version='1';
+&set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'&;
+set transaction_tag=''&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&optimizer_version='1';
+set&transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set optimizer_version='1';
+$set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'$;
+set transaction_tag=''$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$optimizer_version='1';
+set$transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set optimizer_version='1';
+@set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'@;
+set transaction_tag=''@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@optimizer_version='1';
+set@transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set optimizer_version='1';
+!set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'!;
+set transaction_tag=''!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!optimizer_version='1';
+set!transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set optimizer_version='1';
+*set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'*;
+set transaction_tag=''*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*optimizer_version='1';
+set*transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set optimizer_version='1';
+(set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'(;
+set transaction_tag=''(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(optimizer_version='1';
+set(transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set optimizer_version='1';
+)set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1');
+set transaction_tag='');
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)optimizer_version='1';
+set)transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set optimizer_version='1';
+-set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'-;
+set transaction_tag=''-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-optimizer_version='1';
+set-transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set optimizer_version='1';
++set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'+;
+set transaction_tag=''+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+optimizer_version='1';
+set+transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set optimizer_version='1';
+-#set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'-#;
+set transaction_tag=''-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#optimizer_version='1';
+set-#transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set optimizer_version='1';
+/set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'/;
+set transaction_tag=''/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/optimizer_version='1';
+set/transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set optimizer_version='1';
+\set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'\;
+set transaction_tag=''\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\optimizer_version='1';
+set\transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set optimizer_version='1';
+?set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'?;
+set transaction_tag=''?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?optimizer_version='1';
+set?transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set optimizer_version='1';
+-/set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'-/;
+set transaction_tag=''-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/optimizer_version='1';
+set-/transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set optimizer_version='1';
+/#set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'/#;
+set transaction_tag=''/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#optimizer_version='1';
+set/#transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set optimizer_version='1';
+/-set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'/-;
+set transaction_tag=''/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-optimizer_version='1';
+set/-transaction_tag='';
NEW_CONNECTION;
-set optimizer_version='200';
+set rpc_priority='HIGH';
NEW_CONNECTION;
-SET OPTIMIZER_VERSION='200';
+SET RPC_PRIORITY='HIGH';
NEW_CONNECTION;
-set optimizer_version='200';
+set rpc_priority='high';
NEW_CONNECTION;
- set optimizer_version='200';
+ set rpc_priority='HIGH';
NEW_CONNECTION;
- set optimizer_version='200';
+ set rpc_priority='HIGH';
NEW_CONNECTION;
-set optimizer_version='200';
+set rpc_priority='HIGH';
NEW_CONNECTION;
-set optimizer_version='200' ;
+set rpc_priority='HIGH' ;
NEW_CONNECTION;
-set optimizer_version='200' ;
+set rpc_priority='HIGH' ;
NEW_CONNECTION;
-set optimizer_version='200'
+set rpc_priority='HIGH'
;
NEW_CONNECTION;
-set optimizer_version='200';
+set rpc_priority='HIGH';
NEW_CONNECTION;
-set optimizer_version='200';
+set rpc_priority='HIGH';
NEW_CONNECTION;
set
-optimizer_version='200';
+rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set optimizer_version='200';
+foo set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200' bar;
+set rpc_priority='HIGH' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set optimizer_version='200';
+%set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'%;
+set rpc_priority='HIGH'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%optimizer_version='200';
+set%rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set optimizer_version='200';
+_set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'_;
+set rpc_priority='HIGH'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_optimizer_version='200';
+set_rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set optimizer_version='200';
+&set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'&;
+set rpc_priority='HIGH'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&optimizer_version='200';
+set&rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set optimizer_version='200';
+$set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'$;
+set rpc_priority='HIGH'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$optimizer_version='200';
+set$rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set optimizer_version='200';
+@set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'@;
+set rpc_priority='HIGH'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@optimizer_version='200';
+set@rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set optimizer_version='200';
+!set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'!;
+set rpc_priority='HIGH'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!optimizer_version='200';
+set!rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set optimizer_version='200';
+*set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'*;
+set rpc_priority='HIGH'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*optimizer_version='200';
+set*rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set optimizer_version='200';
+(set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'(;
+set rpc_priority='HIGH'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(optimizer_version='200';
+set(rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set optimizer_version='200';
+)set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200');
+set rpc_priority='HIGH');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)optimizer_version='200';
+set)rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set optimizer_version='200';
+-set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'-;
+set rpc_priority='HIGH'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-optimizer_version='200';
+set-rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set optimizer_version='200';
++set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'+;
+set rpc_priority='HIGH'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+optimizer_version='200';
+set+rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set optimizer_version='200';
+-#set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'-#;
+set rpc_priority='HIGH'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#optimizer_version='200';
+set-#rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set optimizer_version='200';
+/set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'/;
+set rpc_priority='HIGH'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/optimizer_version='200';
+set/rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set optimizer_version='200';
+\set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'\;
+set rpc_priority='HIGH'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\optimizer_version='200';
+set\rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set optimizer_version='200';
+?set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'?;
+set rpc_priority='HIGH'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?optimizer_version='200';
+set?rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set optimizer_version='200';
+-/set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'-/;
+set rpc_priority='HIGH'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/optimizer_version='200';
+set-/rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set optimizer_version='200';
+/#set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'/#;
+set rpc_priority='HIGH'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#optimizer_version='200';
+set/#rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set optimizer_version='200';
+/-set rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'/-;
+set rpc_priority='HIGH'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-optimizer_version='200';
+set/-rpc_priority='HIGH';
NEW_CONNECTION;
-set optimizer_version='LATEST';
+set rpc_priority='MEDIUM';
NEW_CONNECTION;
-SET OPTIMIZER_VERSION='LATEST';
+SET RPC_PRIORITY='MEDIUM';
NEW_CONNECTION;
-set optimizer_version='latest';
+set rpc_priority='medium';
NEW_CONNECTION;
- set optimizer_version='LATEST';
+ set rpc_priority='MEDIUM';
NEW_CONNECTION;
- set optimizer_version='LATEST';
+ set rpc_priority='MEDIUM';
NEW_CONNECTION;
-set optimizer_version='LATEST';
+set rpc_priority='MEDIUM';
NEW_CONNECTION;
-set optimizer_version='LATEST' ;
+set rpc_priority='MEDIUM' ;
NEW_CONNECTION;
-set optimizer_version='LATEST' ;
+set rpc_priority='MEDIUM' ;
NEW_CONNECTION;
-set optimizer_version='LATEST'
+set rpc_priority='MEDIUM'
;
NEW_CONNECTION;
-set optimizer_version='LATEST';
+set rpc_priority='MEDIUM';
NEW_CONNECTION;
-set optimizer_version='LATEST';
+set rpc_priority='MEDIUM';
NEW_CONNECTION;
set
-optimizer_version='LATEST';
+rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set optimizer_version='LATEST';
+foo set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST' bar;
+set rpc_priority='MEDIUM' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set optimizer_version='LATEST';
+%set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'%;
+set rpc_priority='MEDIUM'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%optimizer_version='LATEST';
+set%rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set optimizer_version='LATEST';
+_set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'_;
+set rpc_priority='MEDIUM'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_optimizer_version='LATEST';
+set_rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set optimizer_version='LATEST';
+&set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'&;
+set rpc_priority='MEDIUM'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&optimizer_version='LATEST';
+set&rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set optimizer_version='LATEST';
+$set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'$;
+set rpc_priority='MEDIUM'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$optimizer_version='LATEST';
+set$rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set optimizer_version='LATEST';
+@set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'@;
+set rpc_priority='MEDIUM'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@optimizer_version='LATEST';
+set@rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set optimizer_version='LATEST';
+!set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'!;
+set rpc_priority='MEDIUM'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!optimizer_version='LATEST';
+set!rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set optimizer_version='LATEST';
+*set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'*;
+set rpc_priority='MEDIUM'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*optimizer_version='LATEST';
+set*rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set optimizer_version='LATEST';
+(set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'(;
+set rpc_priority='MEDIUM'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(optimizer_version='LATEST';
+set(rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set optimizer_version='LATEST';
+)set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST');
+set rpc_priority='MEDIUM');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)optimizer_version='LATEST';
+set)rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set optimizer_version='LATEST';
+-set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'-;
+set rpc_priority='MEDIUM'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-optimizer_version='LATEST';
+set-rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set optimizer_version='LATEST';
++set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'+;
+set rpc_priority='MEDIUM'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+optimizer_version='LATEST';
+set+rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set optimizer_version='LATEST';
+-#set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'-#;
+set rpc_priority='MEDIUM'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#optimizer_version='LATEST';
+set-#rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set optimizer_version='LATEST';
+/set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'/;
+set rpc_priority='MEDIUM'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/optimizer_version='LATEST';
+set/rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set optimizer_version='LATEST';
+\set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'\;
+set rpc_priority='MEDIUM'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\optimizer_version='LATEST';
+set\rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set optimizer_version='LATEST';
+?set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'?;
+set rpc_priority='MEDIUM'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?optimizer_version='LATEST';
+set?rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set optimizer_version='LATEST';
+-/set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'-/;
+set rpc_priority='MEDIUM'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/optimizer_version='LATEST';
+set-/rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set optimizer_version='LATEST';
+/#set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'/#;
+set rpc_priority='MEDIUM'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#optimizer_version='LATEST';
+set/#rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set optimizer_version='LATEST';
+/-set rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'/-;
+set rpc_priority='MEDIUM'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-optimizer_version='LATEST';
+set/-rpc_priority='MEDIUM';
NEW_CONNECTION;
-set optimizer_version='';
+set rpc_priority='LOW';
NEW_CONNECTION;
-SET OPTIMIZER_VERSION='';
+SET RPC_PRIORITY='LOW';
NEW_CONNECTION;
-set optimizer_version='';
+set rpc_priority='low';
NEW_CONNECTION;
- set optimizer_version='';
+ set rpc_priority='LOW';
NEW_CONNECTION;
- set optimizer_version='';
+ set rpc_priority='LOW';
NEW_CONNECTION;
-set optimizer_version='';
+set rpc_priority='LOW';
NEW_CONNECTION;
-set optimizer_version='' ;
+set rpc_priority='LOW' ;
NEW_CONNECTION;
-set optimizer_version='' ;
+set rpc_priority='LOW' ;
NEW_CONNECTION;
-set optimizer_version=''
+set rpc_priority='LOW'
;
NEW_CONNECTION;
-set optimizer_version='';
+set rpc_priority='LOW';
NEW_CONNECTION;
-set optimizer_version='';
+set rpc_priority='LOW';
NEW_CONNECTION;
set
-optimizer_version='';
+rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set optimizer_version='';
+foo set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='' bar;
+set rpc_priority='LOW' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set optimizer_version='';
+%set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''%;
+set rpc_priority='LOW'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%optimizer_version='';
+set%rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set optimizer_version='';
+_set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''_;
+set rpc_priority='LOW'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_optimizer_version='';
+set_rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set optimizer_version='';
+&set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''&;
+set rpc_priority='LOW'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&optimizer_version='';
+set&rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set optimizer_version='';
+$set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''$;
+set rpc_priority='LOW'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$optimizer_version='';
+set$rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set optimizer_version='';
+@set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''@;
+set rpc_priority='LOW'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@optimizer_version='';
+set@rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set optimizer_version='';
+!set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''!;
+set rpc_priority='LOW'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!optimizer_version='';
+set!rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set optimizer_version='';
+*set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''*;
+set rpc_priority='LOW'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*optimizer_version='';
+set*rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set optimizer_version='';
+(set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''(;
+set rpc_priority='LOW'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(optimizer_version='';
+set(rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set optimizer_version='';
+)set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='');
+set rpc_priority='LOW');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)optimizer_version='';
+set)rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set optimizer_version='';
+-set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''-;
+set rpc_priority='LOW'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-optimizer_version='';
+set-rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set optimizer_version='';
++set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''+;
+set rpc_priority='LOW'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+optimizer_version='';
+set+rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set optimizer_version='';
+-#set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''-#;
+set rpc_priority='LOW'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#optimizer_version='';
+set-#rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set optimizer_version='';
+/set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''/;
+set rpc_priority='LOW'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/optimizer_version='';
+set/rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set optimizer_version='';
+\set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''\;
+set rpc_priority='LOW'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\optimizer_version='';
+set\rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set optimizer_version='';
+?set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''?;
+set rpc_priority='LOW'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?optimizer_version='';
+set?rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set optimizer_version='';
+-/set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''-/;
+set rpc_priority='LOW'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/optimizer_version='';
+set-/rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set optimizer_version='';
+/#set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''/#;
+set rpc_priority='LOW'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#optimizer_version='';
+set/#rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set optimizer_version='';
+/-set rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''/-;
+set rpc_priority='LOW'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-optimizer_version='';
+set/-rpc_priority='LOW';
NEW_CONNECTION;
-set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set rpc_priority='NULL';
NEW_CONNECTION;
-SET OPTIMIZER_STATISTICS_PACKAGE='AUTO_20191128_14_47_22UTC';
+SET RPC_PRIORITY='NULL';
NEW_CONNECTION;
-set optimizer_statistics_package='auto_20191128_14_47_22utc';
+set rpc_priority='null';
NEW_CONNECTION;
- set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+ set rpc_priority='NULL';
NEW_CONNECTION;
- set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+ set rpc_priority='NULL';
NEW_CONNECTION;
-set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set rpc_priority='NULL';
NEW_CONNECTION;
-set optimizer_statistics_package='auto_20191128_14_47_22UTC' ;
+set rpc_priority='NULL' ;
NEW_CONNECTION;
-set optimizer_statistics_package='auto_20191128_14_47_22UTC' ;
+set rpc_priority='NULL' ;
NEW_CONNECTION;
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'
+set rpc_priority='NULL'
;
NEW_CONNECTION;
-set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set rpc_priority='NULL';
NEW_CONNECTION;
-set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set rpc_priority='NULL';
NEW_CONNECTION;
set
-optimizer_statistics_package='auto_20191128_14_47_22UTC';
+rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+foo set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC' bar;
+set rpc_priority='NULL' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+%set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'%;
+set rpc_priority='NULL'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set%rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+_set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'_;
+set rpc_priority='NULL'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set_rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+&set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'&;
+set rpc_priority='NULL'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set&rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+$set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'$;
+set rpc_priority='NULL'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set$rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+@set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'@;
+set rpc_priority='NULL'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set@rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+!set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'!;
+set rpc_priority='NULL'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set!rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+*set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'*;
+set rpc_priority='NULL'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set*rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+(set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'(;
+set rpc_priority='NULL'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set(rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+)set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC');
+set rpc_priority='NULL');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set)rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+-set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'-;
+set rpc_priority='NULL'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set-rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set optimizer_statistics_package='auto_20191128_14_47_22UTC';
++set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'+;
+set rpc_priority='NULL'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set+rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+-#set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'-#;
+set rpc_priority='NULL'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set-#rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+/set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'/;
+set rpc_priority='NULL'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set/rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+\set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'\;
+set rpc_priority='NULL'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set\rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+?set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'?;
+set rpc_priority='NULL'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set?rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+-/set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'-/;
+set rpc_priority='NULL'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set-/rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+/#set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'/#;
+set rpc_priority='NULL'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set/#rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set optimizer_statistics_package='auto_20191128_14_47_22UTC';
+/-set rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='auto_20191128_14_47_22UTC'/-;
+set rpc_priority='NULL'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set/-rpc_priority='NULL';
NEW_CONNECTION;
-set optimizer_statistics_package='';
+set savepoint_support='ENABLED';
NEW_CONNECTION;
-SET OPTIMIZER_STATISTICS_PACKAGE='';
+SET SAVEPOINT_SUPPORT='ENABLED';
NEW_CONNECTION;
-set optimizer_statistics_package='';
+set savepoint_support='enabled';
NEW_CONNECTION;
- set optimizer_statistics_package='';
+ set savepoint_support='ENABLED';
NEW_CONNECTION;
- set optimizer_statistics_package='';
+ set savepoint_support='ENABLED';
NEW_CONNECTION;
-set optimizer_statistics_package='';
+set savepoint_support='ENABLED';
NEW_CONNECTION;
-set optimizer_statistics_package='' ;
+set savepoint_support='ENABLED' ;
NEW_CONNECTION;
-set optimizer_statistics_package='' ;
+set savepoint_support='ENABLED' ;
NEW_CONNECTION;
-set optimizer_statistics_package=''
+set savepoint_support='ENABLED'
;
NEW_CONNECTION;
-set optimizer_statistics_package='';
+set savepoint_support='ENABLED';
NEW_CONNECTION;
-set optimizer_statistics_package='';
+set savepoint_support='ENABLED';
NEW_CONNECTION;
set
-optimizer_statistics_package='';
+savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set optimizer_statistics_package='';
+foo set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='' bar;
+set savepoint_support='ENABLED' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set optimizer_statistics_package='';
+%set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''%;
+set savepoint_support='ENABLED'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%optimizer_statistics_package='';
+set%savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set optimizer_statistics_package='';
+_set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''_;
+set savepoint_support='ENABLED'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_optimizer_statistics_package='';
+set_savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set optimizer_statistics_package='';
+&set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''&;
+set savepoint_support='ENABLED'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&optimizer_statistics_package='';
+set&savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set optimizer_statistics_package='';
+$set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''$;
+set savepoint_support='ENABLED'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$optimizer_statistics_package='';
+set$savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set optimizer_statistics_package='';
+@set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''@;
+set savepoint_support='ENABLED'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@optimizer_statistics_package='';
+set@savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set optimizer_statistics_package='';
+!set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''!;
+set savepoint_support='ENABLED'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!optimizer_statistics_package='';
+set!savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set optimizer_statistics_package='';
+*set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''*;
+set savepoint_support='ENABLED'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*optimizer_statistics_package='';
+set*savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set optimizer_statistics_package='';
+(set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''(;
+set savepoint_support='ENABLED'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(optimizer_statistics_package='';
+set(savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set optimizer_statistics_package='';
+)set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package='');
+set savepoint_support='ENABLED');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)optimizer_statistics_package='';
+set)savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set optimizer_statistics_package='';
+-set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''-;
+set savepoint_support='ENABLED'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-optimizer_statistics_package='';
+set-savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set optimizer_statistics_package='';
++set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''+;
+set savepoint_support='ENABLED'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+optimizer_statistics_package='';
+set+savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set optimizer_statistics_package='';
+-#set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''-#;
+set savepoint_support='ENABLED'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#optimizer_statistics_package='';
+set-#savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set optimizer_statistics_package='';
+/set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''/;
+set savepoint_support='ENABLED'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/optimizer_statistics_package='';
+set/savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set optimizer_statistics_package='';
+\set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''\;
+set savepoint_support='ENABLED'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\optimizer_statistics_package='';
+set\savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set optimizer_statistics_package='';
+?set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''?;
+set savepoint_support='ENABLED'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?optimizer_statistics_package='';
+set?savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set optimizer_statistics_package='';
+-/set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''-/;
+set savepoint_support='ENABLED'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/optimizer_statistics_package='';
+set-/savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set optimizer_statistics_package='';
+/#set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''/#;
+set savepoint_support='ENABLED'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#optimizer_statistics_package='';
+set/#savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set optimizer_statistics_package='';
+/-set savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_statistics_package=''/-;
+set savepoint_support='ENABLED'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-optimizer_statistics_package='';
+set/-savepoint_support='ENABLED';
NEW_CONNECTION;
-set return_commit_stats = true;
+set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-SET RETURN_COMMIT_STATS = TRUE;
+SET SAVEPOINT_SUPPORT='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set return_commit_stats = true;
+set savepoint_support='fail_after_rollback';
NEW_CONNECTION;
- set return_commit_stats = true;
+ set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
- set return_commit_stats = true;
+ set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set return_commit_stats = true;
+set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set return_commit_stats = true ;
+set savepoint_support='FAIL_AFTER_ROLLBACK' ;
NEW_CONNECTION;
-set return_commit_stats = true ;
+set savepoint_support='FAIL_AFTER_ROLLBACK' ;
NEW_CONNECTION;
-set return_commit_stats = true
+set savepoint_support='FAIL_AFTER_ROLLBACK'
;
NEW_CONNECTION;
-set return_commit_stats = true;
+set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set return_commit_stats = true;
+set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
set
-return_commit_stats
-=
-true;
+savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set return_commit_stats = true;
+foo set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true bar;
+set savepoint_support='FAIL_AFTER_ROLLBACK' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set return_commit_stats = true;
+%set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true%;
+set savepoint_support='FAIL_AFTER_ROLLBACK'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =%true;
+set%savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set return_commit_stats = true;
+_set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true_;
+set savepoint_support='FAIL_AFTER_ROLLBACK'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =_true;
+set_savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set return_commit_stats = true;
+&set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true&;
+set savepoint_support='FAIL_AFTER_ROLLBACK'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =&true;
+set&savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set return_commit_stats = true;
+$set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true$;
+set savepoint_support='FAIL_AFTER_ROLLBACK'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =$true;
+set$savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set return_commit_stats = true;
+@set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true@;
+set savepoint_support='FAIL_AFTER_ROLLBACK'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =@true;
+set@savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set return_commit_stats = true;
+!set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true!;
+set savepoint_support='FAIL_AFTER_ROLLBACK'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =!true;
+set!savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set return_commit_stats = true;
+*set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true*;
+set savepoint_support='FAIL_AFTER_ROLLBACK'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =*true;
+set*savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set return_commit_stats = true;
+(set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true(;
+set savepoint_support='FAIL_AFTER_ROLLBACK'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =(true;
+set(savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set return_commit_stats = true;
+)set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true);
+set savepoint_support='FAIL_AFTER_ROLLBACK');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =)true;
+set)savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set return_commit_stats = true;
+-set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true-;
+set savepoint_support='FAIL_AFTER_ROLLBACK'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =-true;
+set-savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set return_commit_stats = true;
++set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true+;
+set savepoint_support='FAIL_AFTER_ROLLBACK'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =+true;
+set+savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set return_commit_stats = true;
+-#set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true-#;
+set savepoint_support='FAIL_AFTER_ROLLBACK'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =-#true;
+set-#savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set return_commit_stats = true;
+/set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true/;
+set savepoint_support='FAIL_AFTER_ROLLBACK'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =/true;
+set/savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set return_commit_stats = true;
+\set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true\;
+set savepoint_support='FAIL_AFTER_ROLLBACK'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =\true;
+set\savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set return_commit_stats = true;
+?set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true?;
+set savepoint_support='FAIL_AFTER_ROLLBACK'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =?true;
+set?savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set return_commit_stats = true;
+-/set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true-/;
+set savepoint_support='FAIL_AFTER_ROLLBACK'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =-/true;
+set-/savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set return_commit_stats = true;
+/#set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true/#;
+set savepoint_support='FAIL_AFTER_ROLLBACK'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =/#true;
+set/#savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set return_commit_stats = true;
+/-set savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true/-;
+set savepoint_support='FAIL_AFTER_ROLLBACK'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =/-true;
+set/-savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set return_commit_stats = false;
+set savepoint_support='DISABLED';
NEW_CONNECTION;
-SET RETURN_COMMIT_STATS = FALSE;
+SET SAVEPOINT_SUPPORT='DISABLED';
NEW_CONNECTION;
-set return_commit_stats = false;
+set savepoint_support='disabled';
NEW_CONNECTION;
- set return_commit_stats = false;
+ set savepoint_support='DISABLED';
NEW_CONNECTION;
- set return_commit_stats = false;
+ set savepoint_support='DISABLED';
NEW_CONNECTION;
-set return_commit_stats = false;
+set savepoint_support='DISABLED';
NEW_CONNECTION;
-set return_commit_stats = false ;
+set savepoint_support='DISABLED' ;
NEW_CONNECTION;
-set return_commit_stats = false ;
+set savepoint_support='DISABLED' ;
NEW_CONNECTION;
-set return_commit_stats = false
+set savepoint_support='DISABLED'
;
NEW_CONNECTION;
-set return_commit_stats = false;
+set savepoint_support='DISABLED';
NEW_CONNECTION;
-set return_commit_stats = false;
+set savepoint_support='DISABLED';
NEW_CONNECTION;
set
-return_commit_stats
-=
-false;
+savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set return_commit_stats = false;
+foo set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false bar;
+set savepoint_support='DISABLED' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set return_commit_stats = false;
+%set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false%;
+set savepoint_support='DISABLED'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =%false;
+set%savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set return_commit_stats = false;
+_set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false_;
+set savepoint_support='DISABLED'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =_false;
+set_savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set return_commit_stats = false;
+&set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false&;
+set savepoint_support='DISABLED'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =&false;
+set&savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set return_commit_stats = false;
+$set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false$;
+set savepoint_support='DISABLED'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =$false;
+set$savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set return_commit_stats = false;
+@set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false@;
+set savepoint_support='DISABLED'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =@false;
+set@savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set return_commit_stats = false;
+!set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false!;
+set savepoint_support='DISABLED'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =!false;
+set!savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set return_commit_stats = false;
+*set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false*;
+set savepoint_support='DISABLED'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =*false;
+set*savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set return_commit_stats = false;
+(set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false(;
+set savepoint_support='DISABLED'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =(false;
+set(savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set return_commit_stats = false;
+)set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false);
+set savepoint_support='DISABLED');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =)false;
+set)savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set return_commit_stats = false;
+-set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false-;
+set savepoint_support='DISABLED'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =-false;
+set-savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set return_commit_stats = false;
++set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false+;
+set savepoint_support='DISABLED'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =+false;
+set+savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set return_commit_stats = false;
+-#set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false-#;
+set savepoint_support='DISABLED'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =-#false;
+set-#savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set return_commit_stats = false;
+/set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false/;
+set savepoint_support='DISABLED'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =/false;
+set/savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set return_commit_stats = false;
+\set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false\;
+set savepoint_support='DISABLED'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =\false;
+set\savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set return_commit_stats = false;
+?set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false?;
+set savepoint_support='DISABLED'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =?false;
+set?savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set return_commit_stats = false;
+-/set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false-/;
+set savepoint_support='DISABLED'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =-/false;
+set-/savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set return_commit_stats = false;
+/#set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false/#;
+set savepoint_support='DISABLED'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =/#false;
+set/#savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set return_commit_stats = false;
+/-set savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false/-;
+set savepoint_support='DISABLED'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =/-false;
+set/-savepoint_support='DISABLED';
NEW_CONNECTION;
-set statement_tag='tag1';
+set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-SET STATEMENT_TAG='TAG1';
+SET DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE = TRUE;
NEW_CONNECTION;
-set statement_tag='tag1';
+set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
- set statement_tag='tag1';
+ set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
- set statement_tag='tag1';
+ set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-set statement_tag='tag1';
+set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-set statement_tag='tag1' ;
+set delay_transaction_start_until_first_write = true ;
NEW_CONNECTION;
-set statement_tag='tag1' ;
+set delay_transaction_start_until_first_write = true ;
NEW_CONNECTION;
-set statement_tag='tag1'
+set delay_transaction_start_until_first_write = true
;
NEW_CONNECTION;
-set statement_tag='tag1';
+set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-set statement_tag='tag1';
+set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
set
-statement_tag='tag1';
+delay_transaction_start_until_first_write
+=
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_tag='tag1';
+foo set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1' bar;
+set delay_transaction_start_until_first_write = true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_tag='tag1';
+%set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'%;
+set delay_transaction_start_until_first_write = true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_tag='tag1';
+set delay_transaction_start_until_first_write =%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_tag='tag1';
+_set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'_;
+set delay_transaction_start_until_first_write = true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_tag='tag1';
+set delay_transaction_start_until_first_write =_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_tag='tag1';
+&set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'&;
+set delay_transaction_start_until_first_write = true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_tag='tag1';
+set delay_transaction_start_until_first_write =&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_tag='tag1';
+$set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'$;
+set delay_transaction_start_until_first_write = true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_tag='tag1';
+set delay_transaction_start_until_first_write =$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_tag='tag1';
+@set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'@;
+set delay_transaction_start_until_first_write = true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_tag='tag1';
+set delay_transaction_start_until_first_write =@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_tag='tag1';
+!set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'!;
+set delay_transaction_start_until_first_write = true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_tag='tag1';
+set delay_transaction_start_until_first_write =!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_tag='tag1';
+*set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'*;
+set delay_transaction_start_until_first_write = true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_tag='tag1';
+set delay_transaction_start_until_first_write =*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_tag='tag1';
+(set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'(;
+set delay_transaction_start_until_first_write = true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_tag='tag1';
+set delay_transaction_start_until_first_write =(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_tag='tag1';
+)set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1');
+set delay_transaction_start_until_first_write = true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_tag='tag1';
+set delay_transaction_start_until_first_write =)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_tag='tag1';
+-set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'-;
+set delay_transaction_start_until_first_write = true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_tag='tag1';
+set delay_transaction_start_until_first_write =-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_tag='tag1';
++set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'+;
+set delay_transaction_start_until_first_write = true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_tag='tag1';
+set delay_transaction_start_until_first_write =+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_tag='tag1';
+-#set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'-#;
+set delay_transaction_start_until_first_write = true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_tag='tag1';
+set delay_transaction_start_until_first_write =-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_tag='tag1';
+/set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'/;
+set delay_transaction_start_until_first_write = true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_tag='tag1';
+set delay_transaction_start_until_first_write =/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_tag='tag1';
+\set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'\;
+set delay_transaction_start_until_first_write = true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_tag='tag1';
+set delay_transaction_start_until_first_write =\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_tag='tag1';
+?set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'?;
+set delay_transaction_start_until_first_write = true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_tag='tag1';
+set delay_transaction_start_until_first_write =?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_tag='tag1';
+-/set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'-/;
+set delay_transaction_start_until_first_write = true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_tag='tag1';
+set delay_transaction_start_until_first_write =-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_tag='tag1';
+/#set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'/#;
+set delay_transaction_start_until_first_write = true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_tag='tag1';
+set delay_transaction_start_until_first_write =/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_tag='tag1';
+/-set delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag1'/-;
+set delay_transaction_start_until_first_write = true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_tag='tag1';
+set delay_transaction_start_until_first_write =/-true;
NEW_CONNECTION;
-set statement_tag='tag2';
+set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
-SET STATEMENT_TAG='TAG2';
+SET DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE = FALSE;
NEW_CONNECTION;
-set statement_tag='tag2';
+set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
- set statement_tag='tag2';
+ set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
- set statement_tag='tag2';
+ set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
-set statement_tag='tag2';
+set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
-set statement_tag='tag2' ;
+set delay_transaction_start_until_first_write = false ;
NEW_CONNECTION;
-set statement_tag='tag2' ;
+set delay_transaction_start_until_first_write = false ;
NEW_CONNECTION;
-set statement_tag='tag2'
+set delay_transaction_start_until_first_write = false
;
NEW_CONNECTION;
-set statement_tag='tag2';
+set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
-set statement_tag='tag2';
+set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
set
-statement_tag='tag2';
+delay_transaction_start_until_first_write
+=
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_tag='tag2';
+foo set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2' bar;
+set delay_transaction_start_until_first_write = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_tag='tag2';
+%set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'%;
+set delay_transaction_start_until_first_write = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_tag='tag2';
+set delay_transaction_start_until_first_write =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_tag='tag2';
+_set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'_;
+set delay_transaction_start_until_first_write = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_tag='tag2';
+set delay_transaction_start_until_first_write =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_tag='tag2';
+&set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'&;
+set delay_transaction_start_until_first_write = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_tag='tag2';
+set delay_transaction_start_until_first_write =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_tag='tag2';
+$set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'$;
+set delay_transaction_start_until_first_write = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_tag='tag2';
+set delay_transaction_start_until_first_write =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_tag='tag2';
+@set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'@;
+set delay_transaction_start_until_first_write = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_tag='tag2';
+set delay_transaction_start_until_first_write =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_tag='tag2';
+!set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'!;
+set delay_transaction_start_until_first_write = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_tag='tag2';
+set delay_transaction_start_until_first_write =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_tag='tag2';
+*set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'*;
+set delay_transaction_start_until_first_write = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_tag='tag2';
+set delay_transaction_start_until_first_write =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_tag='tag2';
+(set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'(;
+set delay_transaction_start_until_first_write = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_tag='tag2';
+set delay_transaction_start_until_first_write =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_tag='tag2';
+)set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2');
+set delay_transaction_start_until_first_write = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_tag='tag2';
+set delay_transaction_start_until_first_write =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_tag='tag2';
+-set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'-;
+set delay_transaction_start_until_first_write = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_tag='tag2';
+set delay_transaction_start_until_first_write =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_tag='tag2';
++set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'+;
+set delay_transaction_start_until_first_write = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_tag='tag2';
+set delay_transaction_start_until_first_write =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_tag='tag2';
+-#set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'-#;
+set delay_transaction_start_until_first_write = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_tag='tag2';
+set delay_transaction_start_until_first_write =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_tag='tag2';
+/set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'/;
+set delay_transaction_start_until_first_write = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_tag='tag2';
+set delay_transaction_start_until_first_write =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_tag='tag2';
+\set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'\;
+set delay_transaction_start_until_first_write = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_tag='tag2';
+set delay_transaction_start_until_first_write =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_tag='tag2';
+?set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'?;
+set delay_transaction_start_until_first_write = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_tag='tag2';
+set delay_transaction_start_until_first_write =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_tag='tag2';
+-/set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'-/;
+set delay_transaction_start_until_first_write = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_tag='tag2';
+set delay_transaction_start_until_first_write =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_tag='tag2';
+/#set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'/#;
+set delay_transaction_start_until_first_write = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_tag='tag2';
+set delay_transaction_start_until_first_write =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_tag='tag2';
+/-set delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='tag2'/-;
+set delay_transaction_start_until_first_write = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_tag='tag2';
+set delay_transaction_start_until_first_write =/-false;
NEW_CONNECTION;
-set statement_tag='';
+show variable data_boost_enabled;
NEW_CONNECTION;
-SET STATEMENT_TAG='';
+SHOW VARIABLE DATA_BOOST_ENABLED;
NEW_CONNECTION;
-set statement_tag='';
+show variable data_boost_enabled;
NEW_CONNECTION;
- set statement_tag='';
+ show variable data_boost_enabled;
NEW_CONNECTION;
- set statement_tag='';
+ show variable data_boost_enabled;
NEW_CONNECTION;
-set statement_tag='';
+show variable data_boost_enabled;
NEW_CONNECTION;
-set statement_tag='' ;
+show variable data_boost_enabled ;
NEW_CONNECTION;
-set statement_tag='' ;
+show variable data_boost_enabled ;
NEW_CONNECTION;
-set statement_tag=''
+show variable data_boost_enabled
;
NEW_CONNECTION;
-set statement_tag='';
-NEW_CONNECTION;
-set statement_tag='';
-NEW_CONNECTION;
-set
-statement_tag='';
-NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_tag='';
+show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='' bar;
+show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_tag='';
+show
+variable
+data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''%;
+foo show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_tag='';
+%show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''_;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled%;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_tag='';
+_show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''&;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled_;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_tag='';
+&show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''$;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled&;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_tag='';
+$show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''@;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled$;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_tag='';
+@show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''!;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled@;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_tag='';
+!show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''*;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled!;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_tag='';
+*show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''(;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled*;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_tag='';
+(show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag='');
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled(;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_tag='';
+)show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''-;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled);
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_tag='';
+-show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''+;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled-;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_tag='';
++show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''-#;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled+;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_tag='';
+-#show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''/;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled-#;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_tag='';
+/show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''\;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled/;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_tag='';
+\show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''?;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled\;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_tag='';
+?show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''-/;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled?;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_tag='';
+-/show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''/#;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled-/;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_tag='';
+/#show variable data_boost_enabled;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_tag=''/-;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#data_boost_enabled;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_tag='';
+/-show variable data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag1';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable data_boost_enabled/-;
NEW_CONNECTION;
-set autocommit = false;
-SET TRANSACTION_TAG='TAG1';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag1';
+set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
- set transaction_tag='tag1';
+SET DATA_BOOST_ENABLED = TRUE;
NEW_CONNECTION;
-set autocommit = false;
- set transaction_tag='tag1';
+set data_boost_enabled = true;
+NEW_CONNECTION;
+ set data_boost_enabled = true;
+NEW_CONNECTION;
+ set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag1';
+set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag1' ;
+set data_boost_enabled = true ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag1' ;
+set data_boost_enabled = true ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag1'
+set data_boost_enabled = true
;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag1';
+set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag1';
+set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
set
-transaction_tag='tag1';
+data_boost_enabled
+=
+true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set transaction_tag='tag1';
+foo set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1' bar;
+set data_boost_enabled = true bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set transaction_tag='tag1';
+%set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'%;
+set data_boost_enabled = true%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%transaction_tag='tag1';
+set data_boost_enabled =%true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set transaction_tag='tag1';
+_set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'_;
+set data_boost_enabled = true_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_transaction_tag='tag1';
+set data_boost_enabled =_true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set transaction_tag='tag1';
+&set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'&;
+set data_boost_enabled = true&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&transaction_tag='tag1';
+set data_boost_enabled =&true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set transaction_tag='tag1';
+$set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'$;
+set data_boost_enabled = true$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$transaction_tag='tag1';
+set data_boost_enabled =$true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set transaction_tag='tag1';
+@set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'@;
+set data_boost_enabled = true@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@transaction_tag='tag1';
+set data_boost_enabled =@true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set transaction_tag='tag1';
+!set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'!;
+set data_boost_enabled = true!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!transaction_tag='tag1';
+set data_boost_enabled =!true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set transaction_tag='tag1';
+*set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'*;
+set data_boost_enabled = true*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*transaction_tag='tag1';
+set data_boost_enabled =*true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set transaction_tag='tag1';
+(set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'(;
+set data_boost_enabled = true(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(transaction_tag='tag1';
+set data_boost_enabled =(true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set transaction_tag='tag1';
+)set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1');
+set data_boost_enabled = true);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)transaction_tag='tag1';
+set data_boost_enabled =)true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set transaction_tag='tag1';
+-set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'-;
+set data_boost_enabled = true-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-transaction_tag='tag1';
+set data_boost_enabled =-true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set transaction_tag='tag1';
++set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'+;
+set data_boost_enabled = true+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+transaction_tag='tag1';
+set data_boost_enabled =+true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set transaction_tag='tag1';
+-#set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'-#;
+set data_boost_enabled = true-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#transaction_tag='tag1';
+set data_boost_enabled =-#true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set transaction_tag='tag1';
+/set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'/;
+set data_boost_enabled = true/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/transaction_tag='tag1';
+set data_boost_enabled =/true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set transaction_tag='tag1';
+\set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'\;
+set data_boost_enabled = true\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\transaction_tag='tag1';
+set data_boost_enabled =\true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set transaction_tag='tag1';
+?set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'?;
+set data_boost_enabled = true?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?transaction_tag='tag1';
+set data_boost_enabled =?true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set transaction_tag='tag1';
+-/set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'-/;
+set data_boost_enabled = true-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/transaction_tag='tag1';
+set data_boost_enabled =-/true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set transaction_tag='tag1';
+/#set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'/#;
+set data_boost_enabled = true/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#transaction_tag='tag1';
+set data_boost_enabled =/#true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set transaction_tag='tag1';
+/-set data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag1'/-;
+set data_boost_enabled = true/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-transaction_tag='tag1';
+set data_boost_enabled =/-true;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag2';
+set data_boost_enabled = false;
+NEW_CONNECTION;
+SET DATA_BOOST_ENABLED = FALSE;
+NEW_CONNECTION;
+set data_boost_enabled = false;
+NEW_CONNECTION;
+ set data_boost_enabled = false;
+NEW_CONNECTION;
+ set data_boost_enabled = false;
+NEW_CONNECTION;
+
+
+
+set data_boost_enabled = false;
+NEW_CONNECTION;
+set data_boost_enabled = false ;
+NEW_CONNECTION;
+set data_boost_enabled = false ;
+NEW_CONNECTION;
+set data_boost_enabled = false
+
+;
+NEW_CONNECTION;
+set data_boost_enabled = false;
+NEW_CONNECTION;
+set data_boost_enabled = false;
+NEW_CONNECTION;
+set
+data_boost_enabled
+=
+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set data_boost_enabled = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = false bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set data_boost_enabled = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = false%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =%false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set data_boost_enabled = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = false_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =_false;
NEW_CONNECTION;
-set autocommit = false;
-SET TRANSACTION_TAG='TAG2';
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag2';
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = false&;
NEW_CONNECTION;
-set autocommit = false;
- set transaction_tag='tag2';
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =&false;
NEW_CONNECTION;
-set autocommit = false;
- set transaction_tag='tag2';
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
-
-
-
-set transaction_tag='tag2';
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = false$;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag2' ;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =$false;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag2' ;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag2'
-
-;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = false@;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag2';
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled =@false;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='tag2';
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
-set
-transaction_tag='tag2';
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set data_boost_enabled = false!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set transaction_tag='tag2';
+set data_boost_enabled =!false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2' bar;
+*set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set transaction_tag='tag2';
+set data_boost_enabled = false*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'%;
+set data_boost_enabled =*false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%transaction_tag='tag2';
+(set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set transaction_tag='tag2';
+set data_boost_enabled = false(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'_;
+set data_boost_enabled =(false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_transaction_tag='tag2';
+)set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set transaction_tag='tag2';
+set data_boost_enabled = false);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'&;
+set data_boost_enabled =)false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&transaction_tag='tag2';
+-set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set transaction_tag='tag2';
+set data_boost_enabled = false-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'$;
+set data_boost_enabled =-false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$transaction_tag='tag2';
++set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set transaction_tag='tag2';
+set data_boost_enabled = false+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'@;
+set data_boost_enabled =+false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@transaction_tag='tag2';
+-#set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set transaction_tag='tag2';
+set data_boost_enabled = false-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'!;
+set data_boost_enabled =-#false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!transaction_tag='tag2';
+/set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set transaction_tag='tag2';
+set data_boost_enabled = false/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'*;
+set data_boost_enabled =/false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*transaction_tag='tag2';
+\set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set transaction_tag='tag2';
+set data_boost_enabled = false\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'(;
+set data_boost_enabled =\false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(transaction_tag='tag2';
+?set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set transaction_tag='tag2';
+set data_boost_enabled = false?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2');
+set data_boost_enabled =?false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)transaction_tag='tag2';
+-/set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set transaction_tag='tag2';
+set data_boost_enabled = false-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'-;
+set data_boost_enabled =-/false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-transaction_tag='tag2';
+/#set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set transaction_tag='tag2';
+set data_boost_enabled = false/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'+;
+set data_boost_enabled =/#false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+transaction_tag='tag2';
+/-set data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set transaction_tag='tag2';
+set data_boost_enabled = false/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'-#;
+set data_boost_enabled =/-false;
+NEW_CONNECTION;
+show variable auto_partition_mode;
+NEW_CONNECTION;
+SHOW VARIABLE AUTO_PARTITION_MODE;
+NEW_CONNECTION;
+show variable auto_partition_mode;
+NEW_CONNECTION;
+ show variable auto_partition_mode;
+NEW_CONNECTION;
+ show variable auto_partition_mode;
+NEW_CONNECTION;
+
+
+
+show variable auto_partition_mode;
+NEW_CONNECTION;
+show variable auto_partition_mode ;
+NEW_CONNECTION;
+show variable auto_partition_mode ;
+NEW_CONNECTION;
+show variable auto_partition_mode
+
+;
+NEW_CONNECTION;
+show variable auto_partition_mode;
+NEW_CONNECTION;
+show variable auto_partition_mode;
+NEW_CONNECTION;
+show
+variable
+auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#transaction_tag='tag2';
+foo show variable auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set transaction_tag='tag2';
+%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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'/;
+_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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/transaction_tag='tag2';
+&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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set transaction_tag='tag2';
+$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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'\;
+@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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\transaction_tag='tag2';
+!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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set transaction_tag='tag2';
+*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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'?;
+(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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?transaction_tag='tag2';
+)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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set transaction_tag='tag2';
+-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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'-/;
++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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/transaction_tag='tag2';
+-#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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set transaction_tag='tag2';
+/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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'/#;
+\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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#transaction_tag='tag2';
+?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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set transaction_tag='tag2';
+-/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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='tag2'/-;
+/#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 autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-transaction_tag='tag2';
+/-show variable auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable auto_partition_mode/-;
NEW_CONNECTION;
-set autocommit = false;
-SET TRANSACTION_TAG='';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='';
+set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
- set transaction_tag='';
+SET AUTO_PARTITION_MODE = TRUE;
NEW_CONNECTION;
-set autocommit = false;
- set transaction_tag='';
+set auto_partition_mode = true;
+NEW_CONNECTION;
+ set auto_partition_mode = true;
+NEW_CONNECTION;
+ set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='';
+set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='' ;
+set auto_partition_mode = true ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='' ;
+set auto_partition_mode = true ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag=''
+set auto_partition_mode = true
;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='';
+set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
-set transaction_tag='';
+set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
set
-transaction_tag='';
+auto_partition_mode
+=
+true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set transaction_tag='';
+foo set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='' bar;
+set auto_partition_mode = true bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set transaction_tag='';
+%set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''%;
+set auto_partition_mode = true%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%transaction_tag='';
+set auto_partition_mode =%true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set transaction_tag='';
+_set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''_;
+set auto_partition_mode = true_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_transaction_tag='';
+set auto_partition_mode =_true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set transaction_tag='';
+&set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''&;
+set auto_partition_mode = true&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&transaction_tag='';
+set auto_partition_mode =&true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set transaction_tag='';
+$set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''$;
+set auto_partition_mode = true$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$transaction_tag='';
+set auto_partition_mode =$true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set transaction_tag='';
+@set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''@;
+set auto_partition_mode = true@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@transaction_tag='';
+set auto_partition_mode =@true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set transaction_tag='';
+!set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''!;
+set auto_partition_mode = true!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!transaction_tag='';
+set auto_partition_mode =!true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set transaction_tag='';
+*set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''*;
+set auto_partition_mode = true*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*transaction_tag='';
+set auto_partition_mode =*true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set transaction_tag='';
+(set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''(;
+set auto_partition_mode = true(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(transaction_tag='';
+set auto_partition_mode =(true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set transaction_tag='';
+)set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag='');
+set auto_partition_mode = true);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)transaction_tag='';
+set auto_partition_mode =)true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set transaction_tag='';
+-set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''-;
+set auto_partition_mode = true-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-transaction_tag='';
+set auto_partition_mode =-true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set transaction_tag='';
++set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''+;
+set auto_partition_mode = true+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+transaction_tag='';
+set auto_partition_mode =+true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set transaction_tag='';
+-#set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''-#;
+set auto_partition_mode = true-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#transaction_tag='';
+set auto_partition_mode =-#true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set transaction_tag='';
+/set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''/;
+set auto_partition_mode = true/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/transaction_tag='';
+set auto_partition_mode =/true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set transaction_tag='';
+\set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''\;
+set auto_partition_mode = true\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\transaction_tag='';
+set auto_partition_mode =\true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set transaction_tag='';
+?set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''?;
+set auto_partition_mode = true?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?transaction_tag='';
+set auto_partition_mode =?true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set transaction_tag='';
+-/set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''-/;
+set auto_partition_mode = true-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/transaction_tag='';
+set auto_partition_mode =-/true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set transaction_tag='';
+/#set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''/#;
+set auto_partition_mode = true/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#transaction_tag='';
+set auto_partition_mode =/#true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set transaction_tag='';
+/-set auto_partition_mode = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction_tag=''/-;
+set auto_partition_mode = true/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-transaction_tag='';
+set auto_partition_mode =/-true;
NEW_CONNECTION;
-set rpc_priority='HIGH';
+set auto_partition_mode = false;
NEW_CONNECTION;
-SET RPC_PRIORITY='HIGH';
+SET AUTO_PARTITION_MODE = FALSE;
NEW_CONNECTION;
-set rpc_priority='high';
+set auto_partition_mode = false;
NEW_CONNECTION;
- set rpc_priority='HIGH';
+ set auto_partition_mode = false;
NEW_CONNECTION;
- set rpc_priority='HIGH';
+ set auto_partition_mode = false;
NEW_CONNECTION;
-set rpc_priority='HIGH';
+set auto_partition_mode = false;
NEW_CONNECTION;
-set rpc_priority='HIGH' ;
+set auto_partition_mode = false ;
NEW_CONNECTION;
-set rpc_priority='HIGH' ;
+set auto_partition_mode = false ;
NEW_CONNECTION;
-set rpc_priority='HIGH'
+set auto_partition_mode = false
;
NEW_CONNECTION;
-set rpc_priority='HIGH';
+set auto_partition_mode = false;
NEW_CONNECTION;
-set rpc_priority='HIGH';
+set auto_partition_mode = false;
NEW_CONNECTION;
set
-rpc_priority='HIGH';
+auto_partition_mode
+=
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set rpc_priority='HIGH';
+foo set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH' bar;
+set auto_partition_mode = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set rpc_priority='HIGH';
+%set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'%;
+set auto_partition_mode = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%rpc_priority='HIGH';
+set auto_partition_mode =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set rpc_priority='HIGH';
+_set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'_;
+set auto_partition_mode = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_rpc_priority='HIGH';
+set auto_partition_mode =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set rpc_priority='HIGH';
+&set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'&;
+set auto_partition_mode = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&rpc_priority='HIGH';
+set auto_partition_mode =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set rpc_priority='HIGH';
+$set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'$;
+set auto_partition_mode = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$rpc_priority='HIGH';
+set auto_partition_mode =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set rpc_priority='HIGH';
+@set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'@;
+set auto_partition_mode = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@rpc_priority='HIGH';
+set auto_partition_mode =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set rpc_priority='HIGH';
+!set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'!;
+set auto_partition_mode = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!rpc_priority='HIGH';
+set auto_partition_mode =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set rpc_priority='HIGH';
+*set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'*;
+set auto_partition_mode = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*rpc_priority='HIGH';
+set auto_partition_mode =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set rpc_priority='HIGH';
+(set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'(;
+set auto_partition_mode = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(rpc_priority='HIGH';
+set auto_partition_mode =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set rpc_priority='HIGH';
+)set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH');
+set auto_partition_mode = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)rpc_priority='HIGH';
+set auto_partition_mode =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set rpc_priority='HIGH';
+-set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'-;
+set auto_partition_mode = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-rpc_priority='HIGH';
+set auto_partition_mode =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set rpc_priority='HIGH';
++set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'+;
+set auto_partition_mode = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+rpc_priority='HIGH';
+set auto_partition_mode =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set rpc_priority='HIGH';
+-#set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'-#;
+set auto_partition_mode = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#rpc_priority='HIGH';
+set auto_partition_mode =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set rpc_priority='HIGH';
+/set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'/;
+set auto_partition_mode = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/rpc_priority='HIGH';
+set auto_partition_mode =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set rpc_priority='HIGH';
+\set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'\;
+set auto_partition_mode = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\rpc_priority='HIGH';
+set auto_partition_mode =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set rpc_priority='HIGH';
+?set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'?;
+set auto_partition_mode = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?rpc_priority='HIGH';
+set auto_partition_mode =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set rpc_priority='HIGH';
+-/set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'-/;
+set auto_partition_mode = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/rpc_priority='HIGH';
+set auto_partition_mode =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set rpc_priority='HIGH';
+/#set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'/#;
+set auto_partition_mode = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#rpc_priority='HIGH';
+set auto_partition_mode =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set rpc_priority='HIGH';
+/-set auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='HIGH'/-;
+set auto_partition_mode = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-rpc_priority='HIGH';
+set auto_partition_mode =/-false;
NEW_CONNECTION;
-set rpc_priority='MEDIUM';
+show variable max_partitions;
NEW_CONNECTION;
-SET RPC_PRIORITY='MEDIUM';
+SHOW VARIABLE MAX_PARTITIONS;
NEW_CONNECTION;
-set rpc_priority='medium';
+show variable max_partitions;
NEW_CONNECTION;
- set rpc_priority='MEDIUM';
+ show variable max_partitions;
NEW_CONNECTION;
- set rpc_priority='MEDIUM';
+ show variable max_partitions;
NEW_CONNECTION;
-set rpc_priority='MEDIUM';
+show variable max_partitions;
NEW_CONNECTION;
-set rpc_priority='MEDIUM' ;
+show variable max_partitions ;
NEW_CONNECTION;
-set rpc_priority='MEDIUM' ;
+show variable max_partitions ;
NEW_CONNECTION;
-set rpc_priority='MEDIUM'
+show variable max_partitions
;
NEW_CONNECTION;
-set rpc_priority='MEDIUM';
-NEW_CONNECTION;
-set rpc_priority='MEDIUM';
-NEW_CONNECTION;
-set
-rpc_priority='MEDIUM';
+show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set rpc_priority='MEDIUM';
+show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM' bar;
+show
+variable
+max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set rpc_priority='MEDIUM';
+foo show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'%;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%rpc_priority='MEDIUM';
+%show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-_set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions%;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'_;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_rpc_priority='MEDIUM';
+_show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-&set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions_;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'&;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&rpc_priority='MEDIUM';
+&show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-$set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions&;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'$;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$rpc_priority='MEDIUM';
+$show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-@set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions$;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'@;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@rpc_priority='MEDIUM';
+@show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-!set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions@;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'!;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!rpc_priority='MEDIUM';
+!show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-*set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions!;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'*;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*rpc_priority='MEDIUM';
+*show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-(set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions*;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'(;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(rpc_priority='MEDIUM';
+(show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-)set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions(;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM');
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)rpc_priority='MEDIUM';
+)show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
--set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions);
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'-;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-rpc_priority='MEDIUM';
+-show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-+set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions-;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'+;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+rpc_priority='MEDIUM';
++show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
--#set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions+;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'-#;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#rpc_priority='MEDIUM';
+-#show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-/set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions-#;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'/;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/rpc_priority='MEDIUM';
+/show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-\set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions/;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'\;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\rpc_priority='MEDIUM';
+\show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-?set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions\;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'?;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?rpc_priority='MEDIUM';
+?show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
--/set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions?;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'-/;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/rpc_priority='MEDIUM';
+-/show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions-/;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'/#;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#rpc_priority='MEDIUM';
+/#show variable max_partitions;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set rpc_priority='MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions/#;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='MEDIUM'/-;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-rpc_priority='MEDIUM';
+/-show variable max_partitions;
NEW_CONNECTION;
-set rpc_priority='LOW';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitions/-;
NEW_CONNECTION;
-SET RPC_PRIORITY='LOW';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-max_partitions;
NEW_CONNECTION;
-set rpc_priority='low';
+set max_partitions = 0;
NEW_CONNECTION;
- set rpc_priority='LOW';
+SET MAX_PARTITIONS = 0;
NEW_CONNECTION;
- set rpc_priority='LOW';
+set max_partitions = 0;
+NEW_CONNECTION;
+ set max_partitions = 0;
+NEW_CONNECTION;
+ set max_partitions = 0;
NEW_CONNECTION;
-set rpc_priority='LOW';
+set max_partitions = 0;
NEW_CONNECTION;
-set rpc_priority='LOW' ;
+set max_partitions = 0 ;
NEW_CONNECTION;
-set rpc_priority='LOW' ;
+set max_partitions = 0 ;
NEW_CONNECTION;
-set rpc_priority='LOW'
+set max_partitions = 0
;
NEW_CONNECTION;
-set rpc_priority='LOW';
+set max_partitions = 0;
NEW_CONNECTION;
-set rpc_priority='LOW';
+set max_partitions = 0;
NEW_CONNECTION;
set
-rpc_priority='LOW';
+max_partitions
+=
+0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set rpc_priority='LOW';
+foo set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW' bar;
+set max_partitions = 0 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set rpc_priority='LOW';
+%set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'%;
+set max_partitions = 0%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%rpc_priority='LOW';
+set max_partitions =%0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set rpc_priority='LOW';
+_set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'_;
+set max_partitions = 0_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_rpc_priority='LOW';
+set max_partitions =_0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set rpc_priority='LOW';
+&set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'&;
+set max_partitions = 0&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&rpc_priority='LOW';
+set max_partitions =&0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set rpc_priority='LOW';
+$set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'$;
+set max_partitions = 0$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$rpc_priority='LOW';
+set max_partitions =$0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set rpc_priority='LOW';
+@set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'@;
+set max_partitions = 0@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@rpc_priority='LOW';
+set max_partitions =@0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set rpc_priority='LOW';
+!set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'!;
+set max_partitions = 0!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!rpc_priority='LOW';
+set max_partitions =!0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set rpc_priority='LOW';
+*set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'*;
+set max_partitions = 0*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*rpc_priority='LOW';
+set max_partitions =*0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set rpc_priority='LOW';
+(set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'(;
+set max_partitions = 0(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(rpc_priority='LOW';
+set max_partitions =(0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set rpc_priority='LOW';
+)set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW');
+set max_partitions = 0);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)rpc_priority='LOW';
+set max_partitions =)0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set rpc_priority='LOW';
+-set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'-;
+set max_partitions = 0-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-rpc_priority='LOW';
+set max_partitions =-0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set rpc_priority='LOW';
++set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'+;
+set max_partitions = 0+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+rpc_priority='LOW';
+set max_partitions =+0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set rpc_priority='LOW';
+-#set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'-#;
+set max_partitions = 0-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#rpc_priority='LOW';
+set max_partitions =-#0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set rpc_priority='LOW';
+/set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'/;
+set max_partitions = 0/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/rpc_priority='LOW';
+set max_partitions =/0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set rpc_priority='LOW';
+\set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'\;
+set max_partitions = 0\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\rpc_priority='LOW';
+set max_partitions =\0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set rpc_priority='LOW';
+?set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'?;
+set max_partitions = 0?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?rpc_priority='LOW';
+set max_partitions =?0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set rpc_priority='LOW';
+-/set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'-/;
+set max_partitions = 0-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/rpc_priority='LOW';
+set max_partitions =-/0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set rpc_priority='LOW';
+/#set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'/#;
+set max_partitions = 0/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#rpc_priority='LOW';
+set max_partitions =/#0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set rpc_priority='LOW';
+/-set max_partitions = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='LOW'/-;
+set max_partitions = 0/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-rpc_priority='LOW';
+set max_partitions =/-0;
NEW_CONNECTION;
-set rpc_priority='NULL';
+set max_partitions = 10;
NEW_CONNECTION;
-SET RPC_PRIORITY='NULL';
+SET MAX_PARTITIONS = 10;
NEW_CONNECTION;
-set rpc_priority='null';
+set max_partitions = 10;
NEW_CONNECTION;
- set rpc_priority='NULL';
+ set max_partitions = 10;
NEW_CONNECTION;
- set rpc_priority='NULL';
+ set max_partitions = 10;
NEW_CONNECTION;
-set rpc_priority='NULL';
+set max_partitions = 10;
NEW_CONNECTION;
-set rpc_priority='NULL' ;
+set max_partitions = 10 ;
NEW_CONNECTION;
-set rpc_priority='NULL' ;
+set max_partitions = 10 ;
NEW_CONNECTION;
-set rpc_priority='NULL'
+set max_partitions = 10
;
NEW_CONNECTION;
-set rpc_priority='NULL';
+set max_partitions = 10;
NEW_CONNECTION;
-set rpc_priority='NULL';
+set max_partitions = 10;
NEW_CONNECTION;
set
-rpc_priority='NULL';
+max_partitions
+=
+10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set rpc_priority='NULL';
+foo set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL' bar;
+set max_partitions = 10 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set rpc_priority='NULL';
+%set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'%;
+set max_partitions = 10%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%rpc_priority='NULL';
+set max_partitions =%10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set rpc_priority='NULL';
+_set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'_;
+set max_partitions = 10_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_rpc_priority='NULL';
+set max_partitions =_10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set rpc_priority='NULL';
+&set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'&;
+set max_partitions = 10&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&rpc_priority='NULL';
+set max_partitions =&10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set rpc_priority='NULL';
+$set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'$;
+set max_partitions = 10$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$rpc_priority='NULL';
+set max_partitions =$10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set rpc_priority='NULL';
+@set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'@;
+set max_partitions = 10@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@rpc_priority='NULL';
+set max_partitions =@10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set rpc_priority='NULL';
+!set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'!;
+set max_partitions = 10!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!rpc_priority='NULL';
+set max_partitions =!10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set rpc_priority='NULL';
+*set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'*;
+set max_partitions = 10*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*rpc_priority='NULL';
+set max_partitions =*10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set rpc_priority='NULL';
+(set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'(;
+set max_partitions = 10(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(rpc_priority='NULL';
+set max_partitions =(10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set rpc_priority='NULL';
+)set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL');
+set max_partitions = 10);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)rpc_priority='NULL';
+set max_partitions =)10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set rpc_priority='NULL';
+-set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'-;
+set max_partitions = 10-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-rpc_priority='NULL';
+set max_partitions =-10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set rpc_priority='NULL';
++set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'+;
+set max_partitions = 10+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+rpc_priority='NULL';
+set max_partitions =+10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set rpc_priority='NULL';
+-#set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'-#;
+set max_partitions = 10-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#rpc_priority='NULL';
+set max_partitions =-#10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set rpc_priority='NULL';
+/set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'/;
+set max_partitions = 10/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/rpc_priority='NULL';
+set max_partitions =/10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set rpc_priority='NULL';
+\set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'\;
+set max_partitions = 10\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\rpc_priority='NULL';
+set max_partitions =\10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set rpc_priority='NULL';
+?set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'?;
+set max_partitions = 10?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?rpc_priority='NULL';
+set max_partitions =?10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set rpc_priority='NULL';
+-/set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'-/;
+set max_partitions = 10-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/rpc_priority='NULL';
+set max_partitions =-/10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set rpc_priority='NULL';
+/#set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'/#;
+set max_partitions = 10/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#rpc_priority='NULL';
+set max_partitions =/#10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set rpc_priority='NULL';
+/-set max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set rpc_priority='NULL'/-;
+set max_partitions = 10/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-rpc_priority='NULL';
+set max_partitions =/-10;
NEW_CONNECTION;
-set savepoint_support='ENABLED';
+show variable max_partitioned_parallelism;
NEW_CONNECTION;
-SET SAVEPOINT_SUPPORT='ENABLED';
+SHOW VARIABLE MAX_PARTITIONED_PARALLELISM;
NEW_CONNECTION;
-set savepoint_support='enabled';
+show variable max_partitioned_parallelism;
NEW_CONNECTION;
- set savepoint_support='ENABLED';
+ show variable max_partitioned_parallelism;
NEW_CONNECTION;
- set savepoint_support='ENABLED';
+ show variable max_partitioned_parallelism;
NEW_CONNECTION;
-set savepoint_support='ENABLED';
+show variable max_partitioned_parallelism;
NEW_CONNECTION;
-set savepoint_support='ENABLED' ;
+show variable max_partitioned_parallelism ;
NEW_CONNECTION;
-set savepoint_support='ENABLED' ;
+show variable max_partitioned_parallelism ;
NEW_CONNECTION;
-set savepoint_support='ENABLED'
+show variable max_partitioned_parallelism
;
NEW_CONNECTION;
-set savepoint_support='ENABLED';
-NEW_CONNECTION;
-set savepoint_support='ENABLED';
+show variable max_partitioned_parallelism;
NEW_CONNECTION;
-set
-savepoint_support='ENABLED';
+show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set savepoint_support='ENABLED';
+show
+variable
+max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED' bar;
+foo show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-%set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'%;
+%show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set%savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism%;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-_set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'_;
+_show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set_savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism_;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-&set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'&;
+&show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set&savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism&;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-$set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'$;
+$show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set$savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism$;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-@set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'@;
+@show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set@savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism@;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-!set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'!;
+!show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set!savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism!;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-*set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'*;
+*show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set*savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism*;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-(set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'(;
+(show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set(savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism(;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-)set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED');
+)show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set)savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism);
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
--set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'-;
+-show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set-savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism-;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-+set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'+;
++show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set+savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism+;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
--#set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'-#;
+-#show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism-#;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-/set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'/;
+/show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set/savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism/;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-\set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'\;
+\show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set\savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism\;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-?set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'?;
+?show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set?savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism?;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
--/set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'-/;
+-/show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism-/;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'/#;
+/#show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism/#;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='ENABLED'/-;
+/-show variable max_partitioned_parallelism;
NEW_CONNECTION;
-@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-savepoint_support='ENABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable max_partitioned_parallelism/-;
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-max_partitioned_parallelism;
NEW_CONNECTION;
-SET SAVEPOINT_SUPPORT='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-set savepoint_support='fail_after_rollback';
+SET MAX_PARTITIONED_PARALLELISM = 0;
NEW_CONNECTION;
- set savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism = 0;
NEW_CONNECTION;
- set savepoint_support='FAIL_AFTER_ROLLBACK';
+ set max_partitioned_parallelism = 0;
+NEW_CONNECTION;
+ set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK' ;
+set max_partitioned_parallelism = 0 ;
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK' ;
+set max_partitioned_parallelism = 0 ;
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK'
+set max_partitioned_parallelism = 0
;
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism = 0;
NEW_CONNECTION;
-set savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism = 0;
NEW_CONNECTION;
set
-savepoint_support='FAIL_AFTER_ROLLBACK';
+max_partitioned_parallelism
+=
+0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set savepoint_support='FAIL_AFTER_ROLLBACK';
+foo set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK' bar;
+set max_partitioned_parallelism = 0 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set savepoint_support='FAIL_AFTER_ROLLBACK';
+%set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'%;
+set max_partitioned_parallelism = 0%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =%0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set savepoint_support='FAIL_AFTER_ROLLBACK';
+_set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'_;
+set max_partitioned_parallelism = 0_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =_0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set savepoint_support='FAIL_AFTER_ROLLBACK';
+&set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'&;
+set max_partitioned_parallelism = 0&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =&0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set savepoint_support='FAIL_AFTER_ROLLBACK';
+$set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'$;
+set max_partitioned_parallelism = 0$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =$0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set savepoint_support='FAIL_AFTER_ROLLBACK';
+@set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'@;
+set max_partitioned_parallelism = 0@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =@0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set savepoint_support='FAIL_AFTER_ROLLBACK';
+!set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'!;
+set max_partitioned_parallelism = 0!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =!0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set savepoint_support='FAIL_AFTER_ROLLBACK';
+*set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'*;
+set max_partitioned_parallelism = 0*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =*0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set savepoint_support='FAIL_AFTER_ROLLBACK';
+(set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'(;
+set max_partitioned_parallelism = 0(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =(0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set savepoint_support='FAIL_AFTER_ROLLBACK';
+)set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK');
+set max_partitioned_parallelism = 0);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =)0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set savepoint_support='FAIL_AFTER_ROLLBACK';
+-set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'-;
+set max_partitioned_parallelism = 0-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =-0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set savepoint_support='FAIL_AFTER_ROLLBACK';
++set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'+;
+set max_partitioned_parallelism = 0+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =+0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set savepoint_support='FAIL_AFTER_ROLLBACK';
+-#set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'-#;
+set max_partitioned_parallelism = 0-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =-#0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set savepoint_support='FAIL_AFTER_ROLLBACK';
+/set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'/;
+set max_partitioned_parallelism = 0/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =/0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set savepoint_support='FAIL_AFTER_ROLLBACK';
+\set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'\;
+set max_partitioned_parallelism = 0\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =\0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set savepoint_support='FAIL_AFTER_ROLLBACK';
+?set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'?;
+set max_partitioned_parallelism = 0?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =?0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set savepoint_support='FAIL_AFTER_ROLLBACK';
+-/set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'-/;
+set max_partitioned_parallelism = 0-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =-/0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set savepoint_support='FAIL_AFTER_ROLLBACK';
+/#set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'/#;
+set max_partitioned_parallelism = 0/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =/#0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set savepoint_support='FAIL_AFTER_ROLLBACK';
+/-set max_partitioned_parallelism = 0;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='FAIL_AFTER_ROLLBACK'/-;
+set max_partitioned_parallelism = 0/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-savepoint_support='FAIL_AFTER_ROLLBACK';
+set max_partitioned_parallelism =/-0;
NEW_CONNECTION;
-set savepoint_support='DISABLED';
+set max_partitioned_parallelism = 10;
NEW_CONNECTION;
-SET SAVEPOINT_SUPPORT='DISABLED';
+SET MAX_PARTITIONED_PARALLELISM = 10;
NEW_CONNECTION;
-set savepoint_support='disabled';
+set max_partitioned_parallelism = 10;
NEW_CONNECTION;
- set savepoint_support='DISABLED';
+ set max_partitioned_parallelism = 10;
NEW_CONNECTION;
- set savepoint_support='DISABLED';
+ set max_partitioned_parallelism = 10;
NEW_CONNECTION;
-set savepoint_support='DISABLED';
+set max_partitioned_parallelism = 10;
NEW_CONNECTION;
-set savepoint_support='DISABLED' ;
+set max_partitioned_parallelism = 10 ;
NEW_CONNECTION;
-set savepoint_support='DISABLED' ;
+set max_partitioned_parallelism = 10 ;
NEW_CONNECTION;
-set savepoint_support='DISABLED'
+set max_partitioned_parallelism = 10
;
NEW_CONNECTION;
-set savepoint_support='DISABLED';
+set max_partitioned_parallelism = 10;
NEW_CONNECTION;
-set savepoint_support='DISABLED';
+set max_partitioned_parallelism = 10;
NEW_CONNECTION;
set
-savepoint_support='DISABLED';
+max_partitioned_parallelism
+=
+10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set savepoint_support='DISABLED';
+foo set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED' bar;
+set max_partitioned_parallelism = 10 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set savepoint_support='DISABLED';
+%set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'%;
+set max_partitioned_parallelism = 10%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%savepoint_support='DISABLED';
+set max_partitioned_parallelism =%10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set savepoint_support='DISABLED';
+_set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'_;
+set max_partitioned_parallelism = 10_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_savepoint_support='DISABLED';
+set max_partitioned_parallelism =_10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set savepoint_support='DISABLED';
+&set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'&;
+set max_partitioned_parallelism = 10&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&savepoint_support='DISABLED';
+set max_partitioned_parallelism =&10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set savepoint_support='DISABLED';
+$set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'$;
+set max_partitioned_parallelism = 10$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$savepoint_support='DISABLED';
+set max_partitioned_parallelism =$10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set savepoint_support='DISABLED';
+@set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'@;
+set max_partitioned_parallelism = 10@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@savepoint_support='DISABLED';
+set max_partitioned_parallelism =@10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set savepoint_support='DISABLED';
+!set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'!;
+set max_partitioned_parallelism = 10!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!savepoint_support='DISABLED';
+set max_partitioned_parallelism =!10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set savepoint_support='DISABLED';
+*set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'*;
+set max_partitioned_parallelism = 10*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*savepoint_support='DISABLED';
+set max_partitioned_parallelism =*10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set savepoint_support='DISABLED';
+(set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'(;
+set max_partitioned_parallelism = 10(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(savepoint_support='DISABLED';
+set max_partitioned_parallelism =(10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set savepoint_support='DISABLED';
+)set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED');
+set max_partitioned_parallelism = 10);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)savepoint_support='DISABLED';
+set max_partitioned_parallelism =)10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set savepoint_support='DISABLED';
+-set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'-;
+set max_partitioned_parallelism = 10-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-savepoint_support='DISABLED';
+set max_partitioned_parallelism =-10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set savepoint_support='DISABLED';
++set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'+;
+set max_partitioned_parallelism = 10+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+savepoint_support='DISABLED';
+set max_partitioned_parallelism =+10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set savepoint_support='DISABLED';
+-#set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'-#;
+set max_partitioned_parallelism = 10-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#savepoint_support='DISABLED';
+set max_partitioned_parallelism =-#10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set savepoint_support='DISABLED';
+/set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'/;
+set max_partitioned_parallelism = 10/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/savepoint_support='DISABLED';
+set max_partitioned_parallelism =/10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set savepoint_support='DISABLED';
+\set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'\;
+set max_partitioned_parallelism = 10\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\savepoint_support='DISABLED';
+set max_partitioned_parallelism =\10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set savepoint_support='DISABLED';
+?set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'?;
+set max_partitioned_parallelism = 10?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?savepoint_support='DISABLED';
+set max_partitioned_parallelism =?10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set savepoint_support='DISABLED';
+-/set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'-/;
+set max_partitioned_parallelism = 10-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/savepoint_support='DISABLED';
+set max_partitioned_parallelism =-/10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set savepoint_support='DISABLED';
+/#set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'/#;
+set max_partitioned_parallelism = 10/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#savepoint_support='DISABLED';
+set max_partitioned_parallelism =/#10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set savepoint_support='DISABLED';
+/-set max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set savepoint_support='DISABLED'/-;
+set max_partitioned_parallelism = 10/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-savepoint_support='DISABLED';
+set max_partitioned_parallelism =/-10;
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 db44cd1b8c0..5c871995ef0 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
@@ -1,23 +1,23 @@
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -26,125 +26,123 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -153,60 +151,58 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:18.835000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:18.835000000Z'
+SET AUTOCOMMIT=FALSE;
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:34.255000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:34.255000000Z'
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 2023-06-02T14:28:18.835000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:18.835000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:34.255000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -221,34 +217,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -257,8 +253,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -301,46 +297,45 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+COMMIT;
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -351,36 +346,28 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -389,173 +376,123 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -564,78 +501,58 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:19.179000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:19.179000000Z'
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:34.799000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:34.799000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:19.179000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:19.179000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:34.800000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -650,48 +567,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -700,10 +603,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -746,62 +647,45 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -812,207 +696,324 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
+SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:19.454000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:19.454000000Z'
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:35.265000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:35.265000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:19.454000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:35.265000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -1027,34 +1028,55 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-NEW_CONNECTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -1063,8 +1085,11 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -1107,71 +1132,116 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -1180,125 +1250,195 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -1307,60 +1447,85 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:19.646000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:19.646000000Z'
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:35.813000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:35.813000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:19.646000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:19.646000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:35.813000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -1375,34 +1540,55 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -1411,8 +1597,11 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -1455,46 +1644,69 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -1505,217 +1717,208 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:19.930000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:19.930000000Z'
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:36.310000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:36.310000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:19.930000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:19.930000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:36.310000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -1730,34 +1933,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -1766,8 +1969,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -1810,230 +2013,282 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:20.158000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:20.158000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:36.722000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:20.158000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:20.158000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:36.722000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
-SHOW VARIABLE COMMIT_RESPONSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -2048,27 +2303,41 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -2077,7 +2346,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2120,254 +2391,254 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:20.345000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:20.345000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:37.179000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:20.345000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:37.179000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -2383,33 +2654,33 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -2419,7 +2690,7 @@ SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2463,76 +2734,66 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -2542,122 +2803,98 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -2667,57 +2904,48 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:20.534000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:20.534000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:37.584000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:37.584000000Z'
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 2023-06-02T14:28:20.534000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:37.584000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
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='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -2733,33 +2961,26 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -2769,7 +2990,6 @@ SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2813,44 +3033,36 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -2862,39 +3074,26 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -2902,196 +3101,134 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+COMMIT;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
-ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+COMMIT;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
-ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -3099,86 +3236,59 @@ SET READONLY=TRUE;
@EXPECT RESULT_SET 'READONLY',TRUE
SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:20.720000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:20.720000000Z'
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:38.051000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:38.051000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:20.720000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:38.051000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -3192,56 +3302,35 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -3249,12 +3338,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -3296,117 +3382,84 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -3414,196 +3467,182 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -3611,86 +3650,77 @@ SET READONLY=TRUE;
@EXPECT RESULT_SET 'READONLY',TRUE
SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:20.919000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:20.919000000Z'
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:38.444000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:38.444000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+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 2023-06-02T14:28:20.919000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:38.444000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+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='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -3704,56 +3734,49 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-NEW_CONNECTION;
-SET READONLY=TRUE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+NEW_CONNECTION;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -3761,12 +3784,11 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -3808,282 +3830,305 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-NEW_CONNECTION;
-SET READONLY=TRUE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+NEW_CONNECTION;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.116000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:21.116000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+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 2023-08-04T10:58:38.805000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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 2023-06-02T14:28:21.116000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:38.805000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -4097,35 +4142,42 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -4133,9 +4185,10 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -4177,283 +4230,255 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'TEST',1
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+START BATCH DDL;
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.236000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:39.124000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:21.236000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:39.124000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -4467,42 +4492,35 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -4510,10 +4528,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -4555,255 +4572,378 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
+SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.376000000Z';
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:39.464000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:39.464000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:21.376000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:39.464000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -4817,35 +4957,56 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -4853,9 +5014,12 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -4897,220 +5061,279 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ ONLY;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.507000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:21.507000000Z'
+SET TRANSACTION READ ONLY;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:39.865000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:39.865000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:21.507000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:39.865000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -5124,28 +5347,35 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -5153,8 +5383,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5196,243 +5427,267 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
+SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.594000000Z';
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:40.210000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:40.210000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:21.594000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:40.210000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -5447,34 +5702,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -5483,8 +5738,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5527,284 +5782,381 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
+SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.672000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:21.672000000Z'
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:40.561000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:40.561000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:21.672000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:40.561000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -5819,41 +6171,55 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -5862,9 +6228,11 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5907,87 +6275,113 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
@@ -5997,150 +6391,166 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -6152,9 +6562,10 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -6166,17 +6577,18 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
@@ -6186,77 +6598,84 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.849000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:21.849000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:41.091000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:41.091000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:21.849000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:21.849000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:41.091000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -6272,47 +6691,54 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -6322,9 +6748,10 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -6368,61 +6795,67 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@@ -6433,137 +6866,138 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -6575,68 +7009,68 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READONLY=FALSE;
+SET READONLY=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:22.039000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.039000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:41.494000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:41.494000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.039000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:41.494000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -6652,33 +7086,33 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -6688,7 +7122,7 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -6732,193 +7166,206 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT UPDATE_COUNT 1
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT UPDATE_COUNT 1
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -6929,76 +7376,76 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
-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='READ_TIMESTAMP 2023-06-02T14:28:22.160000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.160000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:41.837000000Z';
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 2023-06-02T14:28:22.160000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:22.160000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:41.837000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-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 AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-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 AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-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 AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -7013,34 +7460,41 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -7049,8 +7503,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -7093,200 +7548,190 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
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 AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7297,76 +7742,65 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:22.296000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.296000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:42.231000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.296000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:22.296000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:42.231000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -7381,34 +7815,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -7417,8 +7851,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -7461,81 +7895,67 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -7544,130 +7964,83 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7678,9 +8051,7 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7691,16 +8062,11 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -7709,69 +8075,49 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
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='READ_TIMESTAMP 2023-06-02T14:28:22.426000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.426000000Z'
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:42.610000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:42.610000000Z'
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 2023-06-02T14:28:22.426000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:22.426000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:42.610000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -7786,41 +8132,27 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -7829,9 +8161,7 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -7874,54 +8204,36 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -7931,232 +8243,201 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT UPDATE_COUNT 1
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'TEST',1
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+START BATCH DDL;
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
-SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:22.537000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.537000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:42.932000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.537000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:22.537000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:42.932000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -8172,33 +8453,33 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -8208,7 +8489,7 @@ SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -8252,242 +8533,283 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT UPDATE_COUNT 1
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
-SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:22.648000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.648000000Z'
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:43.248000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:43.248000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.648000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:22.648000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:43.248000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -8503,26 +8825,40 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -8532,6 +8868,8 @@ SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -8575,66 +8913,86 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
@@ -8644,103 +9002,150 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -8752,7 +9157,9 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -8764,12 +9171,17 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
@@ -8779,57 +9191,77 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:22.731000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.731000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:43.673000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:43.673000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.731000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:43.673000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:43.673000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -8845,33 +9277,47 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -8881,7 +9327,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -8925,43 +9373,61 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@@ -8972,198 +9438,138 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -9174,95 +9580,69 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
-SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-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 2023-06-02T14:28:22.827000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.827000000Z'
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:44.056000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:44.056000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.827000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:44.056000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -9277,48 +9657,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -9327,10 +9693,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -9373,303 +9737,272 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:22.946000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:44.385000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:44.385000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.946000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:44.385000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:44.385000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -9685,40 +10018,33 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -9728,8 +10054,7 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -9773,254 +10098,280 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.044000000Z';
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:44.830000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:44.830000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.044000000Z';
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:44.830000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:44.830000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -10035,34 +10386,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -10071,8 +10422,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -10115,83 +10466,81 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -10200,167 +10549,130 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -10371,11 +10683,9 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -10386,19 +10696,16 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -10407,85 +10714,69 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.140000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:23.140000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:45.353000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:45.353000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.140000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:45.353000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:45.353000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -10500,55 +10791,41 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -10557,11 +10834,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -10604,68 +10879,54 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -10675,207 +10936,232 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.244000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:23.244000000Z'
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:45.824000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:45.824000000Z'
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 2023-06-02T14:28:23.244000000Z';
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:45.824000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:45.824000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -10890,34 +11176,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -10926,8 +11212,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -10970,71 +11256,73 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -11043,104 +11331,88 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -11151,8 +11423,7 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -11163,13 +11434,12 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -11178,58 +11448,51 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.326000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:23.326000000Z'
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:46.258000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:46.258000000Z'
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 2023-06-02T14:28:23.326000000Z';
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:46.258000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:46.258000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
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 AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -11244,34 +11507,27 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -11280,8 +11536,7 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -11324,44 +11579,38 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -11371,40 +11620,27 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -11412,206 +11648,126 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT UPDATE_COUNT 1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -11619,86 +11775,61 @@ SET READONLY=TRUE;
@EXPECT RESULT_SET 'READONLY',TRUE
SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.433000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:23.433000000Z'
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:46.666000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:46.666000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.433000000Z';
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:46.666000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:46.666000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE READ_ONLY_STALENESS;
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -11712,56 +11843,35 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -11769,12 +11879,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -11816,113 +11923,85 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
BEGIN TRANSACTION;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET AUTOCOMMIT=FALSE;
@@ -11932,204 +12011,172 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET READONLY=FALSE;
@@ -12139,84 +12186,77 @@ SET READONLY=TRUE;
@EXPECT RESULT_SET 'READONLY',TRUE
SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.604000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:23.604000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:47.089000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:47.089000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.604000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:47.089000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:47.089000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET OPTIMIZER_VERSION='1';
@@ -12232,54 +12272,47 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@@ -12289,10 +12322,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET STATEMENT_TIMEOUT='1s';
@@ -12336,283 +12368,273 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET AUTOCOMMIT=TRUE;
-NEW_CONNECTION;
-SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READONLY=TRUE;
-NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.755000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:23.755000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:47.541000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:47.541000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.755000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:47.541000000Z';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -12627,34 +12649,34 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -12663,8 +12685,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -12707,286 +12729,260 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.849000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:47.959000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:47.959000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.849000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:47.959000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:47.959000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -13001,41 +12997,34 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -13044,9 +13033,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -13089,259 +13077,267 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.965000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:48.395000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:48.395000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.965000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:48.395000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:48.395000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -13356,34 +13352,34 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -13392,8 +13388,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -13436,68 +13432,75 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -13505,110 +13508,102 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT UPDATE_COUNT 1
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -13616,50 +13611,52 @@ SET READONLY=TRUE;
@EXPECT RESULT_SET 'READONLY',TRUE
SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:24.080000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:24.080000000Z'
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:48.817000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:48.817000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:24.080000000Z';
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:48.817000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:48.817000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -13673,28 +13670,28 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -13702,8 +13699,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -13745,44 +13742,47 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
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 d2201dff1e9..9c66ea40b18 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.savepoint_support;
NEW_CONNECTION;
+show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+SHOW SPANNER.DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE;
+NEW_CONNECTION;
+show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+ show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+ show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+
+
+
+show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+show spanner.delay_transaction_start_until_first_write ;
+NEW_CONNECTION;
+show spanner.delay_transaction_start_until_first_write ;
+NEW_CONNECTION;
+show spanner.delay_transaction_start_until_first_write
+
+;
+NEW_CONNECTION;
+show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+show
+spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show%spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show_spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show&spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show$spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show@spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show!spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show*spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show(spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show)spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show-spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show+spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show-#spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show/spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show\spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show?spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show-/spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show/#spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-show spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.delay_transaction_start_until_first_write/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+show/-spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+SHOW VARIABLE SPANNER.DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE;
+NEW_CONNECTION;
+show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+ show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+ show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+
+
+
+show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+show variable spanner.delay_transaction_start_until_first_write ;
+NEW_CONNECTION;
+show variable spanner.delay_transaction_start_until_first_write ;
+NEW_CONNECTION;
+show variable spanner.delay_transaction_start_until_first_write
+
+;
+NEW_CONNECTION;
+show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+show
+variable
+spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write);
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-show variable spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.delay_transaction_start_until_first_write/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-spanner.delay_transaction_start_until_first_write;
+NEW_CONNECTION;
show transaction isolation level;
NEW_CONNECTION;
SHOW TRANSACTION ISOLATION LEVEL;
@@ -41041,27886 +41438,35077 @@ begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
rollback work and no/-chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
+abort;
NEW_CONNECTION;
-START BATCH DDL;
+begin transaction;
+ABORT;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
+abort;
NEW_CONNECTION;
- start batch ddl;
+begin transaction;
+ abort;
NEW_CONNECTION;
- start batch ddl;
+begin transaction;
+ abort;
NEW_CONNECTION;
+begin transaction;
-start batch ddl;
+abort;
NEW_CONNECTION;
-start batch ddl ;
+begin transaction;
+abort ;
NEW_CONNECTION;
-start batch ddl ;
+begin transaction;
+abort ;
NEW_CONNECTION;
-start batch ddl
+begin transaction;
+abort
;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
+abort;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
+abort;
NEW_CONNECTION;
-start
-batch
-ddl;
+begin transaction;
+abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo start batch ddl;
+foo abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl bar;
+abort bar;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%start batch ddl;
+%abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl%;
+abort%;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch%ddl;
+abort%;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_start batch ddl;
+_abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl_;
+abort_;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch_ddl;
+abort_;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&start batch ddl;
+&abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl&;
+abort&;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch&ddl;
+abort&;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$start batch ddl;
+$abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl$;
+abort$;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch$ddl;
+abort$;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@start batch ddl;
+@abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl@;
+abort@;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch@ddl;
+abort@;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!start batch ddl;
+!abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl!;
+abort!;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch!ddl;
+abort!;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*start batch ddl;
+*abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl*;
+abort*;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch*ddl;
+abort*;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(start batch ddl;
+(abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl(;
+abort(;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch(ddl;
+abort(;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)start batch ddl;
+)abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl);
+abort);
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch)ddl;
+abort);
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--start batch ddl;
+-abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl-;
+abort-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-ddl;
+abort-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+start batch ddl;
++abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl+;
+abort+;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch+ddl;
+abort+;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#start batch ddl;
+-#abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl-#;
+abort-#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-#ddl;
+abort-#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/start batch ddl;
+/abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl/;
+abort/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/ddl;
+abort/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\start batch ddl;
+\abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl\;
+abort\;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch\ddl;
+abort\;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?start batch ddl;
+?abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl?;
+abort?;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch?ddl;
+abort?;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/start batch ddl;
+-/abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl-/;
+abort-/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-/ddl;
+abort-/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#start batch ddl;
+/#abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl/#;
+abort/#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/#ddl;
+abort/#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-start batch ddl;
+/-abort;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl/-;
+abort/-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/-ddl;
+abort/-;
NEW_CONNECTION;
-start batch dml;
+begin transaction;
+abort transaction;
NEW_CONNECTION;
-START BATCH DML;
+begin transaction;
+ABORT TRANSACTION;
NEW_CONNECTION;
-start batch dml;
+begin transaction;
+abort transaction;
NEW_CONNECTION;
- start batch dml;
+begin transaction;
+ abort transaction;
NEW_CONNECTION;
- start batch dml;
+begin transaction;
+ abort transaction;
NEW_CONNECTION;
+begin transaction;
-start batch dml;
+abort transaction;
NEW_CONNECTION;
-start batch dml ;
+begin transaction;
+abort transaction ;
NEW_CONNECTION;
-start batch dml ;
+begin transaction;
+abort transaction ;
NEW_CONNECTION;
-start batch dml
+begin transaction;
+abort transaction
;
NEW_CONNECTION;
-start batch dml;
+begin transaction;
+abort transaction;
NEW_CONNECTION;
-start batch dml;
+begin transaction;
+abort transaction;
NEW_CONNECTION;
-start
-batch
-dml;
+begin transaction;
+abort
+transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo start batch dml;
+foo abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml bar;
+abort transaction bar;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%start batch dml;
+%abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml%;
+abort transaction%;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch%dml;
+abort%transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_start batch dml;
+_abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml_;
+abort transaction_;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch_dml;
+abort_transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&start batch dml;
+&abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml&;
+abort transaction&;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch&dml;
+abort&transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$start batch dml;
+$abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml$;
+abort transaction$;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch$dml;
+abort$transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@start batch dml;
+@abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml@;
+abort transaction@;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch@dml;
+abort@transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!start batch dml;
+!abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml!;
+abort transaction!;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch!dml;
+abort!transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*start batch dml;
+*abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml*;
+abort transaction*;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch*dml;
+abort*transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(start batch dml;
+(abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml(;
+abort transaction(;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch(dml;
+abort(transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)start batch dml;
+)abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml);
+abort transaction);
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch)dml;
+abort)transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--start batch dml;
+-abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml-;
+abort transaction-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-dml;
+abort-transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+start batch dml;
++abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml+;
+abort transaction+;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch+dml;
+abort+transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#start batch dml;
+-#abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml-#;
+abort transaction-#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-#dml;
+abort-#transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/start batch dml;
+/abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml/;
+abort transaction/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/dml;
+abort/transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\start batch dml;
+\abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml\;
+abort transaction\;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch\dml;
+abort\transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?start batch dml;
+?abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml?;
+abort transaction?;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch?dml;
+abort?transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/start batch dml;
+-/abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml-/;
+abort transaction-/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-/dml;
+abort-/transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#start batch dml;
+/#abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml/#;
+abort transaction/#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/#dml;
+abort/#transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-start batch dml;
+/-abort transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml/-;
+abort transaction/-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/-dml;
+abort/-transaction;
NEW_CONNECTION;
-start batch ddl;
-run batch;
+begin transaction;
+abort work;
NEW_CONNECTION;
-start batch ddl;
-RUN BATCH;
+begin transaction;
+ABORT WORK;
NEW_CONNECTION;
-start batch ddl;
-run batch;
+begin transaction;
+abort work;
NEW_CONNECTION;
-start batch ddl;
- run batch;
+begin transaction;
+ abort work;
NEW_CONNECTION;
-start batch ddl;
- run batch;
+begin transaction;
+ abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
-run batch;
+abort work;
NEW_CONNECTION;
-start batch ddl;
-run batch ;
+begin transaction;
+abort work ;
NEW_CONNECTION;
-start batch ddl;
-run batch ;
+begin transaction;
+abort work ;
NEW_CONNECTION;
-start batch ddl;
-run batch
+begin transaction;
+abort work
;
NEW_CONNECTION;
-start batch ddl;
-run batch;
+begin transaction;
+abort work;
NEW_CONNECTION;
-start batch ddl;
-run batch;
+begin transaction;
+abort work;
NEW_CONNECTION;
-start batch ddl;
-run
-batch;
+begin transaction;
+abort
+work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo run batch;
+foo abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch bar;
+abort work bar;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%run batch;
+%abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch%;
+abort work%;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run%batch;
+abort%work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_run batch;
+_abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch_;
+abort work_;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run_batch;
+abort_work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&run batch;
+&abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch&;
+abort work&;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run&batch;
+abort&work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$run batch;
+$abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch$;
+abort work$;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run$batch;
+abort$work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@run batch;
+@abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch@;
+abort work@;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run@batch;
+abort@work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!run batch;
+!abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch!;
+abort work!;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run!batch;
+abort!work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*run batch;
+*abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch*;
+abort work*;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run*batch;
+abort*work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(run batch;
+(abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch(;
+abort work(;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run(batch;
+abort(work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)run batch;
+)abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch);
+abort work);
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run)batch;
+abort)work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--run batch;
+-abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch-;
+abort work-;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run-batch;
+abort-work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+run batch;
++abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch+;
+abort work+;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run+batch;
+abort+work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#run batch;
+-#abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch-#;
+abort work-#;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run-#batch;
+abort-#work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/run batch;
+/abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch/;
+abort work/;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run/batch;
+abort/work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\run batch;
+\abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch\;
+abort work\;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run\batch;
+abort\work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?run batch;
+?abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch?;
+abort work?;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run?batch;
+abort?work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/run batch;
+-/abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch-/;
+abort work-/;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run-/batch;
+abort-/work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#run batch;
+/#abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch/#;
+abort work/#;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run/#batch;
+abort/#work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-run batch;
+/-abort work;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch/-;
+abort work/-;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run/-batch;
+abort/-work;
NEW_CONNECTION;
-start batch ddl;
-abort batch;
+begin transaction;
+abort and no chain;
NEW_CONNECTION;
-start batch ddl;
-ABORT BATCH;
+begin transaction;
+ABORT AND NO CHAIN;
NEW_CONNECTION;
-start batch ddl;
-abort batch;
+begin transaction;
+abort and no chain;
NEW_CONNECTION;
-start batch ddl;
- abort batch;
+begin transaction;
+ abort and no chain;
NEW_CONNECTION;
-start batch ddl;
- abort batch;
+begin transaction;
+ abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
-abort batch;
+abort and no chain;
NEW_CONNECTION;
-start batch ddl;
-abort batch ;
+begin transaction;
+abort and no chain ;
NEW_CONNECTION;
-start batch ddl;
-abort batch ;
+begin transaction;
+abort and no chain ;
NEW_CONNECTION;
-start batch ddl;
-abort batch
+begin transaction;
+abort and no chain
;
NEW_CONNECTION;
-start batch ddl;
-abort batch;
+begin transaction;
+abort and no chain;
NEW_CONNECTION;
-start batch ddl;
-abort batch;
+begin transaction;
+abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
abort
-batch;
+and
+no
+chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo abort batch;
+foo abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch bar;
+abort and no chain bar;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%abort batch;
+%abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch%;
+abort and no chain%;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort%batch;
+abort and no%chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_abort batch;
+_abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch_;
+abort and no chain_;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort_batch;
+abort and no_chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&abort batch;
+&abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch&;
+abort and no chain&;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort&batch;
+abort and no&chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$abort batch;
+$abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch$;
+abort and no chain$;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort$batch;
+abort and no$chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@abort batch;
+@abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch@;
+abort and no chain@;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort@batch;
+abort and no@chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!abort batch;
+!abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch!;
+abort and no chain!;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort!batch;
+abort and no!chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*abort batch;
+*abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch*;
+abort and no chain*;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort*batch;
+abort and no*chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(abort batch;
+(abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch(;
+abort and no chain(;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort(batch;
+abort and no(chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)abort batch;
+)abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch);
+abort and no chain);
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort)batch;
+abort and no)chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--abort batch;
+-abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch-;
+abort and no chain-;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort-batch;
+abort and no-chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+abort batch;
++abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch+;
+abort and no chain+;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort+batch;
+abort and no+chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#abort batch;
+-#abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch-#;
+abort and no chain-#;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort-#batch;
+abort and no-#chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/abort batch;
+/abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch/;
+abort and no chain/;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort/batch;
+abort and no/chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\abort batch;
+\abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch\;
+abort and no chain\;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort\batch;
+abort and no\chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?abort batch;
+?abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch?;
+abort and no chain?;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort?batch;
+abort and no?chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/abort batch;
+-/abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch-/;
+abort and no chain-/;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort-/batch;
+abort and no-/chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#abort batch;
+/#abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch/#;
+abort and no chain/#;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort/#batch;
+abort and no/#chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-abort batch;
+/-abort and no chain;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch/-;
+abort and no chain/-;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort/-batch;
+abort and no/-chain;
NEW_CONNECTION;
-set autocommit = true;
+begin transaction;
+abort transaction and no chain;
NEW_CONNECTION;
-SET AUTOCOMMIT = TRUE;
+begin transaction;
+ABORT TRANSACTION AND NO CHAIN;
NEW_CONNECTION;
-set autocommit = true;
+begin transaction;
+abort transaction and no chain;
NEW_CONNECTION;
- set autocommit = true;
+begin transaction;
+ abort transaction and no chain;
NEW_CONNECTION;
- set autocommit = true;
+begin transaction;
+ abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
-set autocommit = true;
+abort transaction and no chain;
NEW_CONNECTION;
-set autocommit = true ;
+begin transaction;
+abort transaction and no chain ;
NEW_CONNECTION;
-set autocommit = true ;
+begin transaction;
+abort transaction and no chain ;
NEW_CONNECTION;
-set autocommit = true
+begin transaction;
+abort transaction and no chain
;
NEW_CONNECTION;
-set autocommit = true;
+begin transaction;
+abort transaction and no chain;
NEW_CONNECTION;
-set autocommit = true;
+begin transaction;
+abort transaction and no chain;
NEW_CONNECTION;
-set
-autocommit
-=
-true;
+begin transaction;
+abort
+transaction
+and
+no
+chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set autocommit = true;
+foo abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true bar;
+abort transaction and no chain bar;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set autocommit = true;
+%abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true%;
+abort transaction and no chain%;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =%true;
+abort transaction and no%chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set autocommit = true;
+_abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true_;
+abort transaction and no chain_;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =_true;
+abort transaction and no_chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set autocommit = true;
+&abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true&;
+abort transaction and no chain&;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =&true;
+abort transaction and no&chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set autocommit = true;
+$abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true$;
+abort transaction and no chain$;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =$true;
+abort transaction and no$chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set autocommit = true;
+@abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true@;
+abort transaction and no chain@;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =@true;
+abort transaction and no@chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set autocommit = true;
+!abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true!;
+abort transaction and no chain!;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =!true;
+abort transaction and no!chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set autocommit = true;
+*abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true*;
+abort transaction and no chain*;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =*true;
+abort transaction and no*chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set autocommit = true;
+(abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true(;
+abort transaction and no chain(;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =(true;
+abort transaction and no(chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set autocommit = true;
+)abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true);
+abort transaction and no chain);
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =)true;
+abort transaction and no)chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set autocommit = true;
+-abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true-;
+abort transaction and no chain-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-true;
+abort transaction and no-chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set autocommit = true;
++abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true+;
+abort transaction and no chain+;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =+true;
+abort transaction and no+chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set autocommit = true;
+-#abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true-#;
+abort transaction and no chain-#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-#true;
+abort transaction and no-#chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set autocommit = true;
+/abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true/;
+abort transaction and no chain/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/true;
+abort transaction and no/chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set autocommit = true;
+\abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true\;
+abort transaction and no chain\;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =\true;
+abort transaction and no\chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set autocommit = true;
+?abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true?;
+abort transaction and no chain?;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =?true;
+abort transaction and no?chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set autocommit = true;
+-/abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true-/;
+abort transaction and no chain-/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-/true;
+abort transaction and no-/chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set autocommit = true;
+/#abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true/#;
+abort transaction and no chain/#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/#true;
+abort transaction and no/#chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set autocommit = true;
+/-abort transaction and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true/-;
+abort transaction and no chain/-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/-true;
+abort transaction and no/-chain;
NEW_CONNECTION;
-set autocommit = false;
+begin transaction;
+abort work and no chain;
NEW_CONNECTION;
-SET AUTOCOMMIT = FALSE;
+begin transaction;
+ABORT WORK AND NO CHAIN;
NEW_CONNECTION;
-set autocommit = false;
+begin transaction;
+abort work and no chain;
NEW_CONNECTION;
- set autocommit = false;
+begin transaction;
+ abort work and no chain;
NEW_CONNECTION;
- set autocommit = false;
+begin transaction;
+ abort work and no chain;
NEW_CONNECTION;
+begin transaction;
-set autocommit = false;
+abort work and no chain;
NEW_CONNECTION;
-set autocommit = false ;
+begin transaction;
+abort work and no chain ;
NEW_CONNECTION;
-set autocommit = false ;
+begin transaction;
+abort work and no chain ;
NEW_CONNECTION;
-set autocommit = false
+begin transaction;
+abort work and no chain
;
NEW_CONNECTION;
-set autocommit = false;
+begin transaction;
+abort work and no chain;
NEW_CONNECTION;
-set autocommit = false;
+begin transaction;
+abort work and no chain;
NEW_CONNECTION;
-set
-autocommit
-=
-false;
+begin transaction;
+abort
+work
+and
+no
+chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set autocommit = false;
+foo abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false bar;
+abort work and no chain bar;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set autocommit = false;
+%abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false%;
+abort work and no chain%;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =%false;
+abort work and no%chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set autocommit = false;
+_abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false_;
+abort work and no chain_;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =_false;
+abort work and no_chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set autocommit = false;
+&abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false&;
+abort work and no chain&;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =&false;
+abort work and no&chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set autocommit = false;
+$abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false$;
+abort work and no chain$;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =$false;
+abort work and no$chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set autocommit = false;
+@abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false@;
+abort work and no chain@;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =@false;
+abort work and no@chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set autocommit = false;
+!abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false!;
+abort work and no chain!;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =!false;
+abort work and no!chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set autocommit = false;
+*abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false*;
+abort work and no chain*;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =*false;
+abort work and no*chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set autocommit = false;
+(abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false(;
+abort work and no chain(;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =(false;
+abort work and no(chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set autocommit = false;
+)abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false);
+abort work and no chain);
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =)false;
+abort work and no)chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set autocommit = false;
+-abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false-;
+abort work and no chain-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-false;
+abort work and no-chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set autocommit = false;
++abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false+;
+abort work and no chain+;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =+false;
+abort work and no+chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set autocommit = false;
+-#abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false-#;
+abort work and no chain-#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-#false;
+abort work and no-#chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set autocommit = false;
+/abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false/;
+abort work and no chain/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/false;
+abort work and no/chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set autocommit = false;
+\abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false\;
+abort work and no chain\;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =\false;
+abort work and no\chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set autocommit = false;
+?abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false?;
+abort work and no chain?;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =?false;
+abort work and no?chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set autocommit = false;
+-/abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false-/;
+abort work and no chain-/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-/false;
+abort work and no-/chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set autocommit = false;
+/#abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false/#;
+abort work and no chain/#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/#false;
+abort work and no/#chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set autocommit = false;
+/-abort work and no chain;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false/-;
+abort work and no chain/-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/-false;
+abort work and no/-chain;
NEW_CONNECTION;
-set autocommit to true;
+start batch ddl;
NEW_CONNECTION;
-SET AUTOCOMMIT TO TRUE;
+START BATCH DDL;
NEW_CONNECTION;
-set autocommit to true;
+start batch ddl;
NEW_CONNECTION;
- set autocommit to true;
+ start batch ddl;
NEW_CONNECTION;
- set autocommit to true;
+ start batch ddl;
NEW_CONNECTION;
-set autocommit to true;
+start batch ddl;
NEW_CONNECTION;
-set autocommit to true ;
+start batch ddl ;
NEW_CONNECTION;
-set autocommit to true ;
+start batch ddl ;
NEW_CONNECTION;
-set autocommit to true
+start batch ddl
;
NEW_CONNECTION;
-set autocommit to true;
+start batch ddl;
NEW_CONNECTION;
-set autocommit to true;
+start batch ddl;
NEW_CONNECTION;
-set
-autocommit
-to
-true;
+start
+batch
+ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set autocommit to true;
+foo start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true bar;
+start batch ddl bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set autocommit to true;
+%start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true%;
+start batch ddl%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to%true;
+start batch%ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set autocommit to true;
+_start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true_;
+start batch ddl_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to_true;
+start batch_ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set autocommit to true;
+&start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true&;
+start batch ddl&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to&true;
+start batch&ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set autocommit to true;
+$start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true$;
+start batch ddl$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to$true;
+start batch$ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set autocommit to true;
+@start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true@;
+start batch ddl@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to@true;
+start batch@ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set autocommit to true;
+!start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true!;
+start batch ddl!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to!true;
+start batch!ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set autocommit to true;
+*start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true*;
+start batch ddl*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to*true;
+start batch*ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set autocommit to true;
+(start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true(;
+start batch ddl(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to(true;
+start batch(ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set autocommit to true;
+)start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true);
+start batch ddl);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to)true;
+start batch)ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set autocommit to true;
+-start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true-;
+start batch ddl-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to-true;
+start batch-ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set autocommit to true;
++start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true+;
+start batch ddl+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to+true;
+start batch+ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set autocommit to true;
+-#start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true-#;
+start batch ddl-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to-#true;
+start batch-#ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set autocommit to true;
+/start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true/;
+start batch ddl/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to/true;
+start batch/ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set autocommit to true;
+\start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true\;
+start batch ddl\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to\true;
+start batch\ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set autocommit to true;
+?start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true?;
+start batch ddl?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to?true;
+start batch?ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set autocommit to true;
+-/start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true-/;
+start batch ddl-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to-/true;
+start batch-/ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set autocommit to true;
+/#start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true/#;
+start batch ddl/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to/#true;
+start batch/#ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set autocommit to true;
+/-start batch ddl;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to true/-;
+start batch ddl/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to/-true;
+start batch/-ddl;
NEW_CONNECTION;
-set autocommit to false;
+start batch dml;
NEW_CONNECTION;
-SET AUTOCOMMIT TO FALSE;
+START BATCH DML;
NEW_CONNECTION;
-set autocommit to false;
+start batch dml;
NEW_CONNECTION;
- set autocommit to false;
+ start batch dml;
NEW_CONNECTION;
- set autocommit to false;
+ start batch dml;
NEW_CONNECTION;
-set autocommit to false;
+start batch dml;
NEW_CONNECTION;
-set autocommit to false ;
+start batch dml ;
NEW_CONNECTION;
-set autocommit to false ;
+start batch dml ;
NEW_CONNECTION;
-set autocommit to false
+start batch dml
;
NEW_CONNECTION;
-set autocommit to false;
+start batch dml;
NEW_CONNECTION;
-set autocommit to false;
+start batch dml;
NEW_CONNECTION;
-set
-autocommit
-to
-false;
+start
+batch
+dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set autocommit to false;
+foo start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false bar;
+start batch dml bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set autocommit to false;
+%start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false%;
+start batch dml%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to%false;
+start batch%dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set autocommit to false;
+_start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false_;
+start batch dml_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to_false;
+start batch_dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set autocommit to false;
+&start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false&;
+start batch dml&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to&false;
+start batch&dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set autocommit to false;
+$start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false$;
+start batch dml$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to$false;
+start batch$dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set autocommit to false;
+@start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false@;
+start batch dml@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to@false;
+start batch@dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set autocommit to false;
+!start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false!;
+start batch dml!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to!false;
+start batch!dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set autocommit to false;
+*start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false*;
+start batch dml*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to*false;
+start batch*dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set autocommit to false;
+(start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false(;
+start batch dml(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to(false;
+start batch(dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set autocommit to false;
+)start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false);
+start batch dml);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to)false;
+start batch)dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set autocommit to false;
+-start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false-;
+start batch dml-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to-false;
+start batch-dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set autocommit to false;
++start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false+;
+start batch dml+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to+false;
+start batch+dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set autocommit to false;
+-#start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false-#;
+start batch dml-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to-#false;
+start batch-#dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set autocommit to false;
+/start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false/;
+start batch dml/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to/false;
+start batch/dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set autocommit to false;
+\start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false\;
+start batch dml\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to\false;
+start batch\dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set autocommit to false;
+?start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false?;
+start batch dml?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to?false;
+start batch?dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set autocommit to false;
+-/start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false-/;
+start batch dml-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to-/false;
+start batch-/dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set autocommit to false;
+/#start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false/#;
+start batch dml/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to/#false;
+start batch/#dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set autocommit to false;
+/-start batch dml;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to false/-;
+start batch dml/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit to/-false;
+start batch/-dml;
NEW_CONNECTION;
-set spanner.readonly = true;
+start batch ddl;
+run batch;
NEW_CONNECTION;
-SET SPANNER.READONLY = TRUE;
+start batch ddl;
+RUN BATCH;
NEW_CONNECTION;
-set spanner.readonly = true;
+start batch ddl;
+run batch;
NEW_CONNECTION;
- set spanner.readonly = true;
+start batch ddl;
+ run batch;
NEW_CONNECTION;
- set spanner.readonly = true;
+start batch ddl;
+ run batch;
NEW_CONNECTION;
+start batch ddl;
-set spanner.readonly = true;
+run batch;
NEW_CONNECTION;
-set spanner.readonly = true ;
+start batch ddl;
+run batch ;
NEW_CONNECTION;
-set spanner.readonly = true ;
+start batch ddl;
+run batch ;
NEW_CONNECTION;
-set spanner.readonly = true
+start batch ddl;
+run batch
;
NEW_CONNECTION;
-set spanner.readonly = true;
+start batch ddl;
+run batch;
NEW_CONNECTION;
-set spanner.readonly = true;
+start batch ddl;
+run batch;
NEW_CONNECTION;
-set
-spanner.readonly
-=
-true;
+start batch ddl;
+run
+batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.readonly = true;
+foo run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true bar;
+run batch bar;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.readonly = true;
+%run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true%;
+run batch%;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =%true;
+run%batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.readonly = true;
+_run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true_;
+run batch_;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =_true;
+run_batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.readonly = true;
+&run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true&;
+run batch&;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =&true;
+run&batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.readonly = true;
+$run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true$;
+run batch$;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =$true;
+run$batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.readonly = true;
+@run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true@;
+run batch@;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =@true;
+run@batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.readonly = true;
+!run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true!;
+run batch!;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =!true;
+run!batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.readonly = true;
+*run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true*;
+run batch*;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =*true;
+run*batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.readonly = true;
+(run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true(;
+run batch(;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =(true;
+run(batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.readonly = true;
+)run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true);
+run batch);
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =)true;
+run)batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.readonly = true;
+-run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true-;
+run batch-;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =-true;
+run-batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.readonly = true;
++run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true+;
+run batch+;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =+true;
+run+batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.readonly = true;
+-#run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true-#;
+run batch-#;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =-#true;
+run-#batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.readonly = true;
+/run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true/;
+run batch/;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =/true;
+run/batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.readonly = true;
+\run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true\;
+run batch\;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =\true;
+run\batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.readonly = true;
+?run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true?;
+run batch?;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =?true;
+run?batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.readonly = true;
+-/run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true-/;
+run batch-/;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =-/true;
+run-/batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.readonly = true;
+/#run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true/#;
+run batch/#;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =/#true;
+run/#batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.readonly = true;
+/-run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = true/-;
+run batch/-;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =/-true;
+run/-batch;
NEW_CONNECTION;
-set spanner.readonly = false;
+start batch ddl;
+abort batch;
NEW_CONNECTION;
-SET SPANNER.READONLY = FALSE;
+start batch ddl;
+ABORT BATCH;
NEW_CONNECTION;
-set spanner.readonly = false;
+start batch ddl;
+abort batch;
NEW_CONNECTION;
- set spanner.readonly = false;
+start batch ddl;
+ abort batch;
NEW_CONNECTION;
- set spanner.readonly = false;
+start batch ddl;
+ abort batch;
NEW_CONNECTION;
+start batch ddl;
-set spanner.readonly = false;
+abort batch;
NEW_CONNECTION;
-set spanner.readonly = false ;
+start batch ddl;
+abort batch ;
NEW_CONNECTION;
-set spanner.readonly = false ;
+start batch ddl;
+abort batch ;
NEW_CONNECTION;
-set spanner.readonly = false
+start batch ddl;
+abort batch
;
NEW_CONNECTION;
-set spanner.readonly = false;
+start batch ddl;
+abort batch;
NEW_CONNECTION;
-set spanner.readonly = false;
+start batch ddl;
+abort batch;
NEW_CONNECTION;
-set
-spanner.readonly
-=
-false;
+start batch ddl;
+abort
+batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.readonly = false;
+foo abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false bar;
+abort batch bar;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.readonly = false;
+%abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false%;
+abort batch%;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =%false;
+abort%batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.readonly = false;
+_abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false_;
+abort batch_;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =_false;
+abort_batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.readonly = false;
+&abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false&;
+abort batch&;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =&false;
+abort&batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.readonly = false;
+$abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false$;
+abort batch$;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =$false;
+abort$batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.readonly = false;
+@abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false@;
+abort batch@;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =@false;
+abort@batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.readonly = false;
+!abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false!;
+abort batch!;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =!false;
+abort!batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.readonly = false;
+*abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false*;
+abort batch*;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =*false;
+abort*batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.readonly = false;
+(abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false(;
+abort batch(;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =(false;
+abort(batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.readonly = false;
+)abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false);
+abort batch);
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =)false;
+abort)batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.readonly = false;
+-abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false-;
+abort batch-;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =-false;
+abort-batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.readonly = false;
++abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false+;
+abort batch+;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =+false;
+abort+batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.readonly = false;
+-#abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false-#;
+abort batch-#;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =-#false;
+abort-#batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.readonly = false;
+/abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false/;
+abort batch/;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =/false;
+abort/batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.readonly = false;
+\abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false\;
+abort batch\;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =\false;
+abort\batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.readonly = false;
+?abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false?;
+abort batch?;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =?false;
+abort?batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.readonly = false;
+-/abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false-/;
+abort batch-/;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =-/false;
+abort-/batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.readonly = false;
+/#abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false/#;
+abort batch/#;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =/#false;
+abort/#batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.readonly = false;
+/-abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly = false/-;
+abort batch/-;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly =/-false;
+abort/-batch;
NEW_CONNECTION;
-set spanner.readonly to true;
+set autocommit = true;
NEW_CONNECTION;
-SET SPANNER.READONLY TO TRUE;
+SET AUTOCOMMIT = TRUE;
NEW_CONNECTION;
-set spanner.readonly to true;
+set autocommit = true;
NEW_CONNECTION;
- set spanner.readonly to true;
+ set autocommit = true;
NEW_CONNECTION;
- set spanner.readonly to true;
+ set autocommit = true;
NEW_CONNECTION;
-set spanner.readonly to true;
+set autocommit = true;
NEW_CONNECTION;
-set spanner.readonly to true ;
+set autocommit = true ;
NEW_CONNECTION;
-set spanner.readonly to true ;
+set autocommit = true ;
NEW_CONNECTION;
-set spanner.readonly to true
+set autocommit = true
;
NEW_CONNECTION;
-set spanner.readonly to true;
+set autocommit = true;
NEW_CONNECTION;
-set spanner.readonly to true;
+set autocommit = true;
NEW_CONNECTION;
set
-spanner.readonly
-to
+autocommit
+=
true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.readonly to true;
+foo set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true bar;
+set autocommit = true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.readonly to true;
+%set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true%;
+set autocommit = true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to%true;
+set autocommit =%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.readonly to true;
+_set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true_;
+set autocommit = true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to_true;
+set autocommit =_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.readonly to true;
+&set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true&;
+set autocommit = true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to&true;
+set autocommit =&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.readonly to true;
+$set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true$;
+set autocommit = true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to$true;
+set autocommit =$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.readonly to true;
+@set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true@;
+set autocommit = true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to@true;
+set autocommit =@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.readonly to true;
+!set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true!;
+set autocommit = true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to!true;
+set autocommit =!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.readonly to true;
+*set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true*;
+set autocommit = true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to*true;
+set autocommit =*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.readonly to true;
+(set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true(;
+set autocommit = true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to(true;
+set autocommit =(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.readonly to true;
+)set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true);
+set autocommit = true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to)true;
+set autocommit =)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.readonly to true;
+-set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true-;
+set autocommit = true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to-true;
+set autocommit =-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.readonly to true;
++set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true+;
+set autocommit = true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to+true;
+set autocommit =+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.readonly to true;
+-#set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true-#;
+set autocommit = true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to-#true;
+set autocommit =-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.readonly to true;
+/set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true/;
+set autocommit = true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to/true;
+set autocommit =/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.readonly to true;
+\set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true\;
+set autocommit = true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to\true;
+set autocommit =\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.readonly to true;
+?set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true?;
+set autocommit = true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to?true;
+set autocommit =?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.readonly to true;
+-/set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true-/;
+set autocommit = true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to-/true;
+set autocommit =-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.readonly to true;
+/#set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true/#;
+set autocommit = true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to/#true;
+set autocommit =/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.readonly to true;
+/-set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to true/-;
+set autocommit = true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to/-true;
+set autocommit =/-true;
NEW_CONNECTION;
-set spanner.readonly to false;
+set autocommit = false;
NEW_CONNECTION;
-SET SPANNER.READONLY TO FALSE;
+SET AUTOCOMMIT = FALSE;
NEW_CONNECTION;
-set spanner.readonly to false;
+set autocommit = false;
NEW_CONNECTION;
- set spanner.readonly to false;
+ set autocommit = false;
NEW_CONNECTION;
- set spanner.readonly to false;
+ set autocommit = false;
NEW_CONNECTION;
-set spanner.readonly to false;
+set autocommit = false;
NEW_CONNECTION;
-set spanner.readonly to false ;
+set autocommit = false ;
NEW_CONNECTION;
-set spanner.readonly to false ;
+set autocommit = false ;
NEW_CONNECTION;
-set spanner.readonly to false
+set autocommit = false
;
NEW_CONNECTION;
-set spanner.readonly to false;
+set autocommit = false;
NEW_CONNECTION;
-set spanner.readonly to false;
+set autocommit = false;
NEW_CONNECTION;
set
-spanner.readonly
-to
+autocommit
+=
false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.readonly to false;
+foo set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false bar;
+set autocommit = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.readonly to false;
+%set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false%;
+set autocommit = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to%false;
+set autocommit =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.readonly to false;
+_set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false_;
+set autocommit = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to_false;
+set autocommit =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.readonly to false;
+&set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false&;
+set autocommit = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to&false;
+set autocommit =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.readonly to false;
+$set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false$;
+set autocommit = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to$false;
+set autocommit =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.readonly to false;
+@set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false@;
+set autocommit = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to@false;
+set autocommit =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.readonly to false;
+!set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false!;
+set autocommit = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to!false;
+set autocommit =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.readonly to false;
+*set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false*;
+set autocommit = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to*false;
+set autocommit =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.readonly to false;
+(set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false(;
+set autocommit = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to(false;
+set autocommit =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.readonly to false;
+)set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false);
+set autocommit = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to)false;
+set autocommit =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.readonly to false;
+-set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false-;
+set autocommit = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to-false;
+set autocommit =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.readonly to false;
++set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false+;
+set autocommit = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to+false;
+set autocommit =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.readonly to false;
+-#set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false-#;
+set autocommit = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to-#false;
+set autocommit =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.readonly to false;
+/set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false/;
+set autocommit = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to/false;
+set autocommit =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.readonly to false;
+\set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false\;
+set autocommit = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to\false;
+set autocommit =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.readonly to false;
+?set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false?;
+set autocommit = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to?false;
+set autocommit =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.readonly to false;
+-/set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false-/;
+set autocommit = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to-/false;
+set autocommit =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.readonly to false;
+/#set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false/#;
+set autocommit = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to/#false;
+set autocommit =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.readonly to false;
+/-set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to false/-;
+set autocommit = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.readonly to/-false;
+set autocommit =/-false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = true;
+set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-SET SPANNER.RETRY_ABORTS_INTERNALLY = TRUE;
+SET AUTOCOMMIT TO TRUE;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = true;
+set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
- set spanner.retry_aborts_internally = true;
+ set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
- set spanner.retry_aborts_internally = true;
+ set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = true;
+set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = true ;
+set autocommit to true ;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = true ;
+set autocommit to true ;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = true
+set autocommit to true
;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = true;
+set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = true;
+set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
set
-spanner.retry_aborts_internally
-=
+autocommit
+to
true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.retry_aborts_internally = true;
+foo set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true bar;
+set autocommit to true bar;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.retry_aborts_internally = true;
+%set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true%;
+set autocommit to true%;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =%true;
+set autocommit to%true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.retry_aborts_internally = true;
+_set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true_;
+set autocommit to true_;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =_true;
+set autocommit to_true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.retry_aborts_internally = true;
+&set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true&;
+set autocommit to true&;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =&true;
+set autocommit to&true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.retry_aborts_internally = true;
+$set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true$;
+set autocommit to true$;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =$true;
+set autocommit to$true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.retry_aborts_internally = true;
+@set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true@;
+set autocommit to true@;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =@true;
+set autocommit to@true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.retry_aborts_internally = true;
+!set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true!;
+set autocommit to true!;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =!true;
+set autocommit to!true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.retry_aborts_internally = true;
+*set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true*;
+set autocommit to true*;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =*true;
+set autocommit to*true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.retry_aborts_internally = true;
+(set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true(;
+set autocommit to true(;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =(true;
+set autocommit to(true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.retry_aborts_internally = true;
+)set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true);
+set autocommit to true);
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =)true;
+set autocommit to)true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.retry_aborts_internally = true;
+-set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true-;
+set autocommit to true-;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =-true;
+set autocommit to-true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.retry_aborts_internally = true;
++set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true+;
+set autocommit to true+;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =+true;
+set autocommit to+true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.retry_aborts_internally = true;
+-#set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true-#;
+set autocommit to true-#;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =-#true;
+set autocommit to-#true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.retry_aborts_internally = true;
+/set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true/;
+set autocommit to true/;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =/true;
+set autocommit to/true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.retry_aborts_internally = true;
+\set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true\;
+set autocommit to true\;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =\true;
+set autocommit to\true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.retry_aborts_internally = true;
+?set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true?;
+set autocommit to true?;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =?true;
+set autocommit to?true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.retry_aborts_internally = true;
+-/set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true-/;
+set autocommit to true-/;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =-/true;
+set autocommit to-/true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.retry_aborts_internally = true;
+/#set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true/#;
+set autocommit to true/#;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =/#true;
+set autocommit to/#true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.retry_aborts_internally = true;
+/-set autocommit to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = true/-;
+set autocommit to true/-;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =/-true;
+set autocommit to/-true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = false;
+set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-SET SPANNER.RETRY_ABORTS_INTERNALLY = FALSE;
+SET AUTOCOMMIT TO FALSE;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = false;
+set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
- set spanner.retry_aborts_internally = false;
+ set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
- set spanner.retry_aborts_internally = false;
+ set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = false;
+set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = false ;
+set autocommit to false ;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = false ;
+set autocommit to false ;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = false
+set autocommit to false
;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = false;
+set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally = false;
+set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
set
-spanner.retry_aborts_internally
-=
+autocommit
+to
false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.retry_aborts_internally = false;
+foo set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false bar;
+set autocommit to false bar;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.retry_aborts_internally = false;
+%set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false%;
+set autocommit to false%;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =%false;
+set autocommit to%false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.retry_aborts_internally = false;
+_set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false_;
+set autocommit to false_;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =_false;
+set autocommit to_false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.retry_aborts_internally = false;
+&set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false&;
+set autocommit to false&;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =&false;
+set autocommit to&false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.retry_aborts_internally = false;
+$set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false$;
+set autocommit to false$;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =$false;
+set autocommit to$false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.retry_aborts_internally = false;
+@set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false@;
+set autocommit to false@;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =@false;
+set autocommit to@false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.retry_aborts_internally = false;
+!set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false!;
+set autocommit to false!;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =!false;
+set autocommit to!false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.retry_aborts_internally = false;
+*set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false*;
+set autocommit to false*;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =*false;
+set autocommit to*false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.retry_aborts_internally = false;
+(set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false(;
+set autocommit to false(;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =(false;
+set autocommit to(false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.retry_aborts_internally = false;
+)set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false);
+set autocommit to false);
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =)false;
+set autocommit to)false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.retry_aborts_internally = false;
+-set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false-;
+set autocommit to false-;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =-false;
+set autocommit to-false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.retry_aborts_internally = false;
++set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false+;
+set autocommit to false+;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =+false;
+set autocommit to+false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.retry_aborts_internally = false;
+-#set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false-#;
+set autocommit to false-#;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =-#false;
+set autocommit to-#false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.retry_aborts_internally = false;
+/set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false/;
+set autocommit to false/;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =/false;
+set autocommit to/false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.retry_aborts_internally = false;
+\set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false\;
+set autocommit to false\;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =\false;
+set autocommit to\false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.retry_aborts_internally = false;
+?set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false?;
+set autocommit to false?;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =?false;
+set autocommit to?false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.retry_aborts_internally = false;
+-/set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false-/;
+set autocommit to false-/;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =-/false;
+set autocommit to-/false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.retry_aborts_internally = false;
+/#set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false/#;
+set autocommit to false/#;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =/#false;
+set autocommit to/#false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.retry_aborts_internally = false;
+/-set autocommit to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally = false/-;
+set autocommit to false/-;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally =/-false;
+set autocommit to/-false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to true;
+set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-SET SPANNER.RETRY_ABORTS_INTERNALLY TO TRUE;
+SET SPANNER.READONLY = TRUE;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to true;
+set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
- set spanner.retry_aborts_internally to true;
+ set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
- set spanner.retry_aborts_internally to true;
+ set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to true;
+set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to true ;
+set spanner.readonly = true ;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to true ;
+set spanner.readonly = true ;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to true
+set spanner.readonly = true
;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to true;
+set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to true;
+set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
set
-spanner.retry_aborts_internally
-to
+spanner.readonly
+=
true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.retry_aborts_internally to true;
+foo set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true bar;
+set spanner.readonly = true bar;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.retry_aborts_internally to true;
+%set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true%;
+set spanner.readonly = true%;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to%true;
+set spanner.readonly =%true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.retry_aborts_internally to true;
+_set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true_;
+set spanner.readonly = true_;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to_true;
+set spanner.readonly =_true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.retry_aborts_internally to true;
+&set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true&;
+set spanner.readonly = true&;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to&true;
+set spanner.readonly =&true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.retry_aborts_internally to true;
+$set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true$;
+set spanner.readonly = true$;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to$true;
+set spanner.readonly =$true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.retry_aborts_internally to true;
+@set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true@;
+set spanner.readonly = true@;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to@true;
+set spanner.readonly =@true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.retry_aborts_internally to true;
+!set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true!;
+set spanner.readonly = true!;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to!true;
+set spanner.readonly =!true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.retry_aborts_internally to true;
+*set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true*;
+set spanner.readonly = true*;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to*true;
+set spanner.readonly =*true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.retry_aborts_internally to true;
+(set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true(;
+set spanner.readonly = true(;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to(true;
+set spanner.readonly =(true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.retry_aborts_internally to true;
+)set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true);
+set spanner.readonly = true);
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to)true;
+set spanner.readonly =)true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.retry_aborts_internally to true;
+-set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true-;
+set spanner.readonly = true-;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to-true;
+set spanner.readonly =-true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.retry_aborts_internally to true;
++set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true+;
+set spanner.readonly = true+;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to+true;
+set spanner.readonly =+true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.retry_aborts_internally to true;
+-#set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true-#;
+set spanner.readonly = true-#;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to-#true;
+set spanner.readonly =-#true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.retry_aborts_internally to true;
+/set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true/;
+set spanner.readonly = true/;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to/true;
+set spanner.readonly =/true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.retry_aborts_internally to true;
+\set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true\;
+set spanner.readonly = true\;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to\true;
+set spanner.readonly =\true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.retry_aborts_internally to true;
+?set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true?;
+set spanner.readonly = true?;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to?true;
+set spanner.readonly =?true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.retry_aborts_internally to true;
+-/set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true-/;
+set spanner.readonly = true-/;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to-/true;
+set spanner.readonly =-/true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.retry_aborts_internally to true;
+/#set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true/#;
+set spanner.readonly = true/#;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to/#true;
+set spanner.readonly =/#true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.retry_aborts_internally to true;
+/-set spanner.readonly = true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to true/-;
+set spanner.readonly = true/-;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to/-true;
+set spanner.readonly =/-true;
NEW_CONNECTION;
set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-SET SPANNER.RETRY_ABORTS_INTERNALLY TO FALSE;
+SET SPANNER.READONLY = FALSE;
NEW_CONNECTION;
set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
- set spanner.retry_aborts_internally to false;
+ set spanner.readonly = false;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
- set spanner.retry_aborts_internally to false;
+ set spanner.readonly = false;
NEW_CONNECTION;
+
+
+
set spanner.readonly = false;
-set autocommit = false;
+NEW_CONNECTION;
+set spanner.readonly = false ;
+NEW_CONNECTION;
+set spanner.readonly = false ;
+NEW_CONNECTION;
+set spanner.readonly = false
+
+;
+NEW_CONNECTION;
+set spanner.readonly = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+NEW_CONNECTION;
+set
+spanner.readonly
+=
+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =%false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =_false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =&false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =$false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =@false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =!false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =*false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =(false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =)false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =-false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =-#false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =/false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =\false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =?false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =-/false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =/#false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.readonly = false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly = false/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly =/-false;
+NEW_CONNECTION;
+set spanner.readonly to true;
+NEW_CONNECTION;
+SET SPANNER.READONLY TO TRUE;
+NEW_CONNECTION;
+set spanner.readonly to true;
+NEW_CONNECTION;
+ set spanner.readonly to true;
+NEW_CONNECTION;
+ set spanner.readonly to true;
+NEW_CONNECTION;
-set spanner.retry_aborts_internally to false;
+set spanner.readonly to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to false ;
+set spanner.readonly to true ;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to false ;
+set spanner.readonly to true ;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to false
+set spanner.readonly to true
;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to false;
+set spanner.readonly to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
-set spanner.retry_aborts_internally to false;
+set spanner.readonly to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
set
-spanner.retry_aborts_internally
+spanner.readonly
to
-false;
+true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.retry_aborts_internally to false;
+foo set spanner.readonly to true;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false bar;
+set spanner.readonly to true bar;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.retry_aborts_internally to false;
+%set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to%true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to_true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to&true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to$true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to@true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to!true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to*true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to(true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to)true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to-true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to+true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to-#true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to/true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to\true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to?true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to-/true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to/#true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.readonly to true;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to true/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to/-true;
+NEW_CONNECTION;
+set spanner.readonly to false;
+NEW_CONNECTION;
+SET SPANNER.READONLY TO FALSE;
+NEW_CONNECTION;
+set spanner.readonly to false;
+NEW_CONNECTION;
+ set spanner.readonly to false;
+NEW_CONNECTION;
+ set spanner.readonly to false;
+NEW_CONNECTION;
+
+
+
+set spanner.readonly to false;
+NEW_CONNECTION;
+set spanner.readonly to false ;
+NEW_CONNECTION;
+set spanner.readonly to false ;
+NEW_CONNECTION;
+set spanner.readonly to false
+
+;
+NEW_CONNECTION;
+set spanner.readonly to false;
+NEW_CONNECTION;
+set spanner.readonly to false;
+NEW_CONNECTION;
+set
+spanner.readonly
+to
+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to%false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to_false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to&false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to$false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to@false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to!false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to*false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to(false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to)false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to-false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to+false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to-#false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to/false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to\false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to?false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to-/false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to/#false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.readonly to false;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to false/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.readonly to/-false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+SET SPANNER.RETRY_ABORTS_INTERNALLY = TRUE;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+ set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+ set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+
+
+
+set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = true ;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = true ;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = true
+
+;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set
+spanner.retry_aborts_internally
+=
+true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true bar;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true%;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =%true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true_;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =_true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true&;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =&true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true$;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =$true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true@;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =@true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true!;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =!true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true*;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =*true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true(;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =(true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true);
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =)true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true-;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =-true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true+;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =+true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true-#;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =-#true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true/;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =/true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true\;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =\true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true?;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =?true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true-/;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =-/true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true/#;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =/#true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.retry_aborts_internally = true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = true/-;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =/-true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+SET SPANNER.RETRY_ABORTS_INTERNALLY = FALSE;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+ set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+ set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+
+
+
+set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = false ;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = false ;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = false
+
+;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set
+spanner.retry_aborts_internally
+=
+false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false bar;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false%;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =%false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false_;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =_false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false&;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =&false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false$;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =$false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false@;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =@false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false!;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =!false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false*;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =*false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false(;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =(false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false);
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =)false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false-;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =-false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false+;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =+false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false-#;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =-#false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false/;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =/false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false\;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =\false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false?;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =?false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false-/;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =-/false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false/#;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =/#false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.retry_aborts_internally = false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally = false/-;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally =/-false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+SET SPANNER.RETRY_ABORTS_INTERNALLY TO TRUE;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+ set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+ set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+
+
+
+set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to true ;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to true ;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to true
+
+;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set
+spanner.retry_aborts_internally
+to
+true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true bar;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true%;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to%true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true_;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to_true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true&;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to&true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true$;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to$true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true@;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to@true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true!;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to!true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true*;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to*true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true(;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to(true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true);
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to)true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true-;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to-true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true+;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to+true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true-#;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to-#true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true/;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to/true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true\;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to\true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true?;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to?true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true-/;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to-/true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true/#;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to/#true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.retry_aborts_internally to true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to true/-;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to/-true;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+SET SPANNER.RETRY_ABORTS_INTERNALLY TO FALSE;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+ set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+ set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+
+
+
+set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to false ;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to false ;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to false
+
+;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+set
+spanner.retry_aborts_internally
+to
+false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false bar;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false%;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to%false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false_;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to_false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false&;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to&false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false$;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to$false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false@;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to@false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false!;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to!false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false*;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to*false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false(;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to(false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false);
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to)false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false-;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to-false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false+;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to+false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false-#;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to-#false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false/;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to/false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false\;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to\false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false?;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to?false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false-/;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to-/false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false/#;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to/#false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.retry_aborts_internally to false;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to false/-;
+NEW_CONNECTION;
+set spanner.readonly = false;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.retry_aborts_internally to/-false;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='partitioned_non_atomic';
+NEW_CONNECTION;
+ set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+ set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+
+
+
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC' ;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC' ;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'
+
+;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set
+spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='transactional';
+NEW_CONNECTION;
+ set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+ set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+
+
+
+set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='TRANSACTIONAL' ;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='TRANSACTIONAL' ;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='TRANSACTIONAL'
+
+;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+set
+spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode='TRANSACTIONAL'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-spanner.autocommit_dml_mode='TRANSACTIONAL';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+SET SPANNER.AUTOCOMMIT_DML_MODE TO 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'partitioned_non_atomic';
+NEW_CONNECTION;
+ set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+ set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+
+
+
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC' ;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC' ;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'
+
+;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set
+spanner.autocommit_dml_mode
+to
+'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to%'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to_'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to&'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to$'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to@'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to!'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to*'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to('PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to)'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to-'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to+'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to-#'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to/'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to\'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to?'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to-/'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to/#'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to/-'PARTITIONED_NON_ATOMIC';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+SET SPANNER.AUTOCOMMIT_DML_MODE TO 'TRANSACTIONAL';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'transactional';
+NEW_CONNECTION;
+ set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+ set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+
+
+
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL' ;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL' ;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'
+
+;
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+set
+spanner.autocommit_dml_mode
+to
+'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to%'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to_'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to&'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to$'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to@'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to!'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to*'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to('TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to)'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to-'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to+'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to-#'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to/'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to\'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to?'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to-/'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to/#'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to 'TRANSACTIONAL'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set spanner.autocommit_dml_mode to/-'TRANSACTIONAL';
+NEW_CONNECTION;
+set statement_timeout=default;
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT=DEFAULT;
+NEW_CONNECTION;
+set statement_timeout=default;
+NEW_CONNECTION;
+ set statement_timeout=default;
+NEW_CONNECTION;
+ set statement_timeout=default;
+NEW_CONNECTION;
+
+
+
+set statement_timeout=default;
+NEW_CONNECTION;
+set statement_timeout=default ;
+NEW_CONNECTION;
+set statement_timeout=default ;
+NEW_CONNECTION;
+set statement_timeout=default
+
+;
+NEW_CONNECTION;
+set statement_timeout=default;
+NEW_CONNECTION;
+set statement_timeout=default;
+NEW_CONNECTION;
+set
+statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout=default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=default/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-statement_timeout=default;
+NEW_CONNECTION;
+set statement_timeout='1s';
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT='1S';
+NEW_CONNECTION;
+set statement_timeout='1s';
+NEW_CONNECTION;
+ set statement_timeout='1s';
+NEW_CONNECTION;
+ set statement_timeout='1s';
+NEW_CONNECTION;
+
+
+
+set statement_timeout='1s';
+NEW_CONNECTION;
+set statement_timeout='1s' ;
+NEW_CONNECTION;
+set statement_timeout='1s' ;
+NEW_CONNECTION;
+set statement_timeout='1s'
+
+;
+NEW_CONNECTION;
+set statement_timeout='1s';
+NEW_CONNECTION;
+set statement_timeout='1s';
+NEW_CONNECTION;
+set
+statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout='1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='1s'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-statement_timeout='1s';
+NEW_CONNECTION;
+set statement_timeout='100ms';
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT='100MS';
+NEW_CONNECTION;
+set statement_timeout='100ms';
+NEW_CONNECTION;
+ set statement_timeout='100ms';
+NEW_CONNECTION;
+ set statement_timeout='100ms';
+NEW_CONNECTION;
+
+
+
+set statement_timeout='100ms';
+NEW_CONNECTION;
+set statement_timeout='100ms' ;
+NEW_CONNECTION;
+set statement_timeout='100ms' ;
+NEW_CONNECTION;
+set statement_timeout='100ms'
+
+;
+NEW_CONNECTION;
+set statement_timeout='100ms';
+NEW_CONNECTION;
+set statement_timeout='100ms';
+NEW_CONNECTION;
+set
+statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout='100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='100ms'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-statement_timeout='100ms';
+NEW_CONNECTION;
+set statement_timeout=100;
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT=100;
+NEW_CONNECTION;
+set statement_timeout=100;
+NEW_CONNECTION;
+ set statement_timeout=100;
+NEW_CONNECTION;
+ set statement_timeout=100;
+NEW_CONNECTION;
+
+
+
+set statement_timeout=100;
+NEW_CONNECTION;
+set statement_timeout=100 ;
+NEW_CONNECTION;
+set statement_timeout=100 ;
+NEW_CONNECTION;
+set statement_timeout=100
+
+;
+NEW_CONNECTION;
+set statement_timeout=100;
+NEW_CONNECTION;
+set statement_timeout=100;
+NEW_CONNECTION;
+set
+statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100 bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout=100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout=100/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-statement_timeout=100;
+NEW_CONNECTION;
+set statement_timeout='10000us';
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT='10000US';
+NEW_CONNECTION;
+set statement_timeout='10000us';
+NEW_CONNECTION;
+ set statement_timeout='10000us';
+NEW_CONNECTION;
+ set statement_timeout='10000us';
+NEW_CONNECTION;
+
+
+
+set statement_timeout='10000us';
+NEW_CONNECTION;
+set statement_timeout='10000us' ;
+NEW_CONNECTION;
+set statement_timeout='10000us' ;
+NEW_CONNECTION;
+set statement_timeout='10000us'
+
+;
+NEW_CONNECTION;
+set statement_timeout='10000us';
+NEW_CONNECTION;
+set statement_timeout='10000us';
+NEW_CONNECTION;
+set
+statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout='10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='10000us'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-statement_timeout='10000us';
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT='9223372036854775807NS';
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+ set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+ set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+
+
+
+set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns' ;
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns' ;
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns'
+
+;
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+set
+statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout='9223372036854775807ns'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-statement_timeout='9223372036854775807ns';
+NEW_CONNECTION;
+set statement_timeout to default;
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT TO DEFAULT;
+NEW_CONNECTION;
+set statement_timeout to default;
+NEW_CONNECTION;
+ set statement_timeout to default;
+NEW_CONNECTION;
+ set statement_timeout to default;
+NEW_CONNECTION;
+
+
+
+set statement_timeout to default;
+NEW_CONNECTION;
+set statement_timeout to default ;
+NEW_CONNECTION;
+set statement_timeout to default ;
+NEW_CONNECTION;
+set statement_timeout to default
+
+;
+NEW_CONNECTION;
+set statement_timeout to default;
+NEW_CONNECTION;
+set statement_timeout to default;
+NEW_CONNECTION;
+set
+statement_timeout
+to
+default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to%default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to_default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to&default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to$default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to@default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to!default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to*default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to(default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to)default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to+default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-#default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to\default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to?default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-/default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/#default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout to default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to default/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/-default;
+NEW_CONNECTION;
+set statement_timeout to '1s';
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT TO '1S';
+NEW_CONNECTION;
+set statement_timeout to '1s';
+NEW_CONNECTION;
+ set statement_timeout to '1s';
+NEW_CONNECTION;
+ set statement_timeout to '1s';
+NEW_CONNECTION;
+
+
+
+set statement_timeout to '1s';
+NEW_CONNECTION;
+set statement_timeout to '1s' ;
+NEW_CONNECTION;
+set statement_timeout to '1s' ;
+NEW_CONNECTION;
+set statement_timeout to '1s'
+
+;
+NEW_CONNECTION;
+set statement_timeout to '1s';
+NEW_CONNECTION;
+set statement_timeout to '1s';
+NEW_CONNECTION;
+set
+statement_timeout
+to
+'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to%'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to_'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to&'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to$'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to@'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to!'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to*'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to('1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to)'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to+'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-#'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to\'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to?'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-/'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/#'1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout to '1s';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '1s'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/-'1s';
+NEW_CONNECTION;
+set statement_timeout to '100ms';
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT TO '100MS';
+NEW_CONNECTION;
+set statement_timeout to '100ms';
+NEW_CONNECTION;
+ set statement_timeout to '100ms';
+NEW_CONNECTION;
+ set statement_timeout to '100ms';
+NEW_CONNECTION;
+
+
+
+set statement_timeout to '100ms';
+NEW_CONNECTION;
+set statement_timeout to '100ms' ;
+NEW_CONNECTION;
+set statement_timeout to '100ms' ;
+NEW_CONNECTION;
+set statement_timeout to '100ms'
+
+;
+NEW_CONNECTION;
+set statement_timeout to '100ms';
+NEW_CONNECTION;
+set statement_timeout to '100ms';
+NEW_CONNECTION;
+set
+statement_timeout
+to
+'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to%'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to_'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to&'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to$'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to@'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to!'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to*'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to('100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to)'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to+'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-#'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to\'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to?'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-/'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/#'100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout to '100ms';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '100ms'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/-'100ms';
+NEW_CONNECTION;
+set statement_timeout to 100;
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT TO 100;
+NEW_CONNECTION;
+set statement_timeout to 100;
+NEW_CONNECTION;
+ set statement_timeout to 100;
+NEW_CONNECTION;
+ set statement_timeout to 100;
+NEW_CONNECTION;
+
+
+
+set statement_timeout to 100;
+NEW_CONNECTION;
+set statement_timeout to 100 ;
+NEW_CONNECTION;
+set statement_timeout to 100 ;
+NEW_CONNECTION;
+set statement_timeout to 100
+
+;
+NEW_CONNECTION;
+set statement_timeout to 100;
+NEW_CONNECTION;
+set statement_timeout to 100;
+NEW_CONNECTION;
+set
+statement_timeout
+to
+100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100 bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to%100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to_100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to&100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to$100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to@100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to!100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to*100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to(100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to)100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to+100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-#100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to\100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to?100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-/100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/#100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout to 100;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to 100/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/-100;
+NEW_CONNECTION;
+set statement_timeout to '10000us';
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT TO '10000US';
+NEW_CONNECTION;
+set statement_timeout to '10000us';
+NEW_CONNECTION;
+ set statement_timeout to '10000us';
+NEW_CONNECTION;
+ set statement_timeout to '10000us';
+NEW_CONNECTION;
+
+
+
+set statement_timeout to '10000us';
+NEW_CONNECTION;
+set statement_timeout to '10000us' ;
+NEW_CONNECTION;
+set statement_timeout to '10000us' ;
+NEW_CONNECTION;
+set statement_timeout to '10000us'
+
+;
+NEW_CONNECTION;
+set statement_timeout to '10000us';
+NEW_CONNECTION;
+set statement_timeout to '10000us';
+NEW_CONNECTION;
+set
+statement_timeout
+to
+'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to%'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to_'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to&'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to$'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to@'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to!'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to*'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to('10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to)'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to+'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-#'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to\'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to?'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-/'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/#'10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout to '10000us';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '10000us'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/-'10000us';
+NEW_CONNECTION;
+set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+SET STATEMENT_TIMEOUT TO '9223372036854775807NS';
+NEW_CONNECTION;
+set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+ set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+ set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+
+
+
+set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+set statement_timeout to '9223372036854775807ns' ;
+NEW_CONNECTION;
+set statement_timeout to '9223372036854775807ns' ;
+NEW_CONNECTION;
+set statement_timeout to '9223372036854775807ns'
+
+;
+NEW_CONNECTION;
+set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+set
+statement_timeout
+to
+'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to%'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to_'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to&'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to$'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to@'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to!'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to*'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to('9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to)'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to+'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-#'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to\'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to?'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to-/'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/#'9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set statement_timeout to '9223372036854775807ns';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to '9223372036854775807ns'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set statement_timeout to/-'9223372036854775807ns';
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+SET TRANSACTION READ ONLY;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+
+
+
+set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only
+
+;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+set
+transaction
+read
+only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only bar;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only%;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read%only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only_;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read_only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only&;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read&only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only$;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read$only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only@;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read@only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only!;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read!only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only*;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read*only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only(;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read(only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only);
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read)only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read-only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only+;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read+only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only-#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read-#only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read/only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only\;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read\only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only?;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read?only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only-/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read-/only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only/#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read/#only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set transaction read only;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read only/-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read/-only;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+SET TRANSACTION READ WRITE;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+
+
+
+set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write
+
+;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+set
+transaction
+read
+write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write bar;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write%;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read%write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write_;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read_write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write&;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read&write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write$;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read$write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write@;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read@write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write!;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read!write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write*;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read*write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write(;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read(write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write);
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read)write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read-write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write+;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read+write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write-#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read-#write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read/write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write\;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read\write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write?;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read?write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write-/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read-/write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write/#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read/#write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set transaction read write;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read write/-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction read/-write;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+SET TRANSACTION ISOLATION LEVEL DEFAULT;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+
+
+
+set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level default ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level default ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level default
+
+;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+set
+transaction
+isolation
+level
+default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default bar;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default%;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level%default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default_;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level_default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default&;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level&default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default$;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level$default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default@;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level@default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default!;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level!default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default*;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level*default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default(;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level(default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default);
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level)default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level-default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default+;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level+default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default-#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level-#default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level/default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default\;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level\default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default?;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level?default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default-/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level-/default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default/#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level/#default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set transaction isolation level default;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level default/-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level/-default;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+
+
+
+set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable
+
+;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+set
+transaction
+isolation
+level
+serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable bar;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable%;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level%serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable_;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level_serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable&;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level&serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable$;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level$serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable@;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level@serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable!;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level!serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable*;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level*serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable(;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level(serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable);
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level)serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level-serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable+;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level+serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable-#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level-#serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level/serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable\;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level\serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable?;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level?serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable-/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level-/serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable/#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level/#serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable/-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level/-serializable;
+NEW_CONNECTION;
+set session characteristics as transaction read only;
+NEW_CONNECTION;
+SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;
+NEW_CONNECTION;
+set session characteristics as transaction read only;
+NEW_CONNECTION;
+ set session characteristics as transaction read only;
+NEW_CONNECTION;
+ set session characteristics as transaction read only;
+NEW_CONNECTION;
+
+
+
+set session characteristics as transaction read only;
+NEW_CONNECTION;
+set session characteristics as transaction read only ;
+NEW_CONNECTION;
+set session characteristics as transaction read only ;
+NEW_CONNECTION;
+set session characteristics as transaction read only
+
+;
+NEW_CONNECTION;
+set session characteristics as transaction read only;
+NEW_CONNECTION;
+set session characteristics as transaction read only;
+NEW_CONNECTION;
+set
+session
+characteristics
+as
+transaction
+read
+only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read%only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read_only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read&only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read$only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read@only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read!only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read*only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read(only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read)only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read-only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read+only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read-#only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read/only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read\only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read?only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read-/only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read/#only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set session characteristics as transaction read only;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read only/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read/-only;
+NEW_CONNECTION;
+set session characteristics as transaction read write;
+NEW_CONNECTION;
+SET SESSION CHARACTERISTICS AS TRANSACTION READ WRITE;
+NEW_CONNECTION;
+set session characteristics as transaction read write;
+NEW_CONNECTION;
+ set session characteristics as transaction read write;
+NEW_CONNECTION;
+ set session characteristics as transaction read write;
+NEW_CONNECTION;
+
+
+
+set session characteristics as transaction read write;
+NEW_CONNECTION;
+set session characteristics as transaction read write ;
+NEW_CONNECTION;
+set session characteristics as transaction read write ;
+NEW_CONNECTION;
+set session characteristics as transaction read write
+
+;
+NEW_CONNECTION;
+set session characteristics as transaction read write;
+NEW_CONNECTION;
+set session characteristics as transaction read write;
+NEW_CONNECTION;
+set
+session
+characteristics
+as
+transaction
+read
+write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read%write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read_write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read&write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read$write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read@write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read!write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read*write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read(write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read)write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read-write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read+write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read-#write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read/write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read\write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read?write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read-/write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read/#write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set session characteristics as transaction read write;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read write/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction read/-write;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL DEFAULT;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+ set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+ set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+
+
+
+set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level default ;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level default ;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level default
+
+;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+set
+session
+characteristics
+as
+transaction
+isolation
+level
+default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level%default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level_default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level&default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level$default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level@default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level!default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level*default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level(default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level)default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level-default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level+default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level-#default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level/default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level\default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level?default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level-/default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level/#default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set session characteristics as transaction isolation level default;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level default/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level/-default;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level serializable;
+NEW_CONNECTION;
+SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level serializable;
+NEW_CONNECTION;
+ set session characteristics as transaction isolation level serializable;
+NEW_CONNECTION;
+ set session characteristics as transaction isolation level serializable;
+NEW_CONNECTION;
+
+
+
+set session characteristics as transaction isolation level serializable;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level serializable ;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level serializable ;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level serializable
+
+;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level serializable;
+NEW_CONNECTION;
+set session characteristics as transaction isolation level serializable;
+NEW_CONNECTION;
+set
+session
+characteristics
+as
+transaction
+isolation
+level
+serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set session characteristics as transaction isolation level serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level serializable bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false%;
+set session characteristics as transaction isolation level serializable%;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to%false;
+set session characteristics as transaction isolation level%serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.retry_aborts_internally to false;
+_set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false_;
+set session characteristics as transaction isolation level serializable_;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to_false;
+set session characteristics as transaction isolation level_serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.retry_aborts_internally to false;
+&set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false&;
+set session characteristics as transaction isolation level serializable&;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to&false;
+set session characteristics as transaction isolation level&serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.retry_aborts_internally to false;
+$set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false$;
+set session characteristics as transaction isolation level serializable$;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to$false;
+set session characteristics as transaction isolation level$serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.retry_aborts_internally to false;
+@set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false@;
+set session characteristics as transaction isolation level serializable@;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to@false;
+set session characteristics as transaction isolation level@serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.retry_aborts_internally to false;
+!set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false!;
+set session characteristics as transaction isolation level serializable!;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to!false;
+set session characteristics as transaction isolation level!serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.retry_aborts_internally to false;
+*set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false*;
+set session characteristics as transaction isolation level serializable*;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to*false;
+set session characteristics as transaction isolation level*serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.retry_aborts_internally to false;
+(set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false(;
+set session characteristics as transaction isolation level serializable(;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to(false;
+set session characteristics as transaction isolation level(serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.retry_aborts_internally to false;
+)set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false);
+set session characteristics as transaction isolation level serializable);
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to)false;
+set session characteristics as transaction isolation level)serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.retry_aborts_internally to false;
+-set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false-;
+set session characteristics as transaction isolation level serializable-;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to-false;
+set session characteristics as transaction isolation level-serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.retry_aborts_internally to false;
++set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false+;
+set session characteristics as transaction isolation level serializable+;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to+false;
+set session characteristics as transaction isolation level+serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.retry_aborts_internally to false;
+-#set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false-#;
+set session characteristics as transaction isolation level serializable-#;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to-#false;
+set session characteristics as transaction isolation level-#serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.retry_aborts_internally to false;
+/set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false/;
+set session characteristics as transaction isolation level serializable/;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to/false;
+set session characteristics as transaction isolation level/serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.retry_aborts_internally to false;
+\set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false\;
+set session characteristics as transaction isolation level serializable\;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to\false;
+set session characteristics as transaction isolation level\serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.retry_aborts_internally to false;
+?set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false?;
+set session characteristics as transaction isolation level serializable?;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to?false;
+set session characteristics as transaction isolation level?serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.retry_aborts_internally to false;
+-/set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false-/;
+set session characteristics as transaction isolation level serializable-/;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to-/false;
+set session characteristics as transaction isolation level-/serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.retry_aborts_internally to false;
+/#set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false/#;
+set session characteristics as transaction isolation level serializable/#;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to/#false;
+set session characteristics as transaction isolation level/#serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.retry_aborts_internally to false;
+/-set session characteristics as transaction isolation level serializable;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to false/-;
+set session characteristics as transaction isolation level serializable/-;
NEW_CONNECTION;
-set spanner.readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.retry_aborts_internally to/-false;
+set session characteristics as transaction isolation level/-serializable;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation=serializable;
NEW_CONNECTION;
-SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+SET DEFAULT_TRANSACTION_ISOLATION=SERIALIZABLE;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='partitioned_non_atomic';
+set default_transaction_isolation=serializable;
NEW_CONNECTION;
- set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+ set default_transaction_isolation=serializable;
NEW_CONNECTION;
- set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+ set default_transaction_isolation=serializable;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation=serializable;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC' ;
+set default_transaction_isolation=serializable ;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC' ;
+set default_transaction_isolation=serializable ;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'
+set default_transaction_isolation=serializable
;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation=serializable;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation=serializable;
NEW_CONNECTION;
set
-spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+foo set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC' bar;
+set default_transaction_isolation=serializable bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+%set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'%;
+set default_transaction_isolation=serializable%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set%default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+_set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'_;
+set default_transaction_isolation=serializable_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set_default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+&set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'&;
+set default_transaction_isolation=serializable&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set&default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+$set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'$;
+set default_transaction_isolation=serializable$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set$default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+@set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'@;
+set default_transaction_isolation=serializable@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set@default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+!set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'!;
+set default_transaction_isolation=serializable!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set!default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+*set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'*;
+set default_transaction_isolation=serializable*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set*default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+(set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'(;
+set default_transaction_isolation=serializable(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set(default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+)set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC');
+set default_transaction_isolation=serializable);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set)default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+-set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-;
+set default_transaction_isolation=serializable-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set-default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
++set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'+;
+set default_transaction_isolation=serializable+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set+default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+-#set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-#;
+set default_transaction_isolation=serializable-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set-#default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+/set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/;
+set default_transaction_isolation=serializable/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set/default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+\set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'\;
+set default_transaction_isolation=serializable\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set\default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+?set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'?;
+set default_transaction_isolation=serializable?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set?default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+-/set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-/;
+set default_transaction_isolation=serializable-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set-/default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+/#set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/#;
+set default_transaction_isolation=serializable/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set/#default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+/-set default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/-;
+set default_transaction_isolation=serializable/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set/-default_transaction_isolation=serializable;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to serializable;
NEW_CONNECTION;
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+SET DEFAULT_TRANSACTION_ISOLATION TO SERIALIZABLE;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='transactional';
+set default_transaction_isolation to serializable;
NEW_CONNECTION;
- set spanner.autocommit_dml_mode='TRANSACTIONAL';
+ set default_transaction_isolation to serializable;
NEW_CONNECTION;
- set spanner.autocommit_dml_mode='TRANSACTIONAL';
+ set default_transaction_isolation to serializable;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to serializable;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='TRANSACTIONAL' ;
+set default_transaction_isolation to serializable ;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='TRANSACTIONAL' ;
+set default_transaction_isolation to serializable ;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='TRANSACTIONAL'
+set default_transaction_isolation to serializable
;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to serializable;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to serializable;
NEW_CONNECTION;
set
-spanner.autocommit_dml_mode='TRANSACTIONAL';
+default_transaction_isolation
+to
+serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.autocommit_dml_mode='TRANSACTIONAL';
+foo set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL' bar;
+set default_transaction_isolation to serializable bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.autocommit_dml_mode='TRANSACTIONAL';
+%set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'%;
+set default_transaction_isolation to serializable%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to%serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.autocommit_dml_mode='TRANSACTIONAL';
+_set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'_;
+set default_transaction_isolation to serializable_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to_serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.autocommit_dml_mode='TRANSACTIONAL';
+&set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'&;
+set default_transaction_isolation to serializable&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to&serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.autocommit_dml_mode='TRANSACTIONAL';
+$set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'$;
+set default_transaction_isolation to serializable$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to$serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.autocommit_dml_mode='TRANSACTIONAL';
+@set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'@;
+set default_transaction_isolation to serializable@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to@serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.autocommit_dml_mode='TRANSACTIONAL';
+!set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'!;
+set default_transaction_isolation to serializable!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to!serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.autocommit_dml_mode='TRANSACTIONAL';
+*set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'*;
+set default_transaction_isolation to serializable*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to*serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.autocommit_dml_mode='TRANSACTIONAL';
+(set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'(;
+set default_transaction_isolation to serializable(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to(serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.autocommit_dml_mode='TRANSACTIONAL';
+)set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL');
+set default_transaction_isolation to serializable);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to)serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.autocommit_dml_mode='TRANSACTIONAL';
+-set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'-;
+set default_transaction_isolation to serializable-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to-serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.autocommit_dml_mode='TRANSACTIONAL';
++set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'+;
+set default_transaction_isolation to serializable+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to+serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.autocommit_dml_mode='TRANSACTIONAL';
+-#set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'-#;
+set default_transaction_isolation to serializable-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to-#serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.autocommit_dml_mode='TRANSACTIONAL';
+/set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'/;
+set default_transaction_isolation to serializable/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to/serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.autocommit_dml_mode='TRANSACTIONAL';
+\set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'\;
+set default_transaction_isolation to serializable\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to\serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.autocommit_dml_mode='TRANSACTIONAL';
+?set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'?;
+set default_transaction_isolation to serializable?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to?serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.autocommit_dml_mode='TRANSACTIONAL';
+-/set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'-/;
+set default_transaction_isolation to serializable-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to-/serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.autocommit_dml_mode='TRANSACTIONAL';
+/#set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'/#;
+set default_transaction_isolation to serializable/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to/#serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.autocommit_dml_mode='TRANSACTIONAL';
+/-set default_transaction_isolation to serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode='TRANSACTIONAL'/-;
+set default_transaction_isolation to serializable/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.autocommit_dml_mode='TRANSACTIONAL';
+set default_transaction_isolation to/-serializable;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
-SET SPANNER.AUTOCOMMIT_DML_MODE TO 'PARTITIONED_NON_ATOMIC';
+SET DEFAULT_TRANSACTION_ISOLATION TO 'SERIALIZABLE';
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'partitioned_non_atomic';
+set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
- set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+ set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
- set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+ set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC' ;
+set default_transaction_isolation to 'serializable' ;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC' ;
+set default_transaction_isolation to 'serializable' ;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'
+set default_transaction_isolation to 'serializable'
;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
set
-spanner.autocommit_dml_mode
+default_transaction_isolation
to
-'PARTITIONED_NON_ATOMIC';
+'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+foo set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC' bar;
+set default_transaction_isolation to 'serializable' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+%set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'%;
+set default_transaction_isolation to 'serializable'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to%'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to%'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+_set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'_;
+set default_transaction_isolation to 'serializable'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to_'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to_'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+&set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'&;
+set default_transaction_isolation to 'serializable'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to&'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to&'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+$set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'$;
+set default_transaction_isolation to 'serializable'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to$'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to$'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+@set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'@;
+set default_transaction_isolation to 'serializable'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to@'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to@'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+!set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'!;
+set default_transaction_isolation to 'serializable'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to!'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to!'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+*set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'*;
+set default_transaction_isolation to 'serializable'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to*'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to*'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+(set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'(;
+set default_transaction_isolation to 'serializable'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to('PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to('serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+)set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC');
+set default_transaction_isolation to 'serializable');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to)'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to)'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+-set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'-;
+set default_transaction_isolation to 'serializable'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to-'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to-'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
++set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'+;
+set default_transaction_isolation to 'serializable'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to+'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to+'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+-#set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'-#;
+set default_transaction_isolation to 'serializable'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to-#'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to-#'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+/set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'/;
+set default_transaction_isolation to 'serializable'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to/'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to/'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+\set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'\;
+set default_transaction_isolation to 'serializable'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to\'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to\'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+?set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'?;
+set default_transaction_isolation to 'serializable'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to?'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to?'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+-/set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'-/;
+set default_transaction_isolation to 'serializable'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to-/'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to-/'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+/#set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'/#;
+set default_transaction_isolation to 'serializable'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to/#'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to/#'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC';
+/-set default_transaction_isolation to 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'PARTITIONED_NON_ATOMIC'/-;
+set default_transaction_isolation to 'serializable'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to/-'PARTITIONED_NON_ATOMIC';
+set default_transaction_isolation to/-'serializable';
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
-SET SPANNER.AUTOCOMMIT_DML_MODE TO 'TRANSACTIONAL';
+SET DEFAULT_TRANSACTION_ISOLATION = 'SERIALIZABLE';
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'transactional';
+set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
- set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+ set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
- set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+ set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL' ;
+set default_transaction_isolation = 'serializable' ;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL' ;
+set default_transaction_isolation = 'serializable' ;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'
+set default_transaction_isolation = 'serializable'
;
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
set
-spanner.autocommit_dml_mode
-to
-'TRANSACTIONAL';
+default_transaction_isolation
+=
+'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+foo set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL' bar;
+set default_transaction_isolation = 'serializable' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+%set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'%;
+set default_transaction_isolation = 'serializable'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to%'TRANSACTIONAL';
+set default_transaction_isolation =%'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+_set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'_;
+set default_transaction_isolation = 'serializable'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to_'TRANSACTIONAL';
+set default_transaction_isolation =_'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+&set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'&;
+set default_transaction_isolation = 'serializable'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to&'TRANSACTIONAL';
+set default_transaction_isolation =&'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+$set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'$;
+set default_transaction_isolation = 'serializable'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to$'TRANSACTIONAL';
+set default_transaction_isolation =$'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+@set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'@;
+set default_transaction_isolation = 'serializable'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to@'TRANSACTIONAL';
+set default_transaction_isolation =@'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+!set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'!;
+set default_transaction_isolation = 'serializable'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to!'TRANSACTIONAL';
+set default_transaction_isolation =!'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+*set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'*;
+set default_transaction_isolation = 'serializable'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to*'TRANSACTIONAL';
+set default_transaction_isolation =*'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+(set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'(;
+set default_transaction_isolation = 'serializable'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to('TRANSACTIONAL';
+set default_transaction_isolation =('serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+)set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL');
+set default_transaction_isolation = 'serializable');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to)'TRANSACTIONAL';
+set default_transaction_isolation =)'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+-set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'-;
+set default_transaction_isolation = 'serializable'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to-'TRANSACTIONAL';
+set default_transaction_isolation =-'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
++set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'+;
+set default_transaction_isolation = 'serializable'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to+'TRANSACTIONAL';
+set default_transaction_isolation =+'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+-#set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'-#;
+set default_transaction_isolation = 'serializable'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to-#'TRANSACTIONAL';
+set default_transaction_isolation =-#'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+/set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'/;
+set default_transaction_isolation = 'serializable'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to/'TRANSACTIONAL';
+set default_transaction_isolation =/'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+\set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'\;
+set default_transaction_isolation = 'serializable'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to\'TRANSACTIONAL';
+set default_transaction_isolation =\'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+?set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'?;
+set default_transaction_isolation = 'serializable'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to?'TRANSACTIONAL';
+set default_transaction_isolation =?'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+-/set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'-/;
+set default_transaction_isolation = 'serializable'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to-/'TRANSACTIONAL';
+set default_transaction_isolation =-/'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+/#set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'/#;
+set default_transaction_isolation = 'serializable'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to/#'TRANSACTIONAL';
+set default_transaction_isolation =/#'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.autocommit_dml_mode to 'TRANSACTIONAL';
+/-set default_transaction_isolation = 'serializable';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to 'TRANSACTIONAL'/-;
+set default_transaction_isolation = 'serializable'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.autocommit_dml_mode to/-'TRANSACTIONAL';
+set default_transaction_isolation =/-'serializable';
NEW_CONNECTION;
-set statement_timeout=default;
+set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT=DEFAULT;
+SET DEFAULT_TRANSACTION_ISOLATION = "SERIALIZABLE";
NEW_CONNECTION;
-set statement_timeout=default;
+set default_transaction_isolation = "serializable";
NEW_CONNECTION;
- set statement_timeout=default;
+ set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
- set statement_timeout=default;
+ set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
-set statement_timeout=default;
+set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
-set statement_timeout=default ;
+set default_transaction_isolation = "SERIALIZABLE" ;
NEW_CONNECTION;
-set statement_timeout=default ;
+set default_transaction_isolation = "SERIALIZABLE" ;
NEW_CONNECTION;
-set statement_timeout=default
+set default_transaction_isolation = "SERIALIZABLE"
;
NEW_CONNECTION;
-set statement_timeout=default;
+set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
-set statement_timeout=default;
+set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
set
-statement_timeout=default;
+default_transaction_isolation
+=
+"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout=default;
+foo set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default bar;
+set default_transaction_isolation = "SERIALIZABLE" bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout=default;
+%set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default%;
+set default_transaction_isolation = "SERIALIZABLE"%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout=default;
+set default_transaction_isolation =%"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout=default;
+_set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default_;
+set default_transaction_isolation = "SERIALIZABLE"_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout=default;
+set default_transaction_isolation =_"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout=default;
+&set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default&;
+set default_transaction_isolation = "SERIALIZABLE"&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout=default;
+set default_transaction_isolation =&"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout=default;
+$set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default$;
+set default_transaction_isolation = "SERIALIZABLE"$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout=default;
+set default_transaction_isolation =$"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout=default;
+@set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default@;
+set default_transaction_isolation = "SERIALIZABLE"@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout=default;
+set default_transaction_isolation =@"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout=default;
+!set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default!;
+set default_transaction_isolation = "SERIALIZABLE"!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout=default;
+set default_transaction_isolation =!"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout=default;
+*set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default*;
+set default_transaction_isolation = "SERIALIZABLE"*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout=default;
+set default_transaction_isolation =*"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout=default;
+(set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default(;
+set default_transaction_isolation = "SERIALIZABLE"(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout=default;
+set default_transaction_isolation =("SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout=default;
+)set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default);
+set default_transaction_isolation = "SERIALIZABLE");
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout=default;
+set default_transaction_isolation =)"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout=default;
+-set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default-;
+set default_transaction_isolation = "SERIALIZABLE"-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout=default;
+set default_transaction_isolation =-"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout=default;
++set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default+;
+set default_transaction_isolation = "SERIALIZABLE"+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout=default;
+set default_transaction_isolation =+"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout=default;
+-#set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default-#;
+set default_transaction_isolation = "SERIALIZABLE"-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout=default;
+set default_transaction_isolation =-#"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout=default;
+/set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default/;
+set default_transaction_isolation = "SERIALIZABLE"/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout=default;
+set default_transaction_isolation =/"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout=default;
+\set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default\;
+set default_transaction_isolation = "SERIALIZABLE"\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout=default;
+set default_transaction_isolation =\"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout=default;
+?set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default?;
+set default_transaction_isolation = "SERIALIZABLE"?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout=default;
+set default_transaction_isolation =?"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout=default;
+-/set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default-/;
+set default_transaction_isolation = "SERIALIZABLE"-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout=default;
+set default_transaction_isolation =-/"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout=default;
+/#set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default/#;
+set default_transaction_isolation = "SERIALIZABLE"/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout=default;
+set default_transaction_isolation =/#"SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout=default;
+/-set default_transaction_isolation = "SERIALIZABLE";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=default/-;
+set default_transaction_isolation = "SERIALIZABLE"/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout=default;
+set default_transaction_isolation =/-"SERIALIZABLE";
NEW_CONNECTION;
-set statement_timeout='1s';
+set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT='1S';
+SET DEFAULT_TRANSACTION_ISOLATION = DEFAULT;
NEW_CONNECTION;
-set statement_timeout='1s';
+set default_transaction_isolation = default;
NEW_CONNECTION;
- set statement_timeout='1s';
+ set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
- set statement_timeout='1s';
+ set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
-set statement_timeout='1s';
+set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
-set statement_timeout='1s' ;
+set default_transaction_isolation = DEFAULT ;
NEW_CONNECTION;
-set statement_timeout='1s' ;
+set default_transaction_isolation = DEFAULT ;
NEW_CONNECTION;
-set statement_timeout='1s'
+set default_transaction_isolation = DEFAULT
;
NEW_CONNECTION;
-set statement_timeout='1s';
+set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
-set statement_timeout='1s';
+set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
set
-statement_timeout='1s';
+default_transaction_isolation
+=
+DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout='1s';
+foo set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s' bar;
+set default_transaction_isolation = DEFAULT bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout='1s';
+%set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'%;
+set default_transaction_isolation = DEFAULT%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout='1s';
+set default_transaction_isolation =%DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout='1s';
+_set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'_;
+set default_transaction_isolation = DEFAULT_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout='1s';
+set default_transaction_isolation =_DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout='1s';
+&set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'&;
+set default_transaction_isolation = DEFAULT&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout='1s';
+set default_transaction_isolation =&DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout='1s';
+$set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'$;
+set default_transaction_isolation = DEFAULT$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout='1s';
+set default_transaction_isolation =$DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout='1s';
+@set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'@;
+set default_transaction_isolation = DEFAULT@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout='1s';
+set default_transaction_isolation =@DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout='1s';
+!set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'!;
+set default_transaction_isolation = DEFAULT!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout='1s';
+set default_transaction_isolation =!DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout='1s';
+*set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'*;
+set default_transaction_isolation = DEFAULT*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout='1s';
+set default_transaction_isolation =*DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout='1s';
+(set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'(;
+set default_transaction_isolation = DEFAULT(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout='1s';
+set default_transaction_isolation =(DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout='1s';
+)set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s');
+set default_transaction_isolation = DEFAULT);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout='1s';
+set default_transaction_isolation =)DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout='1s';
+-set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'-;
+set default_transaction_isolation = DEFAULT-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout='1s';
+set default_transaction_isolation =-DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout='1s';
++set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'+;
+set default_transaction_isolation = DEFAULT+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout='1s';
+set default_transaction_isolation =+DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout='1s';
+-#set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'-#;
+set default_transaction_isolation = DEFAULT-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout='1s';
+set default_transaction_isolation =-#DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout='1s';
+/set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'/;
+set default_transaction_isolation = DEFAULT/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout='1s';
+set default_transaction_isolation =/DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout='1s';
+\set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'\;
+set default_transaction_isolation = DEFAULT\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout='1s';
+set default_transaction_isolation =\DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout='1s';
+?set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'?;
+set default_transaction_isolation = DEFAULT?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout='1s';
+set default_transaction_isolation =?DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout='1s';
+-/set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'-/;
+set default_transaction_isolation = DEFAULT-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout='1s';
+set default_transaction_isolation =-/DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout='1s';
+/#set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'/#;
+set default_transaction_isolation = DEFAULT/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout='1s';
+set default_transaction_isolation =/#DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout='1s';
+/-set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'/-;
+set default_transaction_isolation = DEFAULT/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout='1s';
+set default_transaction_isolation =/-DEFAULT;
NEW_CONNECTION;
-set statement_timeout='100ms';
+set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT='100MS';
+SET DEFAULT_TRANSACTION_ISOLATION TO DEFAULT;
NEW_CONNECTION;
-set statement_timeout='100ms';
+set default_transaction_isolation to default;
NEW_CONNECTION;
- set statement_timeout='100ms';
+ set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
- set statement_timeout='100ms';
+ set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
-set statement_timeout='100ms';
+set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
-set statement_timeout='100ms' ;
+set default_transaction_isolation to DEFAULT ;
NEW_CONNECTION;
-set statement_timeout='100ms' ;
+set default_transaction_isolation to DEFAULT ;
NEW_CONNECTION;
-set statement_timeout='100ms'
+set default_transaction_isolation to DEFAULT
;
NEW_CONNECTION;
-set statement_timeout='100ms';
+set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
-set statement_timeout='100ms';
+set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
set
-statement_timeout='100ms';
+default_transaction_isolation
+to
+DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout='100ms';
+foo set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms' bar;
+set default_transaction_isolation to DEFAULT bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout='100ms';
+%set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'%;
+set default_transaction_isolation to DEFAULT%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout='100ms';
+set default_transaction_isolation to%DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout='100ms';
+_set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'_;
+set default_transaction_isolation to DEFAULT_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout='100ms';
+set default_transaction_isolation to_DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout='100ms';
+&set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'&;
+set default_transaction_isolation to DEFAULT&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout='100ms';
+set default_transaction_isolation to&DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout='100ms';
+$set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'$;
+set default_transaction_isolation to DEFAULT$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout='100ms';
+set default_transaction_isolation to$DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout='100ms';
+@set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'@;
+set default_transaction_isolation to DEFAULT@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout='100ms';
+set default_transaction_isolation to@DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout='100ms';
+!set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'!;
+set default_transaction_isolation to DEFAULT!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout='100ms';
+set default_transaction_isolation to!DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout='100ms';
+*set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'*;
+set default_transaction_isolation to DEFAULT*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout='100ms';
+set default_transaction_isolation to*DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout='100ms';
+(set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'(;
+set default_transaction_isolation to DEFAULT(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout='100ms';
+set default_transaction_isolation to(DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout='100ms';
+)set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms');
+set default_transaction_isolation to DEFAULT);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout='100ms';
+set default_transaction_isolation to)DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout='100ms';
+-set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'-;
+set default_transaction_isolation to DEFAULT-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout='100ms';
+set default_transaction_isolation to-DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout='100ms';
++set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'+;
+set default_transaction_isolation to DEFAULT+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout='100ms';
+set default_transaction_isolation to+DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout='100ms';
+-#set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'-#;
+set default_transaction_isolation to DEFAULT-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout='100ms';
+set default_transaction_isolation to-#DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout='100ms';
+/set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'/;
+set default_transaction_isolation to DEFAULT/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout='100ms';
+set default_transaction_isolation to/DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout='100ms';
+\set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'\;
+set default_transaction_isolation to DEFAULT\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout='100ms';
+set default_transaction_isolation to\DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout='100ms';
+?set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'?;
+set default_transaction_isolation to DEFAULT?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout='100ms';
+set default_transaction_isolation to?DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout='100ms';
+-/set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'-/;
+set default_transaction_isolation to DEFAULT-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout='100ms';
+set default_transaction_isolation to-/DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout='100ms';
+/#set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'/#;
+set default_transaction_isolation to DEFAULT/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout='100ms';
+set default_transaction_isolation to/#DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout='100ms';
+/-set default_transaction_isolation to DEFAULT;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'/-;
+set default_transaction_isolation to DEFAULT/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout='100ms';
+set default_transaction_isolation to/-DEFAULT;
NEW_CONNECTION;
-set statement_timeout=100;
+set default_transaction_read_only = true;
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT=100;
+SET DEFAULT_TRANSACTION_READ_ONLY = TRUE;
NEW_CONNECTION;
-set statement_timeout=100;
+set default_transaction_read_only = true;
NEW_CONNECTION;
- set statement_timeout=100;
+ set default_transaction_read_only = true;
NEW_CONNECTION;
- set statement_timeout=100;
+ set default_transaction_read_only = true;
NEW_CONNECTION;
-set statement_timeout=100;
+set default_transaction_read_only = true;
NEW_CONNECTION;
-set statement_timeout=100 ;
+set default_transaction_read_only = true ;
NEW_CONNECTION;
-set statement_timeout=100 ;
+set default_transaction_read_only = true ;
NEW_CONNECTION;
-set statement_timeout=100
+set default_transaction_read_only = true
;
NEW_CONNECTION;
-set statement_timeout=100;
+set default_transaction_read_only = true;
NEW_CONNECTION;
-set statement_timeout=100;
+set default_transaction_read_only = true;
NEW_CONNECTION;
set
-statement_timeout=100;
+default_transaction_read_only
+=
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout=100;
+foo set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100 bar;
+set default_transaction_read_only = true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout=100;
+%set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100%;
+set default_transaction_read_only = true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout=100;
+set default_transaction_read_only =%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout=100;
+_set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100_;
+set default_transaction_read_only = true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout=100;
+set default_transaction_read_only =_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout=100;
+&set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100&;
+set default_transaction_read_only = true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout=100;
+set default_transaction_read_only =&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout=100;
+$set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100$;
+set default_transaction_read_only = true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout=100;
+set default_transaction_read_only =$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout=100;
+@set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100@;
+set default_transaction_read_only = true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout=100;
+set default_transaction_read_only =@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout=100;
+!set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100!;
+set default_transaction_read_only = true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout=100;
+set default_transaction_read_only =!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout=100;
+*set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100*;
+set default_transaction_read_only = true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout=100;
+set default_transaction_read_only =*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout=100;
+(set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100(;
+set default_transaction_read_only = true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout=100;
+set default_transaction_read_only =(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout=100;
+)set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100);
+set default_transaction_read_only = true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout=100;
+set default_transaction_read_only =)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout=100;
+-set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100-;
+set default_transaction_read_only = true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout=100;
+set default_transaction_read_only =-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout=100;
++set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100+;
+set default_transaction_read_only = true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout=100;
+set default_transaction_read_only =+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout=100;
+-#set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100-#;
+set default_transaction_read_only = true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout=100;
+set default_transaction_read_only =-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout=100;
+/set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100/;
+set default_transaction_read_only = true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout=100;
+set default_transaction_read_only =/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout=100;
+\set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100\;
+set default_transaction_read_only = true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout=100;
+set default_transaction_read_only =\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout=100;
+?set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100?;
+set default_transaction_read_only = true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout=100;
+set default_transaction_read_only =?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout=100;
+-/set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100-/;
+set default_transaction_read_only = true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout=100;
+set default_transaction_read_only =-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout=100;
+/#set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100/#;
+set default_transaction_read_only = true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout=100;
+set default_transaction_read_only =/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout=100;
+/-set default_transaction_read_only = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=100/-;
+set default_transaction_read_only = true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout=100;
+set default_transaction_read_only =/-true;
NEW_CONNECTION;
-set statement_timeout='10000us';
+set default_transaction_read_only = false;
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT='10000US';
+SET DEFAULT_TRANSACTION_READ_ONLY = FALSE;
NEW_CONNECTION;
-set statement_timeout='10000us';
+set default_transaction_read_only = false;
NEW_CONNECTION;
- set statement_timeout='10000us';
+ set default_transaction_read_only = false;
NEW_CONNECTION;
- set statement_timeout='10000us';
+ set default_transaction_read_only = false;
NEW_CONNECTION;
-set statement_timeout='10000us';
+set default_transaction_read_only = false;
NEW_CONNECTION;
-set statement_timeout='10000us' ;
+set default_transaction_read_only = false ;
NEW_CONNECTION;
-set statement_timeout='10000us' ;
+set default_transaction_read_only = false ;
NEW_CONNECTION;
-set statement_timeout='10000us'
+set default_transaction_read_only = false
;
NEW_CONNECTION;
-set statement_timeout='10000us';
+set default_transaction_read_only = false;
NEW_CONNECTION;
-set statement_timeout='10000us';
+set default_transaction_read_only = false;
NEW_CONNECTION;
set
-statement_timeout='10000us';
+default_transaction_read_only
+=
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout='10000us';
+foo set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us' bar;
+set default_transaction_read_only = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout='10000us';
+%set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'%;
+set default_transaction_read_only = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout='10000us';
+set default_transaction_read_only =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout='10000us';
+_set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'_;
+set default_transaction_read_only = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout='10000us';
+set default_transaction_read_only =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout='10000us';
+&set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'&;
+set default_transaction_read_only = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout='10000us';
+set default_transaction_read_only =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout='10000us';
+$set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'$;
+set default_transaction_read_only = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout='10000us';
+set default_transaction_read_only =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout='10000us';
+@set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'@;
+set default_transaction_read_only = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout='10000us';
+set default_transaction_read_only =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout='10000us';
+!set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'!;
+set default_transaction_read_only = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout='10000us';
+set default_transaction_read_only =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout='10000us';
+*set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'*;
+set default_transaction_read_only = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout='10000us';
+set default_transaction_read_only =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout='10000us';
+(set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'(;
+set default_transaction_read_only = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout='10000us';
+set default_transaction_read_only =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout='10000us';
+)set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us');
+set default_transaction_read_only = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout='10000us';
+set default_transaction_read_only =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout='10000us';
+-set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'-;
+set default_transaction_read_only = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout='10000us';
+set default_transaction_read_only =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout='10000us';
++set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'+;
+set default_transaction_read_only = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout='10000us';
+set default_transaction_read_only =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout='10000us';
+-#set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'-#;
+set default_transaction_read_only = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout='10000us';
+set default_transaction_read_only =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout='10000us';
+/set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'/;
+set default_transaction_read_only = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout='10000us';
+set default_transaction_read_only =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout='10000us';
+\set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'\;
+set default_transaction_read_only = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout='10000us';
+set default_transaction_read_only =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout='10000us';
+?set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'?;
+set default_transaction_read_only = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout='10000us';
+set default_transaction_read_only =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout='10000us';
+-/set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'-/;
+set default_transaction_read_only = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout='10000us';
+set default_transaction_read_only =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout='10000us';
+/#set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'/#;
+set default_transaction_read_only = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout='10000us';
+set default_transaction_read_only =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout='10000us';
+/-set default_transaction_read_only = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'/-;
+set default_transaction_read_only = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout='10000us';
+set default_transaction_read_only =/-false;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set default_transaction_read_only = t;
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT='9223372036854775807NS';
+SET DEFAULT_TRANSACTION_READ_ONLY = T;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set default_transaction_read_only = t;
NEW_CONNECTION;
- set statement_timeout='9223372036854775807ns';
+ set default_transaction_read_only = t;
NEW_CONNECTION;
- set statement_timeout='9223372036854775807ns';
+ set default_transaction_read_only = t;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set default_transaction_read_only = t;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns' ;
+set default_transaction_read_only = t ;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns' ;
+set default_transaction_read_only = t ;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns'
+set default_transaction_read_only = t
;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set default_transaction_read_only = t;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set default_transaction_read_only = t;
NEW_CONNECTION;
set
-statement_timeout='9223372036854775807ns';
+default_transaction_read_only
+=
+t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout='9223372036854775807ns';
+foo set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns' bar;
+set default_transaction_read_only = t bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout='9223372036854775807ns';
+%set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'%;
+set default_transaction_read_only = t%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =%t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout='9223372036854775807ns';
+_set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'_;
+set default_transaction_read_only = t_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =_t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout='9223372036854775807ns';
+&set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'&;
+set default_transaction_read_only = t&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =&t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout='9223372036854775807ns';
+$set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'$;
+set default_transaction_read_only = t$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =$t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout='9223372036854775807ns';
+@set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'@;
+set default_transaction_read_only = t@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =@t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout='9223372036854775807ns';
+!set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'!;
+set default_transaction_read_only = t!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =!t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout='9223372036854775807ns';
+*set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'*;
+set default_transaction_read_only = t*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =*t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout='9223372036854775807ns';
+(set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'(;
+set default_transaction_read_only = t(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =(t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout='9223372036854775807ns';
+)set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns');
+set default_transaction_read_only = t);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =)t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout='9223372036854775807ns';
+-set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'-;
+set default_transaction_read_only = t-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =-t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout='9223372036854775807ns';
++set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'+;
+set default_transaction_read_only = t+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =+t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout='9223372036854775807ns';
+-#set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'-#;
+set default_transaction_read_only = t-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =-#t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout='9223372036854775807ns';
+/set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'/;
+set default_transaction_read_only = t/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =/t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout='9223372036854775807ns';
+\set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'\;
+set default_transaction_read_only = t\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =\t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout='9223372036854775807ns';
+?set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'?;
+set default_transaction_read_only = t?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =?t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout='9223372036854775807ns';
+-/set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'-/;
+set default_transaction_read_only = t-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =-/t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout='9223372036854775807ns';
+/#set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'/#;
+set default_transaction_read_only = t/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =/#t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout='9223372036854775807ns';
+/-set default_transaction_read_only = t;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'/-;
+set default_transaction_read_only = t/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout='9223372036854775807ns';
+set default_transaction_read_only =/-t;
NEW_CONNECTION;
-set statement_timeout to default;
+set default_transaction_read_only = f;
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT TO DEFAULT;
+SET DEFAULT_TRANSACTION_READ_ONLY = F;
NEW_CONNECTION;
-set statement_timeout to default;
+set default_transaction_read_only = f;
NEW_CONNECTION;
- set statement_timeout to default;
+ set default_transaction_read_only = f;
NEW_CONNECTION;
- set statement_timeout to default;
+ set default_transaction_read_only = f;
NEW_CONNECTION;
-set statement_timeout to default;
+set default_transaction_read_only = f;
NEW_CONNECTION;
-set statement_timeout to default ;
+set default_transaction_read_only = f ;
NEW_CONNECTION;
-set statement_timeout to default ;
+set default_transaction_read_only = f ;
NEW_CONNECTION;
-set statement_timeout to default
+set default_transaction_read_only = f
;
NEW_CONNECTION;
-set statement_timeout to default;
+set default_transaction_read_only = f;
NEW_CONNECTION;
-set statement_timeout to default;
+set default_transaction_read_only = f;
NEW_CONNECTION;
set
-statement_timeout
-to
-default;
+default_transaction_read_only
+=
+f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout to default;
+foo set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default bar;
+set default_transaction_read_only = f bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout to default;
+%set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default%;
+set default_transaction_read_only = f%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to%default;
+set default_transaction_read_only =%f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout to default;
+_set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default_;
+set default_transaction_read_only = f_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to_default;
+set default_transaction_read_only =_f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout to default;
+&set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default&;
+set default_transaction_read_only = f&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to&default;
+set default_transaction_read_only =&f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout to default;
+$set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default$;
+set default_transaction_read_only = f$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to$default;
+set default_transaction_read_only =$f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout to default;
+@set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default@;
+set default_transaction_read_only = f@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to@default;
+set default_transaction_read_only =@f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout to default;
+!set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default!;
+set default_transaction_read_only = f!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to!default;
+set default_transaction_read_only =!f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout to default;
+*set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default*;
+set default_transaction_read_only = f*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to*default;
+set default_transaction_read_only =*f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout to default;
+(set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default(;
+set default_transaction_read_only = f(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to(default;
+set default_transaction_read_only =(f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout to default;
+)set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default);
+set default_transaction_read_only = f);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to)default;
+set default_transaction_read_only =)f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout to default;
+-set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default-;
+set default_transaction_read_only = f-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-default;
+set default_transaction_read_only =-f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout to default;
++set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default+;
+set default_transaction_read_only = f+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to+default;
+set default_transaction_read_only =+f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout to default;
+-#set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default-#;
+set default_transaction_read_only = f-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-#default;
+set default_transaction_read_only =-#f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout to default;
+/set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default/;
+set default_transaction_read_only = f/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/default;
+set default_transaction_read_only =/f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout to default;
+\set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default\;
+set default_transaction_read_only = f\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to\default;
+set default_transaction_read_only =\f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout to default;
+?set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default?;
+set default_transaction_read_only = f?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to?default;
+set default_transaction_read_only =?f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout to default;
+-/set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default-/;
+set default_transaction_read_only = f-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-/default;
+set default_transaction_read_only =-/f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout to default;
+/#set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default/#;
+set default_transaction_read_only = f/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/#default;
+set default_transaction_read_only =/#f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout to default;
+/-set default_transaction_read_only = f;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to default/-;
+set default_transaction_read_only = f/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/-default;
+set default_transaction_read_only =/-f;
NEW_CONNECTION;
-set statement_timeout to '1s';
+set default_transaction_read_only to 't';
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT TO '1S';
+SET DEFAULT_TRANSACTION_READ_ONLY TO 'T';
NEW_CONNECTION;
-set statement_timeout to '1s';
+set default_transaction_read_only to 't';
NEW_CONNECTION;
- set statement_timeout to '1s';
+ set default_transaction_read_only to 't';
NEW_CONNECTION;
- set statement_timeout to '1s';
+ set default_transaction_read_only to 't';
NEW_CONNECTION;
-set statement_timeout to '1s';
+set default_transaction_read_only to 't';
NEW_CONNECTION;
-set statement_timeout to '1s' ;
+set default_transaction_read_only to 't' ;
NEW_CONNECTION;
-set statement_timeout to '1s' ;
+set default_transaction_read_only to 't' ;
NEW_CONNECTION;
-set statement_timeout to '1s'
+set default_transaction_read_only to 't'
;
NEW_CONNECTION;
-set statement_timeout to '1s';
+set default_transaction_read_only to 't';
NEW_CONNECTION;
-set statement_timeout to '1s';
+set default_transaction_read_only to 't';
NEW_CONNECTION;
set
-statement_timeout
+default_transaction_read_only
to
-'1s';
+'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout to '1s';
+foo set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s' bar;
+set default_transaction_read_only to 't' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout to '1s';
+%set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'%;
+set default_transaction_read_only to 't'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to%'1s';
+set default_transaction_read_only to%'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout to '1s';
+_set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'_;
+set default_transaction_read_only to 't'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to_'1s';
+set default_transaction_read_only to_'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout to '1s';
+&set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'&;
+set default_transaction_read_only to 't'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to&'1s';
+set default_transaction_read_only to&'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout to '1s';
+$set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'$;
+set default_transaction_read_only to 't'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to$'1s';
+set default_transaction_read_only to$'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout to '1s';
+@set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'@;
+set default_transaction_read_only to 't'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to@'1s';
+set default_transaction_read_only to@'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout to '1s';
+!set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'!;
+set default_transaction_read_only to 't'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to!'1s';
+set default_transaction_read_only to!'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout to '1s';
+*set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'*;
+set default_transaction_read_only to 't'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to*'1s';
+set default_transaction_read_only to*'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout to '1s';
+(set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'(;
+set default_transaction_read_only to 't'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to('1s';
+set default_transaction_read_only to('t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout to '1s';
+)set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s');
+set default_transaction_read_only to 't');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to)'1s';
+set default_transaction_read_only to)'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout to '1s';
+-set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'-;
+set default_transaction_read_only to 't'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-'1s';
+set default_transaction_read_only to-'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout to '1s';
++set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'+;
+set default_transaction_read_only to 't'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to+'1s';
+set default_transaction_read_only to+'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout to '1s';
+-#set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'-#;
+set default_transaction_read_only to 't'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-#'1s';
+set default_transaction_read_only to-#'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout to '1s';
+/set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'/;
+set default_transaction_read_only to 't'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/'1s';
+set default_transaction_read_only to/'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout to '1s';
+\set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'\;
+set default_transaction_read_only to 't'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to\'1s';
+set default_transaction_read_only to\'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout to '1s';
+?set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'?;
+set default_transaction_read_only to 't'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to?'1s';
+set default_transaction_read_only to?'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout to '1s';
+-/set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'-/;
+set default_transaction_read_only to 't'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-/'1s';
+set default_transaction_read_only to-/'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout to '1s';
+/#set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'/#;
+set default_transaction_read_only to 't'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/#'1s';
+set default_transaction_read_only to/#'t';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout to '1s';
+/-set default_transaction_read_only to 't';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '1s'/-;
+set default_transaction_read_only to 't'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/-'1s';
+set default_transaction_read_only to/-'t';
NEW_CONNECTION;
-set statement_timeout to '100ms';
+set default_transaction_read_only to "f";
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT TO '100MS';
+SET DEFAULT_TRANSACTION_READ_ONLY TO "F";
NEW_CONNECTION;
-set statement_timeout to '100ms';
+set default_transaction_read_only to "f";
NEW_CONNECTION;
- set statement_timeout to '100ms';
+ set default_transaction_read_only to "f";
NEW_CONNECTION;
- set statement_timeout to '100ms';
+ set default_transaction_read_only to "f";
NEW_CONNECTION;
-set statement_timeout to '100ms';
+set default_transaction_read_only to "f";
NEW_CONNECTION;
-set statement_timeout to '100ms' ;
+set default_transaction_read_only to "f" ;
NEW_CONNECTION;
-set statement_timeout to '100ms' ;
+set default_transaction_read_only to "f" ;
NEW_CONNECTION;
-set statement_timeout to '100ms'
+set default_transaction_read_only to "f"
;
NEW_CONNECTION;
-set statement_timeout to '100ms';
+set default_transaction_read_only to "f";
NEW_CONNECTION;
-set statement_timeout to '100ms';
+set default_transaction_read_only to "f";
NEW_CONNECTION;
set
-statement_timeout
+default_transaction_read_only
to
-'100ms';
+"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout to '100ms';
+foo set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms' bar;
+set default_transaction_read_only to "f" bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout to '100ms';
+%set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'%;
+set default_transaction_read_only to "f"%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to%'100ms';
+set default_transaction_read_only to%"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout to '100ms';
+_set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'_;
+set default_transaction_read_only to "f"_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to_'100ms';
+set default_transaction_read_only to_"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout to '100ms';
+&set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'&;
+set default_transaction_read_only to "f"&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to&'100ms';
+set default_transaction_read_only to&"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout to '100ms';
+$set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'$;
+set default_transaction_read_only to "f"$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to$'100ms';
+set default_transaction_read_only to$"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout to '100ms';
+@set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'@;
+set default_transaction_read_only to "f"@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to@'100ms';
+set default_transaction_read_only to@"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout to '100ms';
+!set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'!;
+set default_transaction_read_only to "f"!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to!'100ms';
+set default_transaction_read_only to!"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout to '100ms';
+*set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'*;
+set default_transaction_read_only to "f"*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to*'100ms';
+set default_transaction_read_only to*"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout to '100ms';
+(set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'(;
+set default_transaction_read_only to "f"(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to('100ms';
+set default_transaction_read_only to("f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout to '100ms';
+)set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms');
+set default_transaction_read_only to "f");
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to)'100ms';
+set default_transaction_read_only to)"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout to '100ms';
+-set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'-;
+set default_transaction_read_only to "f"-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-'100ms';
+set default_transaction_read_only to-"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout to '100ms';
++set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'+;
+set default_transaction_read_only to "f"+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to+'100ms';
+set default_transaction_read_only to+"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout to '100ms';
+-#set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'-#;
+set default_transaction_read_only to "f"-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-#'100ms';
+set default_transaction_read_only to-#"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout to '100ms';
+/set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'/;
+set default_transaction_read_only to "f"/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/'100ms';
+set default_transaction_read_only to/"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout to '100ms';
+\set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'\;
+set default_transaction_read_only to "f"\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to\'100ms';
+set default_transaction_read_only to\"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout to '100ms';
+?set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'?;
+set default_transaction_read_only to "f"?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to?'100ms';
+set default_transaction_read_only to?"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout to '100ms';
+-/set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'-/;
+set default_transaction_read_only to "f"-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-/'100ms';
+set default_transaction_read_only to-/"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout to '100ms';
+/#set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'/#;
+set default_transaction_read_only to "f"/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/#'100ms';
+set default_transaction_read_only to/#"f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout to '100ms';
+/-set default_transaction_read_only to "f";
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '100ms'/-;
+set default_transaction_read_only to "f"/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/-'100ms';
+set default_transaction_read_only to/-"f";
NEW_CONNECTION;
-set statement_timeout to 100;
+set default_transaction_read_only = on;
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT TO 100;
+SET DEFAULT_TRANSACTION_READ_ONLY = ON;
NEW_CONNECTION;
-set statement_timeout to 100;
+set default_transaction_read_only = on;
NEW_CONNECTION;
- set statement_timeout to 100;
+ set default_transaction_read_only = on;
NEW_CONNECTION;
- set statement_timeout to 100;
+ set default_transaction_read_only = on;
NEW_CONNECTION;
-set statement_timeout to 100;
+set default_transaction_read_only = on;
NEW_CONNECTION;
-set statement_timeout to 100 ;
+set default_transaction_read_only = on ;
NEW_CONNECTION;
-set statement_timeout to 100 ;
+set default_transaction_read_only = on ;
NEW_CONNECTION;
-set statement_timeout to 100
+set default_transaction_read_only = on
;
NEW_CONNECTION;
-set statement_timeout to 100;
+set default_transaction_read_only = on;
NEW_CONNECTION;
-set statement_timeout to 100;
+set default_transaction_read_only = on;
NEW_CONNECTION;
set
-statement_timeout
-to
-100;
+default_transaction_read_only
+=
+on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout to 100;
+foo set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100 bar;
+set default_transaction_read_only = on bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout to 100;
+%set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100%;
+set default_transaction_read_only = on%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to%100;
+set default_transaction_read_only =%on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout to 100;
+_set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100_;
+set default_transaction_read_only = on_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to_100;
+set default_transaction_read_only =_on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout to 100;
+&set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100&;
+set default_transaction_read_only = on&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to&100;
+set default_transaction_read_only =&on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout to 100;
+$set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100$;
+set default_transaction_read_only = on$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to$100;
+set default_transaction_read_only =$on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout to 100;
+@set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100@;
+set default_transaction_read_only = on@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to@100;
+set default_transaction_read_only =@on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout to 100;
+!set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100!;
+set default_transaction_read_only = on!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to!100;
+set default_transaction_read_only =!on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout to 100;
+*set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100*;
+set default_transaction_read_only = on*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to*100;
+set default_transaction_read_only =*on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout to 100;
+(set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100(;
+set default_transaction_read_only = on(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to(100;
+set default_transaction_read_only =(on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout to 100;
+)set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100);
+set default_transaction_read_only = on);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to)100;
+set default_transaction_read_only =)on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout to 100;
+-set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100-;
+set default_transaction_read_only = on-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-100;
+set default_transaction_read_only =-on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout to 100;
++set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100+;
+set default_transaction_read_only = on+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to+100;
+set default_transaction_read_only =+on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout to 100;
+-#set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100-#;
+set default_transaction_read_only = on-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-#100;
+set default_transaction_read_only =-#on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout to 100;
+/set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100/;
+set default_transaction_read_only = on/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/100;
+set default_transaction_read_only =/on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout to 100;
+\set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100\;
+set default_transaction_read_only = on\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to\100;
+set default_transaction_read_only =\on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout to 100;
+?set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100?;
+set default_transaction_read_only = on?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to?100;
+set default_transaction_read_only =?on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout to 100;
+-/set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100-/;
+set default_transaction_read_only = on-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-/100;
+set default_transaction_read_only =-/on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout to 100;
+/#set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100/#;
+set default_transaction_read_only = on/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/#100;
+set default_transaction_read_only =/#on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout to 100;
+/-set default_transaction_read_only = on;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to 100/-;
+set default_transaction_read_only = on/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/-100;
+set default_transaction_read_only =/-on;
NEW_CONNECTION;
-set statement_timeout to '10000us';
+set default_transaction_read_only = off;
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT TO '10000US';
+SET DEFAULT_TRANSACTION_READ_ONLY = OFF;
NEW_CONNECTION;
-set statement_timeout to '10000us';
+set default_transaction_read_only = off;
NEW_CONNECTION;
- set statement_timeout to '10000us';
+ set default_transaction_read_only = off;
NEW_CONNECTION;
- set statement_timeout to '10000us';
+ set default_transaction_read_only = off;
NEW_CONNECTION;
-set statement_timeout to '10000us';
+set default_transaction_read_only = off;
NEW_CONNECTION;
-set statement_timeout to '10000us' ;
+set default_transaction_read_only = off ;
NEW_CONNECTION;
-set statement_timeout to '10000us' ;
+set default_transaction_read_only = off ;
NEW_CONNECTION;
-set statement_timeout to '10000us'
+set default_transaction_read_only = off
;
NEW_CONNECTION;
-set statement_timeout to '10000us';
+set default_transaction_read_only = off;
NEW_CONNECTION;
-set statement_timeout to '10000us';
+set default_transaction_read_only = off;
NEW_CONNECTION;
set
-statement_timeout
-to
-'10000us';
+default_transaction_read_only
+=
+off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout to '10000us';
+foo set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us' bar;
+set default_transaction_read_only = off bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout to '10000us';
+%set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'%;
+set default_transaction_read_only = off%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to%'10000us';
+set default_transaction_read_only =%off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout to '10000us';
+_set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'_;
+set default_transaction_read_only = off_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to_'10000us';
+set default_transaction_read_only =_off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout to '10000us';
+&set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'&;
+set default_transaction_read_only = off&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to&'10000us';
+set default_transaction_read_only =&off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout to '10000us';
+$set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'$;
+set default_transaction_read_only = off$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to$'10000us';
+set default_transaction_read_only =$off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout to '10000us';
+@set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'@;
+set default_transaction_read_only = off@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to@'10000us';
+set default_transaction_read_only =@off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout to '10000us';
+!set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'!;
+set default_transaction_read_only = off!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to!'10000us';
+set default_transaction_read_only =!off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout to '10000us';
+*set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'*;
+set default_transaction_read_only = off*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to*'10000us';
+set default_transaction_read_only =*off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout to '10000us';
+(set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'(;
+set default_transaction_read_only = off(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to('10000us';
+set default_transaction_read_only =(off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout to '10000us';
+)set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us');
+set default_transaction_read_only = off);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to)'10000us';
+set default_transaction_read_only =)off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout to '10000us';
+-set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'-;
+set default_transaction_read_only = off-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-'10000us';
+set default_transaction_read_only =-off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout to '10000us';
++set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'+;
+set default_transaction_read_only = off+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to+'10000us';
+set default_transaction_read_only =+off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout to '10000us';
+-#set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'-#;
+set default_transaction_read_only = off-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-#'10000us';
+set default_transaction_read_only =-#off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout to '10000us';
+/set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'/;
+set default_transaction_read_only = off/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/'10000us';
+set default_transaction_read_only =/off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout to '10000us';
+\set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'\;
+set default_transaction_read_only = off\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to\'10000us';
+set default_transaction_read_only =\off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout to '10000us';
+?set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'?;
+set default_transaction_read_only = off?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to?'10000us';
+set default_transaction_read_only =?off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout to '10000us';
+-/set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'-/;
+set default_transaction_read_only = off-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-/'10000us';
+set default_transaction_read_only =-/off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout to '10000us';
+/#set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'/#;
+set default_transaction_read_only = off/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/#'10000us';
+set default_transaction_read_only =/#off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout to '10000us';
+/-set default_transaction_read_only = off;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '10000us'/-;
+set default_transaction_read_only = off/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/-'10000us';
+set default_transaction_read_only =/-off;
NEW_CONNECTION;
-set statement_timeout to '9223372036854775807ns';
+set default_transaction_read_only = 1;
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT TO '9223372036854775807NS';
+SET DEFAULT_TRANSACTION_READ_ONLY = 1;
NEW_CONNECTION;
-set statement_timeout to '9223372036854775807ns';
+set default_transaction_read_only = 1;
NEW_CONNECTION;
- set statement_timeout to '9223372036854775807ns';
+ set default_transaction_read_only = 1;
NEW_CONNECTION;
- set statement_timeout to '9223372036854775807ns';
+ set default_transaction_read_only = 1;
NEW_CONNECTION;
-set statement_timeout to '9223372036854775807ns';
+set default_transaction_read_only = 1;
NEW_CONNECTION;
-set statement_timeout to '9223372036854775807ns' ;
+set default_transaction_read_only = 1 ;
NEW_CONNECTION;
-set statement_timeout to '9223372036854775807ns' ;
+set default_transaction_read_only = 1 ;
NEW_CONNECTION;
-set statement_timeout to '9223372036854775807ns'
+set default_transaction_read_only = 1
;
NEW_CONNECTION;
-set statement_timeout to '9223372036854775807ns';
+set default_transaction_read_only = 1;
NEW_CONNECTION;
-set statement_timeout to '9223372036854775807ns';
+set default_transaction_read_only = 1;
NEW_CONNECTION;
set
-statement_timeout
-to
-'9223372036854775807ns';
+default_transaction_read_only
+=
+1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout to '9223372036854775807ns';
+foo set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns' bar;
+set default_transaction_read_only = 1 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout to '9223372036854775807ns';
+%set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'%;
+set default_transaction_read_only = 1%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to%'9223372036854775807ns';
+set default_transaction_read_only =%1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout to '9223372036854775807ns';
+_set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'_;
+set default_transaction_read_only = 1_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to_'9223372036854775807ns';
+set default_transaction_read_only =_1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout to '9223372036854775807ns';
+&set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'&;
+set default_transaction_read_only = 1&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to&'9223372036854775807ns';
+set default_transaction_read_only =&1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout to '9223372036854775807ns';
+$set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'$;
+set default_transaction_read_only = 1$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to$'9223372036854775807ns';
+set default_transaction_read_only =$1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout to '9223372036854775807ns';
+@set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'@;
+set default_transaction_read_only = 1@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to@'9223372036854775807ns';
+set default_transaction_read_only =@1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout to '9223372036854775807ns';
+!set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'!;
+set default_transaction_read_only = 1!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to!'9223372036854775807ns';
+set default_transaction_read_only =!1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout to '9223372036854775807ns';
+*set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'*;
+set default_transaction_read_only = 1*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to*'9223372036854775807ns';
+set default_transaction_read_only =*1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout to '9223372036854775807ns';
+(set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'(;
+set default_transaction_read_only = 1(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to('9223372036854775807ns';
+set default_transaction_read_only =(1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout to '9223372036854775807ns';
+)set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns');
+set default_transaction_read_only = 1);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to)'9223372036854775807ns';
+set default_transaction_read_only =)1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout to '9223372036854775807ns';
+-set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'-;
+set default_transaction_read_only = 1-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-'9223372036854775807ns';
+set default_transaction_read_only =-1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout to '9223372036854775807ns';
++set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'+;
+set default_transaction_read_only = 1+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to+'9223372036854775807ns';
+set default_transaction_read_only =+1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout to '9223372036854775807ns';
+-#set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'-#;
+set default_transaction_read_only = 1-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-#'9223372036854775807ns';
+set default_transaction_read_only =-#1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout to '9223372036854775807ns';
+/set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'/;
+set default_transaction_read_only = 1/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/'9223372036854775807ns';
+set default_transaction_read_only =/1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout to '9223372036854775807ns';
+\set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'\;
+set default_transaction_read_only = 1\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to\'9223372036854775807ns';
+set default_transaction_read_only =\1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout to '9223372036854775807ns';
+?set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'?;
+set default_transaction_read_only = 1?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to?'9223372036854775807ns';
+set default_transaction_read_only =?1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout to '9223372036854775807ns';
+-/set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'-/;
+set default_transaction_read_only = 1-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to-/'9223372036854775807ns';
+set default_transaction_read_only =-/1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout to '9223372036854775807ns';
+/#set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'/#;
+set default_transaction_read_only = 1/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/#'9223372036854775807ns';
+set default_transaction_read_only =/#1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout to '9223372036854775807ns';
+/-set default_transaction_read_only = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to '9223372036854775807ns'/-;
+set default_transaction_read_only = 1/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout to/-'9223372036854775807ns';
+set default_transaction_read_only =/-1;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
-SET TRANSACTION READ ONLY;
+SET DEFAULT_TRANSACTION_READ_ONLY = 0;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
- set transaction read only;
+ set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
- set transaction read only;
+ set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only ;
+set default_transaction_read_only = 0 ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only ;
+set default_transaction_read_only = 0 ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only
+set default_transaction_read_only = 0
;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
set
-transaction
-read
-only;
+default_transaction_read_only
+=
+0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set transaction read only;
+foo set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only bar;
+set default_transaction_read_only = 0 bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set transaction read only;
+%set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only%;
+set default_transaction_read_only = 0%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read%only;
+set default_transaction_read_only =%0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set transaction read only;
+_set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only_;
+set default_transaction_read_only = 0_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read_only;
+set default_transaction_read_only =_0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set transaction read only;
+&set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only&;
+set default_transaction_read_only = 0&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read&only;
+set default_transaction_read_only =&0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set transaction read only;
+$set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only$;
+set default_transaction_read_only = 0$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read$only;
+set default_transaction_read_only =$0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set transaction read only;
+@set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only@;
+set default_transaction_read_only = 0@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read@only;
+set default_transaction_read_only =@0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set transaction read only;
+!set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only!;
+set default_transaction_read_only = 0!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read!only;
+set default_transaction_read_only =!0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set transaction read only;
+*set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only*;
+set default_transaction_read_only = 0*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read*only;
+set default_transaction_read_only =*0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set transaction read only;
+(set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only(;
+set default_transaction_read_only = 0(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read(only;
+set default_transaction_read_only =(0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set transaction read only;
+)set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only);
+set default_transaction_read_only = 0);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read)only;
+set default_transaction_read_only =)0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set transaction read only;
+-set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only-;
+set default_transaction_read_only = 0-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-only;
+set default_transaction_read_only =-0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set transaction read only;
++set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only+;
+set default_transaction_read_only = 0+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read+only;
+set default_transaction_read_only =+0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set transaction read only;
+-#set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only-#;
+set default_transaction_read_only = 0-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-#only;
+set default_transaction_read_only =-#0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set transaction read only;
+/set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only/;
+set default_transaction_read_only = 0/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/only;
+set default_transaction_read_only =/0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set transaction read only;
+\set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only\;
+set default_transaction_read_only = 0\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read\only;
+set default_transaction_read_only =\0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set transaction read only;
+?set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only?;
+set default_transaction_read_only = 0?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read?only;
+set default_transaction_read_only =?0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set transaction read only;
+-/set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only-/;
+set default_transaction_read_only = 0-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-/only;
+set default_transaction_read_only =-/0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set transaction read only;
+/#set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only/#;
+set default_transaction_read_only = 0/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/#only;
+set default_transaction_read_only =/#0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set transaction read only;
+/-set default_transaction_read_only = 0;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only/-;
+set default_transaction_read_only = 0/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/-only;
+set default_transaction_read_only =/-0;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
-SET TRANSACTION READ WRITE;
+SET DEFAULT_TRANSACTION_READ_ONLY = YES;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
- set transaction read write;
+ set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
- set transaction read write;
+ set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write ;
+set default_transaction_read_only = yes ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write ;
+set default_transaction_read_only = yes ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write
+set default_transaction_read_only = yes
;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
set
-transaction
-read
-write;
+default_transaction_read_only
+=
+yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set transaction read write;
+foo set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write bar;
+set default_transaction_read_only = yes bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set transaction read write;
+%set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write%;
+set default_transaction_read_only = yes%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read%write;
+set default_transaction_read_only =%yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set transaction read write;
+_set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write_;
+set default_transaction_read_only = yes_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read_write;
+set default_transaction_read_only =_yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set transaction read write;
+&set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write&;
+set default_transaction_read_only = yes&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read&write;
+set default_transaction_read_only =&yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set transaction read write;
+$set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write$;
+set default_transaction_read_only = yes$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read$write;
+set default_transaction_read_only =$yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set transaction read write;
+@set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write@;
+set default_transaction_read_only = yes@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read@write;
+set default_transaction_read_only =@yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set transaction read write;
+!set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write!;
+set default_transaction_read_only = yes!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read!write;
+set default_transaction_read_only =!yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set transaction read write;
+*set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write*;
+set default_transaction_read_only = yes*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read*write;
+set default_transaction_read_only =*yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set transaction read write;
+(set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write(;
+set default_transaction_read_only = yes(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read(write;
+set default_transaction_read_only =(yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set transaction read write;
+)set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write);
+set default_transaction_read_only = yes);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read)write;
+set default_transaction_read_only =)yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set transaction read write;
+-set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write-;
+set default_transaction_read_only = yes-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-write;
+set default_transaction_read_only =-yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set transaction read write;
++set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write+;
+set default_transaction_read_only = yes+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read+write;
+set default_transaction_read_only =+yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set transaction read write;
+-#set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write-#;
+set default_transaction_read_only = yes-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-#write;
+set default_transaction_read_only =-#yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set transaction read write;
+/set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write/;
+set default_transaction_read_only = yes/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/write;
+set default_transaction_read_only =/yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set transaction read write;
+\set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write\;
+set default_transaction_read_only = yes\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read\write;
+set default_transaction_read_only =\yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set transaction read write;
+?set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write?;
+set default_transaction_read_only = yes?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read?write;
+set default_transaction_read_only =?yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set transaction read write;
+-/set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write-/;
+set default_transaction_read_only = yes-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-/write;
+set default_transaction_read_only =-/yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set transaction read write;
+/#set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write/#;
+set default_transaction_read_only = yes/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/#write;
+set default_transaction_read_only =/#yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set transaction read write;
+/-set default_transaction_read_only = yes;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write/-;
+set default_transaction_read_only = yes/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/-write;
+set default_transaction_read_only =/-yes;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level default;
+set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
-SET TRANSACTION ISOLATION LEVEL DEFAULT;
+SET DEFAULT_TRANSACTION_READ_ONLY = NO;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level default;
+set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
- set transaction isolation level default;
+ set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
- set transaction isolation level default;
+ set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level default;
+set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level default ;
+set default_transaction_read_only = no ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level default ;
+set default_transaction_read_only = no ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level default
+set default_transaction_read_only = no
;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level default;
+set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level default;
+set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
set
-transaction
-isolation
-level
-default;
+default_transaction_read_only
+=
+no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set transaction isolation level default;
+foo set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default bar;
+set default_transaction_read_only = no bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set transaction isolation level default;
+%set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default%;
+set default_transaction_read_only = no%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level%default;
+set default_transaction_read_only =%no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set transaction isolation level default;
+_set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default_;
+set default_transaction_read_only = no_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level_default;
+set default_transaction_read_only =_no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set transaction isolation level default;
+&set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default&;
+set default_transaction_read_only = no&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level&default;
+set default_transaction_read_only =&no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set transaction isolation level default;
+$set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default$;
+set default_transaction_read_only = no$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level$default;
+set default_transaction_read_only =$no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set transaction isolation level default;
+@set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default@;
+set default_transaction_read_only = no@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level@default;
+set default_transaction_read_only =@no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set transaction isolation level default;
+!set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default!;
+set default_transaction_read_only = no!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level!default;
+set default_transaction_read_only =!no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set transaction isolation level default;
+*set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default*;
+set default_transaction_read_only = no*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level*default;
+set default_transaction_read_only =*no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set transaction isolation level default;
+(set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default(;
+set default_transaction_read_only = no(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level(default;
+set default_transaction_read_only =(no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set transaction isolation level default;
+)set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default);
+set default_transaction_read_only = no);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level)default;
+set default_transaction_read_only =)no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set transaction isolation level default;
+-set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default-;
+set default_transaction_read_only = no-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level-default;
+set default_transaction_read_only =-no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set transaction isolation level default;
++set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default+;
+set default_transaction_read_only = no+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level+default;
+set default_transaction_read_only =+no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set transaction isolation level default;
+-#set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default-#;
+set default_transaction_read_only = no-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level-#default;
+set default_transaction_read_only =-#no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set transaction isolation level default;
+/set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default/;
+set default_transaction_read_only = no/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level/default;
+set default_transaction_read_only =/no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set transaction isolation level default;
+\set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default\;
+set default_transaction_read_only = no\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level\default;
+set default_transaction_read_only =\no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set transaction isolation level default;
+?set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default?;
+set default_transaction_read_only = no?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level?default;
+set default_transaction_read_only =?no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set transaction isolation level default;
+-/set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default-/;
+set default_transaction_read_only = no-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level-/default;
+set default_transaction_read_only =-/no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set transaction isolation level default;
+/#set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default/#;
+set default_transaction_read_only = no/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level/#default;
+set default_transaction_read_only =/#no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set transaction isolation level default;
+/-set default_transaction_read_only = no;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level default/-;
+set default_transaction_read_only = no/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level/-default;
+set default_transaction_read_only =/-no;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level serializable;
+set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
-SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+SET DEFAULT_TRANSACTION_READ_ONLY = Y;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level serializable;
+set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
- set transaction isolation level serializable;
+ set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
- set transaction isolation level serializable;
+ set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level serializable;
+set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level serializable ;
+set default_transaction_read_only = y ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level serializable ;
+set default_transaction_read_only = y ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level serializable
+set default_transaction_read_only = y
;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level serializable;
+set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
-set transaction isolation level serializable;
+set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
set
-transaction
-isolation
-level
-serializable;
+default_transaction_read_only
+=
+y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set transaction isolation level serializable;
+foo set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable bar;
+set default_transaction_read_only = y bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set transaction isolation level serializable;
+%set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable%;
+set default_transaction_read_only = y%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level%serializable;
+set default_transaction_read_only =%y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set transaction isolation level serializable;
+_set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable_;
+set default_transaction_read_only = y_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level_serializable;
+set default_transaction_read_only =_y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set transaction isolation level serializable;
+&set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable&;
+set default_transaction_read_only = y&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level&serializable;
+set default_transaction_read_only =&y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set transaction isolation level serializable;
+$set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable$;
+set default_transaction_read_only = y$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level$serializable;
+set default_transaction_read_only =$y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set transaction isolation level serializable;
+@set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable@;
+set default_transaction_read_only = y@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level@serializable;
+set default_transaction_read_only =@y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set transaction isolation level serializable;
+!set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable!;
+set default_transaction_read_only = y!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level!serializable;
+set default_transaction_read_only =!y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set transaction isolation level serializable;
+*set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable*;
+set default_transaction_read_only = y*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level*serializable;
+set default_transaction_read_only =*y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set transaction isolation level serializable;
+(set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable(;
+set default_transaction_read_only = y(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level(serializable;
+set default_transaction_read_only =(y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set transaction isolation level serializable;
+)set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable);
+set default_transaction_read_only = y);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level)serializable;
+set default_transaction_read_only =)y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set transaction isolation level serializable;
+-set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable-;
+set default_transaction_read_only = y-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level-serializable;
+set default_transaction_read_only =-y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set transaction isolation level serializable;
++set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable+;
+set default_transaction_read_only = y+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level+serializable;
+set default_transaction_read_only =+y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set transaction isolation level serializable;
+-#set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable-#;
+set default_transaction_read_only = y-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level-#serializable;
+set default_transaction_read_only =-#y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set transaction isolation level serializable;
+/set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable/;
+set default_transaction_read_only = y/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level/serializable;
+set default_transaction_read_only =/y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set transaction isolation level serializable;
+\set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable\;
+set default_transaction_read_only = y\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level\serializable;
+set default_transaction_read_only =\y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set transaction isolation level serializable;
+?set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable?;
+set default_transaction_read_only = y?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level?serializable;
+set default_transaction_read_only =?y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set transaction isolation level serializable;
+-/set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable-/;
+set default_transaction_read_only = y-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level-/serializable;
+set default_transaction_read_only =-/y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set transaction isolation level serializable;
+/#set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable/#;
+set default_transaction_read_only = y/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level/#serializable;
+set default_transaction_read_only =/#y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set transaction isolation level serializable;
+/-set default_transaction_read_only = y;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level serializable/-;
+set default_transaction_read_only = y/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction isolation level/-serializable;
+set default_transaction_read_only =/-y;
NEW_CONNECTION;
-set session characteristics as transaction read only;
+set default_transaction_read_only = n;
NEW_CONNECTION;
-SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;
+SET DEFAULT_TRANSACTION_READ_ONLY = N;
NEW_CONNECTION;
-set session characteristics as transaction read only;
+set default_transaction_read_only = n;
NEW_CONNECTION;
- set session characteristics as transaction read only;
+ set default_transaction_read_only = n;
NEW_CONNECTION;
- set session characteristics as transaction read only;
+ set default_transaction_read_only = n;
NEW_CONNECTION;
-set session characteristics as transaction read only;
+set default_transaction_read_only = n;
NEW_CONNECTION;
-set session characteristics as transaction read only ;
+set default_transaction_read_only = n ;
NEW_CONNECTION;
-set session characteristics as transaction read only ;
+set default_transaction_read_only = n ;
NEW_CONNECTION;
-set session characteristics as transaction read only
+set default_transaction_read_only = n
;
NEW_CONNECTION;
-set session characteristics as transaction read only;
+set default_transaction_read_only = n;
NEW_CONNECTION;
-set session characteristics as transaction read only;
+set default_transaction_read_only = n;
NEW_CONNECTION;
set
-session
-characteristics
-as
-transaction
-read
-only;
+default_transaction_read_only
+=
+n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set session characteristics as transaction read only;
+foo set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only bar;
+set default_transaction_read_only = n bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set session characteristics as transaction read only;
+%set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only%;
+set default_transaction_read_only = n%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read%only;
+set default_transaction_read_only =%n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set session characteristics as transaction read only;
+_set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only_;
+set default_transaction_read_only = n_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read_only;
+set default_transaction_read_only =_n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set session characteristics as transaction read only;
+&set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only&;
+set default_transaction_read_only = n&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read&only;
+set default_transaction_read_only =&n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set session characteristics as transaction read only;
+$set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only$;
+set default_transaction_read_only = n$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read$only;
+set default_transaction_read_only =$n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set session characteristics as transaction read only;
+@set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only@;
+set default_transaction_read_only = n@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read@only;
+set default_transaction_read_only =@n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set session characteristics as transaction read only;
+!set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only!;
+set default_transaction_read_only = n!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read!only;
+set default_transaction_read_only =!n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set session characteristics as transaction read only;
+*set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only*;
+set default_transaction_read_only = n*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read*only;
+set default_transaction_read_only =*n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set session characteristics as transaction read only;
+(set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only(;
+set default_transaction_read_only = n(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read(only;
+set default_transaction_read_only =(n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set session characteristics as transaction read only;
+)set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only);
+set default_transaction_read_only = n);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read)only;
+set default_transaction_read_only =)n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set session characteristics as transaction read only;
+-set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only-;
+set default_transaction_read_only = n-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read-only;
+set default_transaction_read_only =-n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set session characteristics as transaction read only;
++set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only+;
+set default_transaction_read_only = n+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read+only;
+set default_transaction_read_only =+n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set session characteristics as transaction read only;
+-#set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only-#;
+set default_transaction_read_only = n-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read-#only;
+set default_transaction_read_only =-#n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set session characteristics as transaction read only;
+/set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only/;
+set default_transaction_read_only = n/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read/only;
+set default_transaction_read_only =/n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set session characteristics as transaction read only;
+\set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only\;
+set default_transaction_read_only = n\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read\only;
+set default_transaction_read_only =\n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set session characteristics as transaction read only;
+?set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only?;
+set default_transaction_read_only = n?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read?only;
+set default_transaction_read_only =?n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set session characteristics as transaction read only;
+-/set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only-/;
+set default_transaction_read_only = n-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read-/only;
+set default_transaction_read_only =-/n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set session characteristics as transaction read only;
+/#set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only/#;
+set default_transaction_read_only = n/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read/#only;
+set default_transaction_read_only =/#n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set session characteristics as transaction read only;
+/-set default_transaction_read_only = n;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read only/-;
+set default_transaction_read_only = n/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read/-only;
+set default_transaction_read_only =/-n;
NEW_CONNECTION;
-set session characteristics as transaction read write;
+set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
-SET SESSION CHARACTERISTICS AS TRANSACTION READ WRITE;
+SET SPANNER.READ_ONLY_STALENESS='STRONG';
NEW_CONNECTION;
-set session characteristics as transaction read write;
+set spanner.read_only_staleness='strong';
NEW_CONNECTION;
- set session characteristics as transaction read write;
+ set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
- set session characteristics as transaction read write;
+ set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
-set session characteristics as transaction read write;
+set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
-set session characteristics as transaction read write ;
+set spanner.read_only_staleness='STRONG' ;
NEW_CONNECTION;
-set session characteristics as transaction read write ;
+set spanner.read_only_staleness='STRONG' ;
NEW_CONNECTION;
-set session characteristics as transaction read write
+set spanner.read_only_staleness='STRONG'
;
NEW_CONNECTION;
-set session characteristics as transaction read write;
+set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
-set session characteristics as transaction read write;
+set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
set
-session
-characteristics
-as
-transaction
-read
-write;
+spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set session characteristics as transaction read write;
+foo set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write bar;
+set spanner.read_only_staleness='STRONG' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set session characteristics as transaction read write;
+%set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write%;
+set spanner.read_only_staleness='STRONG'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read%write;
+set%spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set session characteristics as transaction read write;
+_set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write_;
+set spanner.read_only_staleness='STRONG'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read_write;
+set_spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set session characteristics as transaction read write;
+&set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write&;
+set spanner.read_only_staleness='STRONG'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read&write;
+set&spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set session characteristics as transaction read write;
+$set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write$;
+set spanner.read_only_staleness='STRONG'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read$write;
+set$spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set session characteristics as transaction read write;
+@set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write@;
+set spanner.read_only_staleness='STRONG'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read@write;
+set@spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set session characteristics as transaction read write;
+!set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write!;
+set spanner.read_only_staleness='STRONG'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read!write;
+set!spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set session characteristics as transaction read write;
+*set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write*;
+set spanner.read_only_staleness='STRONG'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read*write;
+set*spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set session characteristics as transaction read write;
+(set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write(;
+set spanner.read_only_staleness='STRONG'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read(write;
+set(spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set session characteristics as transaction read write;
+)set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write);
+set spanner.read_only_staleness='STRONG');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read)write;
+set)spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set session characteristics as transaction read write;
+-set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write-;
+set spanner.read_only_staleness='STRONG'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read-write;
+set-spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set session characteristics as transaction read write;
++set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write+;
+set spanner.read_only_staleness='STRONG'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read+write;
+set+spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set session characteristics as transaction read write;
+-#set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write-#;
+set spanner.read_only_staleness='STRONG'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read-#write;
+set-#spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set session characteristics as transaction read write;
+/set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write/;
+set spanner.read_only_staleness='STRONG'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read/write;
+set/spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set session characteristics as transaction read write;
+\set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write\;
+set spanner.read_only_staleness='STRONG'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read\write;
+set\spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set session characteristics as transaction read write;
+?set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write?;
+set spanner.read_only_staleness='STRONG'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read?write;
+set?spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set session characteristics as transaction read write;
+-/set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write-/;
+set spanner.read_only_staleness='STRONG'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read-/write;
+set-/spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set session characteristics as transaction read write;
+/#set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write/#;
+set spanner.read_only_staleness='STRONG'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read/#write;
+set/#spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set session characteristics as transaction read write;
+/-set spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read write/-;
+set spanner.read_only_staleness='STRONG'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction read/-write;
+set/-spanner.read_only_staleness='STRONG';
NEW_CONNECTION;
-set session characteristics as transaction isolation level default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL DEFAULT;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set session characteristics as transaction isolation level default;
+set spanner.read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123-08:00';
NEW_CONNECTION;
- set session characteristics as transaction isolation level default;
+ set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
- set session characteristics as transaction isolation level default;
+ set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set session characteristics as transaction isolation level default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set session characteristics as transaction isolation level default ;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
NEW_CONNECTION;
-set session characteristics as transaction isolation level default ;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
NEW_CONNECTION;
-set session characteristics as transaction isolation level default
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'
;
NEW_CONNECTION;
-set session characteristics as transaction isolation level default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set session characteristics as transaction isolation level default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
set
-session
-characteristics
-as
-transaction
-isolation
-level
-default;
+spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set session characteristics as transaction isolation level default;
+foo set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default bar;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set session characteristics as transaction isolation level default;
+%set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default%;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level%default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set session characteristics as transaction isolation level default;
+_set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default_;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level_default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set session characteristics as transaction isolation level default;
+&set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default&;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level&default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set session characteristics as transaction isolation level default;
+$set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default$;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level$default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set session characteristics as transaction isolation level default;
+@set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default@;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level@default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set session characteristics as transaction isolation level default;
+!set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default!;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level!default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set session characteristics as transaction isolation level default;
+*set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default*;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level*default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set session characteristics as transaction isolation level default;
+(set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default(;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level(default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set session characteristics as transaction isolation level default;
+)set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default);
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level)default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set session characteristics as transaction isolation level default;
+-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default-;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level-default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set session characteristics as transaction isolation level default;
++set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default+;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level+default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set session characteristics as transaction isolation level default;
+-#set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default-#;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level-#default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set session characteristics as transaction isolation level default;
+/set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default/;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level/default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set session characteristics as transaction isolation level default;
+\set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default\;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level\default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set session characteristics as transaction isolation level default;
+?set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default?;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level?default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set session characteristics as transaction isolation level default;
+-/set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default-/;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level-/default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set session characteristics as transaction isolation level default;
+/#set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default/#;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level/#default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set session characteristics as transaction isolation level default;
+/-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level default/-;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level/-default;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set session characteristics as transaction isolation level serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set session characteristics as transaction isolation level serializable;
+set spanner.read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123z';
NEW_CONNECTION;
- set session characteristics as transaction isolation level serializable;
+ set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
- set session characteristics as transaction isolation level serializable;
+ set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set session characteristics as transaction isolation level serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set session characteristics as transaction isolation level serializable ;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
NEW_CONNECTION;
-set session characteristics as transaction isolation level serializable ;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
NEW_CONNECTION;
-set session characteristics as transaction isolation level serializable
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'
;
NEW_CONNECTION;
-set session characteristics as transaction isolation level serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set session characteristics as transaction isolation level serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
set
-session
-characteristics
-as
-transaction
-isolation
-level
-serializable;
+spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set session characteristics as transaction isolation level serializable;
+foo set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable bar;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set session characteristics as transaction isolation level serializable;
+%set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable%;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level%serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set session characteristics as transaction isolation level serializable;
+_set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable_;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level_serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set session characteristics as transaction isolation level serializable;
+&set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable&;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level&serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set session characteristics as transaction isolation level serializable;
+$set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable$;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level$serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set session characteristics as transaction isolation level serializable;
+@set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable@;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level@serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set session characteristics as transaction isolation level serializable;
+!set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable!;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level!serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set session characteristics as transaction isolation level serializable;
+*set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable*;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level*serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set session characteristics as transaction isolation level serializable;
+(set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable(;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level(serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set session characteristics as transaction isolation level serializable;
+)set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable);
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level)serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set session characteristics as transaction isolation level serializable;
+-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable-;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level-serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set session characteristics as transaction isolation level serializable;
++set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable+;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level+serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set session characteristics as transaction isolation level serializable;
+-#set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable-#;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level-#serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set session characteristics as transaction isolation level serializable;
+/set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable/;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level/serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set session characteristics as transaction isolation level serializable;
+\set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable\;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level\serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set session characteristics as transaction isolation level serializable;
+?set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable?;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level?serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set session characteristics as transaction isolation level serializable;
+-/set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable-/;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level-/serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set session characteristics as transaction isolation level serializable;
+/#set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable/#;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level/#serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set session characteristics as transaction isolation level serializable;
+/-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level serializable/-;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set session characteristics as transaction isolation level/-serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_ISOLATION=SERIALIZABLE;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set default_transaction_isolation=serializable;
+set spanner.read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123+07:45';
NEW_CONNECTION;
- set default_transaction_isolation=serializable;
+ set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
- set default_transaction_isolation=serializable;
+ set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set default_transaction_isolation=serializable ;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
NEW_CONNECTION;
-set default_transaction_isolation=serializable ;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
NEW_CONNECTION;
-set default_transaction_isolation=serializable
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'
;
NEW_CONNECTION;
-set default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
set
-default_transaction_isolation=serializable;
+spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_isolation=serializable;
+foo set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable bar;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_isolation=serializable;
+%set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable%;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_isolation=serializable;
+_set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable_;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_isolation=serializable;
+&set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable&;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_isolation=serializable;
+$set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable$;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_isolation=serializable;
+@set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable@;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_isolation=serializable;
+!set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable!;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_isolation=serializable;
+*set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable*;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_isolation=serializable;
+(set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable(;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_isolation=serializable;
+)set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable);
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_isolation=serializable;
+-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable-;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_isolation=serializable;
++set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable+;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_isolation=serializable;
+-#set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable-#;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_isolation=serializable;
+/set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable/;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_isolation=serializable;
+\set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable\;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_isolation=serializable;
+?set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable?;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_isolation=serializable;
+-/set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable-/;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_isolation=serializable;
+/#set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable/#;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_isolation=serializable;
+/-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable/-;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-default_transaction_isolation=serializable;
+set spanner.read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set default_transaction_isolation to serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_ISOLATION TO SERIALIZABLE;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set default_transaction_isolation to serializable;
+set spanner.read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321-07:00';
NEW_CONNECTION;
- set default_transaction_isolation to serializable;
+ set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
- set default_transaction_isolation to serializable;
+ set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set default_transaction_isolation to serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set default_transaction_isolation to serializable ;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
NEW_CONNECTION;
-set default_transaction_isolation to serializable ;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
NEW_CONNECTION;
-set default_transaction_isolation to serializable
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'
;
NEW_CONNECTION;
-set default_transaction_isolation to serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set default_transaction_isolation to serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
set
-default_transaction_isolation
-to
-serializable;
+spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_isolation to serializable;
+foo set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable bar;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_isolation to serializable;
+%set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable%;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to%serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_isolation to serializable;
+_set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable_;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to_serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_isolation to serializable;
+&set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable&;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to&serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_isolation to serializable;
+$set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable$;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to$serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_isolation to serializable;
+@set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable@;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to@serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_isolation to serializable;
+!set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable!;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to!serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_isolation to serializable;
+*set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable*;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to*serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_isolation to serializable;
+(set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable(;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to(serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_isolation to serializable;
+)set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable);
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to)serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_isolation to serializable;
+-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable-;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to-serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_isolation to serializable;
++set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable+;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to+serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_isolation to serializable;
+-#set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable-#;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to-#serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_isolation to serializable;
+/set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable/;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to/serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_isolation to serializable;
+\set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable\;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to\serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_isolation to serializable;
+?set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable?;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to?serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_isolation to serializable;
+-/set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable-/;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to-/serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_isolation to serializable;
+/#set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable/#;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to/#serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_isolation to serializable;
+/-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to serializable/-;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to/-serializable;
+set spanner.read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set default_transaction_isolation to 'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_ISOLATION TO 'SERIALIZABLE';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set default_transaction_isolation to 'serializable';
+set spanner.read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321z';
NEW_CONNECTION;
- set default_transaction_isolation to 'serializable';
+ set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
- set default_transaction_isolation to 'serializable';
+ set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set default_transaction_isolation to 'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set default_transaction_isolation to 'serializable' ;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
NEW_CONNECTION;
-set default_transaction_isolation to 'serializable' ;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
NEW_CONNECTION;
-set default_transaction_isolation to 'serializable'
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'
;
NEW_CONNECTION;
-set default_transaction_isolation to 'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set default_transaction_isolation to 'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
set
-default_transaction_isolation
-to
-'serializable';
+spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_isolation to 'serializable';
+foo set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable' bar;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_isolation to 'serializable';
+%set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'%;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to%'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_isolation to 'serializable';
+_set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'_;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to_'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_isolation to 'serializable';
+&set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'&;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to&'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_isolation to 'serializable';
+$set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'$;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to$'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_isolation to 'serializable';
+@set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'@;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to@'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_isolation to 'serializable';
+!set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'!;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to!'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_isolation to 'serializable';
+*set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'*;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to*'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_isolation to 'serializable';
+(set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'(;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to('serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_isolation to 'serializable';
+)set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable');
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to)'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_isolation to 'serializable';
+-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'-;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to-'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_isolation to 'serializable';
++set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'+;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to+'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_isolation to 'serializable';
+-#set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'-#;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to-#'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_isolation to 'serializable';
+/set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'/;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to/'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_isolation to 'serializable';
+\set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'\;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to\'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_isolation to 'serializable';
+?set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'?;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to?'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_isolation to 'serializable';
+-/set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'-/;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to-/'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_isolation to 'serializable';
+/#set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'/#;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to/#'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_isolation to 'serializable';
+/-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to 'serializable'/-;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to/-'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set default_transaction_isolation = 'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_ISOLATION = 'SERIALIZABLE';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set default_transaction_isolation = 'serializable';
+set spanner.read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321+05:30';
NEW_CONNECTION;
- set default_transaction_isolation = 'serializable';
+ set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
- set default_transaction_isolation = 'serializable';
+ set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set default_transaction_isolation = 'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set default_transaction_isolation = 'serializable' ;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
NEW_CONNECTION;
-set default_transaction_isolation = 'serializable' ;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
NEW_CONNECTION;
-set default_transaction_isolation = 'serializable'
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'
;
NEW_CONNECTION;
-set default_transaction_isolation = 'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set default_transaction_isolation = 'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
set
-default_transaction_isolation
-=
-'serializable';
+spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_isolation = 'serializable';
+foo set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable' bar;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_isolation = 'serializable';
+%set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'%;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =%'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_isolation = 'serializable';
+_set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'_;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =_'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_isolation = 'serializable';
+&set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'&;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =&'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_isolation = 'serializable';
+$set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'$;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =$'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_isolation = 'serializable';
+@set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'@;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =@'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_isolation = 'serializable';
+!set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'!;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =!'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_isolation = 'serializable';
+*set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'*;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =*'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_isolation = 'serializable';
+(set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'(;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =('serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_isolation = 'serializable';
+)set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable');
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =)'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_isolation = 'serializable';
+-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'-;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =-'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_isolation = 'serializable';
++set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'+;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =+'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_isolation = 'serializable';
+-#set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'-#;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =-#'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_isolation = 'serializable';
+/set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'/;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =/'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_isolation = 'serializable';
+\set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'\;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =\'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_isolation = 'serializable';
+?set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'?;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =?'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_isolation = 'serializable';
+-/set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'-/;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =-/'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_isolation = 'serializable';
+/#set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'/#;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =/#'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_isolation = 'serializable';
+/-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = 'serializable'/-;
+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =/-'serializable';
+set spanner.read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set default_transaction_isolation = "SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_ISOLATION = "SERIALIZABLE";
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 12S';
NEW_CONNECTION;
-set default_transaction_isolation = "serializable";
+set spanner.read_only_staleness='max_staleness 12s';
NEW_CONNECTION;
- set default_transaction_isolation = "SERIALIZABLE";
+ set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
- set default_transaction_isolation = "SERIALIZABLE";
+ set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
-set default_transaction_isolation = "SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
-set default_transaction_isolation = "SERIALIZABLE" ;
+set spanner.read_only_staleness='MAX_STALENESS 12s' ;
NEW_CONNECTION;
-set default_transaction_isolation = "SERIALIZABLE" ;
+set spanner.read_only_staleness='MAX_STALENESS 12s' ;
NEW_CONNECTION;
-set default_transaction_isolation = "SERIALIZABLE"
+set spanner.read_only_staleness='MAX_STALENESS 12s'
;
NEW_CONNECTION;
-set default_transaction_isolation = "SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
-set default_transaction_isolation = "SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
set
-default_transaction_isolation
-=
-"SERIALIZABLE";
+spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_isolation = "SERIALIZABLE";
+foo set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE" bar;
+set spanner.read_only_staleness='MAX_STALENESS 12s' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_isolation = "SERIALIZABLE";
+%set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"%;
+set spanner.read_only_staleness='MAX_STALENESS 12s'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =%"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS%12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_isolation = "SERIALIZABLE";
+_set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"_;
+set spanner.read_only_staleness='MAX_STALENESS 12s'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =_"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS_12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_isolation = "SERIALIZABLE";
+&set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"&;
+set spanner.read_only_staleness='MAX_STALENESS 12s'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =&"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS&12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_isolation = "SERIALIZABLE";
+$set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"$;
+set spanner.read_only_staleness='MAX_STALENESS 12s'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =$"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS$12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_isolation = "SERIALIZABLE";
+@set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"@;
+set spanner.read_only_staleness='MAX_STALENESS 12s'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =@"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS@12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_isolation = "SERIALIZABLE";
+!set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"!;
+set spanner.read_only_staleness='MAX_STALENESS 12s'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =!"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS!12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_isolation = "SERIALIZABLE";
+*set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"*;
+set spanner.read_only_staleness='MAX_STALENESS 12s'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =*"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS*12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_isolation = "SERIALIZABLE";
+(set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"(;
+set spanner.read_only_staleness='MAX_STALENESS 12s'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =("SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS(12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_isolation = "SERIALIZABLE";
+)set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE");
+set spanner.read_only_staleness='MAX_STALENESS 12s');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =)"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS)12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_isolation = "SERIALIZABLE";
+-set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"-;
+set spanner.read_only_staleness='MAX_STALENESS 12s'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =-"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS-12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_isolation = "SERIALIZABLE";
++set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"+;
+set spanner.read_only_staleness='MAX_STALENESS 12s'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =+"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS+12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_isolation = "SERIALIZABLE";
+-#set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"-#;
+set spanner.read_only_staleness='MAX_STALENESS 12s'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =-#"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS-#12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_isolation = "SERIALIZABLE";
+/set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"/;
+set spanner.read_only_staleness='MAX_STALENESS 12s'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =/"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS/12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_isolation = "SERIALIZABLE";
+\set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"\;
+set spanner.read_only_staleness='MAX_STALENESS 12s'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =\"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS\12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_isolation = "SERIALIZABLE";
+?set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"?;
+set spanner.read_only_staleness='MAX_STALENESS 12s'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =?"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS?12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_isolation = "SERIALIZABLE";
+-/set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"-/;
+set spanner.read_only_staleness='MAX_STALENESS 12s'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =-/"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS-/12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_isolation = "SERIALIZABLE";
+/#set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"/#;
+set spanner.read_only_staleness='MAX_STALENESS 12s'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =/#"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS/#12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_isolation = "SERIALIZABLE";
+/-set spanner.read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = "SERIALIZABLE"/-;
+set spanner.read_only_staleness='MAX_STALENESS 12s'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =/-"SERIALIZABLE";
+set spanner.read_only_staleness='MAX_STALENESS/-12s';
NEW_CONNECTION;
-set default_transaction_isolation = DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_ISOLATION = DEFAULT;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100MS';
NEW_CONNECTION;
-set default_transaction_isolation = default;
+set spanner.read_only_staleness='max_staleness 100ms';
NEW_CONNECTION;
- set default_transaction_isolation = DEFAULT;
+ set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
- set default_transaction_isolation = DEFAULT;
+ set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
-set default_transaction_isolation = DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
-set default_transaction_isolation = DEFAULT ;
+set spanner.read_only_staleness='MAX_STALENESS 100ms' ;
NEW_CONNECTION;
-set default_transaction_isolation = DEFAULT ;
+set spanner.read_only_staleness='MAX_STALENESS 100ms' ;
NEW_CONNECTION;
-set default_transaction_isolation = DEFAULT
+set spanner.read_only_staleness='MAX_STALENESS 100ms'
;
NEW_CONNECTION;
-set default_transaction_isolation = DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
-set default_transaction_isolation = DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
set
-default_transaction_isolation
-=
-DEFAULT;
+spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_isolation = DEFAULT;
+foo set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT bar;
+set spanner.read_only_staleness='MAX_STALENESS 100ms' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_isolation = DEFAULT;
+%set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT%;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =%DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS%100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_isolation = DEFAULT;
+_set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT_;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =_DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS_100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_isolation = DEFAULT;
+&set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT&;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =&DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS&100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_isolation = DEFAULT;
+$set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT$;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =$DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS$100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_isolation = DEFAULT;
+@set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT@;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =@DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS@100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_isolation = DEFAULT;
+!set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT!;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =!DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS!100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_isolation = DEFAULT;
+*set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT*;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =*DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS*100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_isolation = DEFAULT;
+(set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT(;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =(DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS(100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_isolation = DEFAULT;
+)set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT);
+set spanner.read_only_staleness='MAX_STALENESS 100ms');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =)DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS)100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_isolation = DEFAULT;
+-set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT-;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =-DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS-100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_isolation = DEFAULT;
++set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT+;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =+DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS+100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_isolation = DEFAULT;
+-#set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT-#;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =-#DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS-#100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_isolation = DEFAULT;
+/set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT/;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =/DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS/100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_isolation = DEFAULT;
+\set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT\;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =\DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS\100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_isolation = DEFAULT;
+?set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT?;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =?DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS?100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_isolation = DEFAULT;
+-/set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT-/;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =-/DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS-/100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_isolation = DEFAULT;
+/#set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT/#;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =/#DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS/#100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_isolation = DEFAULT;
+/-set spanner.read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation = DEFAULT/-;
+set spanner.read_only_staleness='MAX_STALENESS 100ms'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation =/-DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS/-100ms';
NEW_CONNECTION;
-set default_transaction_isolation to DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_ISOLATION TO DEFAULT;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 99999US';
NEW_CONNECTION;
-set default_transaction_isolation to default;
+set spanner.read_only_staleness='max_staleness 99999us';
NEW_CONNECTION;
- set default_transaction_isolation to DEFAULT;
+ set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
- set default_transaction_isolation to DEFAULT;
+ set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
-set default_transaction_isolation to DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
-set default_transaction_isolation to DEFAULT ;
+set spanner.read_only_staleness='MAX_STALENESS 99999us' ;
NEW_CONNECTION;
-set default_transaction_isolation to DEFAULT ;
+set spanner.read_only_staleness='MAX_STALENESS 99999us' ;
NEW_CONNECTION;
-set default_transaction_isolation to DEFAULT
+set spanner.read_only_staleness='MAX_STALENESS 99999us'
;
NEW_CONNECTION;
-set default_transaction_isolation to DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
-set default_transaction_isolation to DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
set
-default_transaction_isolation
-to
-DEFAULT;
+spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_isolation to DEFAULT;
+foo set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT bar;
+set spanner.read_only_staleness='MAX_STALENESS 99999us' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_isolation to DEFAULT;
+%set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT%;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to%DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS%99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_isolation to DEFAULT;
+_set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT_;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to_DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS_99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_isolation to DEFAULT;
+&set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT&;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to&DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS&99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_isolation to DEFAULT;
+$set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT$;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to$DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS$99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_isolation to DEFAULT;
+@set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT@;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to@DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS@99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_isolation to DEFAULT;
+!set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT!;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to!DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS!99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_isolation to DEFAULT;
+*set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT*;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to*DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS*99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_isolation to DEFAULT;
+(set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT(;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to(DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS(99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_isolation to DEFAULT;
+)set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT);
+set spanner.read_only_staleness='MAX_STALENESS 99999us');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to)DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS)99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_isolation to DEFAULT;
+-set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT-;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to-DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS-99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_isolation to DEFAULT;
++set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT+;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to+DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS+99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_isolation to DEFAULT;
+-#set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT-#;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to-#DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS-#99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_isolation to DEFAULT;
+/set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT/;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to/DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS/99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_isolation to DEFAULT;
+\set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT\;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to\DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS\99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_isolation to DEFAULT;
+?set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT?;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to?DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS?99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_isolation to DEFAULT;
+-/set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT-/;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to-/DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS-/99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_isolation to DEFAULT;
+/#set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT/#;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to/#DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS/#99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_isolation to DEFAULT;
+/-set spanner.read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to DEFAULT/-;
+set spanner.read_only_staleness='MAX_STALENESS 99999us'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation to/-DEFAULT;
+set spanner.read_only_staleness='MAX_STALENESS/-99999us';
NEW_CONNECTION;
-set default_transaction_read_only = true;
+set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY = TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10NS';
NEW_CONNECTION;
-set default_transaction_read_only = true;
+set spanner.read_only_staleness='max_staleness 10ns';
NEW_CONNECTION;
- set default_transaction_read_only = true;
+ set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
- set default_transaction_read_only = true;
+ set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
-set default_transaction_read_only = true;
+set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
-set default_transaction_read_only = true ;
+set spanner.read_only_staleness='MAX_STALENESS 10ns' ;
NEW_CONNECTION;
-set default_transaction_read_only = true ;
+set spanner.read_only_staleness='MAX_STALENESS 10ns' ;
NEW_CONNECTION;
-set default_transaction_read_only = true
+set spanner.read_only_staleness='MAX_STALENESS 10ns'
;
NEW_CONNECTION;
-set default_transaction_read_only = true;
+set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
-set default_transaction_read_only = true;
+set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
set
-default_transaction_read_only
-=
-true;
+spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only = true;
+foo set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true bar;
+set spanner.read_only_staleness='MAX_STALENESS 10ns' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only = true;
+%set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true%;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =%true;
+set spanner.read_only_staleness='MAX_STALENESS%10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only = true;
+_set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true_;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =_true;
+set spanner.read_only_staleness='MAX_STALENESS_10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only = true;
+&set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true&;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =&true;
+set spanner.read_only_staleness='MAX_STALENESS&10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only = true;
+$set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true$;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =$true;
+set spanner.read_only_staleness='MAX_STALENESS$10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only = true;
+@set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true@;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =@true;
+set spanner.read_only_staleness='MAX_STALENESS@10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only = true;
+!set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true!;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =!true;
+set spanner.read_only_staleness='MAX_STALENESS!10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only = true;
+*set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true*;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =*true;
+set spanner.read_only_staleness='MAX_STALENESS*10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only = true;
+(set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true(;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =(true;
+set spanner.read_only_staleness='MAX_STALENESS(10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only = true;
+)set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true);
+set spanner.read_only_staleness='MAX_STALENESS 10ns');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =)true;
+set spanner.read_only_staleness='MAX_STALENESS)10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only = true;
+-set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true-;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-true;
+set spanner.read_only_staleness='MAX_STALENESS-10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only = true;
++set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true+;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =+true;
+set spanner.read_only_staleness='MAX_STALENESS+10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only = true;
+-#set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true-#;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-#true;
+set spanner.read_only_staleness='MAX_STALENESS-#10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only = true;
+/set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true/;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/true;
+set spanner.read_only_staleness='MAX_STALENESS/10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only = true;
+\set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true\;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =\true;
+set spanner.read_only_staleness='MAX_STALENESS\10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only = true;
+?set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true?;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =?true;
+set spanner.read_only_staleness='MAX_STALENESS?10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only = true;
+-/set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true-/;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-/true;
+set spanner.read_only_staleness='MAX_STALENESS-/10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only = true;
+/#set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true/#;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/#true;
+set spanner.read_only_staleness='MAX_STALENESS/#10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only = true;
+/-set spanner.read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = true/-;
+set spanner.read_only_staleness='MAX_STALENESS 10ns'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/-true;
+set spanner.read_only_staleness='MAX_STALENESS/-10ns';
NEW_CONNECTION;
-set default_transaction_read_only = false;
+set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY = FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 15S';
NEW_CONNECTION;
-set default_transaction_read_only = false;
+set spanner.read_only_staleness='exact_staleness 15s';
NEW_CONNECTION;
- set default_transaction_read_only = false;
+ set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
- set default_transaction_read_only = false;
+ set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set default_transaction_read_only = false;
+set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set default_transaction_read_only = false ;
+set spanner.read_only_staleness='EXACT_STALENESS 15s' ;
NEW_CONNECTION;
-set default_transaction_read_only = false ;
+set spanner.read_only_staleness='EXACT_STALENESS 15s' ;
NEW_CONNECTION;
-set default_transaction_read_only = false
+set spanner.read_only_staleness='EXACT_STALENESS 15s'
;
NEW_CONNECTION;
-set default_transaction_read_only = false;
+set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set default_transaction_read_only = false;
+set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
set
-default_transaction_read_only
-=
-false;
+spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only = false;
+foo set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false bar;
+set spanner.read_only_staleness='EXACT_STALENESS 15s' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only = false;
+%set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false%;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =%false;
+set spanner.read_only_staleness='EXACT_STALENESS%15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only = false;
+_set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false_;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =_false;
+set spanner.read_only_staleness='EXACT_STALENESS_15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only = false;
+&set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false&;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =&false;
+set spanner.read_only_staleness='EXACT_STALENESS&15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only = false;
+$set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false$;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =$false;
+set spanner.read_only_staleness='EXACT_STALENESS$15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only = false;
+@set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false@;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =@false;
+set spanner.read_only_staleness='EXACT_STALENESS@15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only = false;
+!set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false!;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =!false;
+set spanner.read_only_staleness='EXACT_STALENESS!15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only = false;
+*set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false*;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =*false;
+set spanner.read_only_staleness='EXACT_STALENESS*15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only = false;
+(set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false(;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =(false;
+set spanner.read_only_staleness='EXACT_STALENESS(15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only = false;
+)set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false);
+set spanner.read_only_staleness='EXACT_STALENESS 15s');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =)false;
+set spanner.read_only_staleness='EXACT_STALENESS)15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only = false;
+-set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false-;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-false;
+set spanner.read_only_staleness='EXACT_STALENESS-15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only = false;
++set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false+;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =+false;
+set spanner.read_only_staleness='EXACT_STALENESS+15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only = false;
+-#set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false-#;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-#false;
+set spanner.read_only_staleness='EXACT_STALENESS-#15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only = false;
+/set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false/;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/false;
+set spanner.read_only_staleness='EXACT_STALENESS/15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only = false;
+\set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false\;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =\false;
+set spanner.read_only_staleness='EXACT_STALENESS\15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only = false;
+?set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false?;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =?false;
+set spanner.read_only_staleness='EXACT_STALENESS?15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only = false;
+-/set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false-/;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-/false;
+set spanner.read_only_staleness='EXACT_STALENESS-/15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only = false;
+/#set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false/#;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/#false;
+set spanner.read_only_staleness='EXACT_STALENESS/#15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only = false;
+/-set spanner.read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = false/-;
+set spanner.read_only_staleness='EXACT_STALENESS 15s'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/-false;
+set spanner.read_only_staleness='EXACT_STALENESS/-15s';
NEW_CONNECTION;
-set default_transaction_read_only = t;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY = T;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1500MS';
NEW_CONNECTION;
-set default_transaction_read_only = t;
+set spanner.read_only_staleness='exact_staleness 1500ms';
NEW_CONNECTION;
- set default_transaction_read_only = t;
+ set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
- set default_transaction_read_only = t;
+ set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set default_transaction_read_only = t;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set default_transaction_read_only = t ;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms' ;
NEW_CONNECTION;
-set default_transaction_read_only = t ;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms' ;
NEW_CONNECTION;
-set default_transaction_read_only = t
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'
;
NEW_CONNECTION;
-set default_transaction_read_only = t;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set default_transaction_read_only = t;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
set
-default_transaction_read_only
-=
-t;
+spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only = t;
+foo set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t bar;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only = t;
+%set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t%;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =%t;
+set spanner.read_only_staleness='EXACT_STALENESS%1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only = t;
+_set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t_;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =_t;
+set spanner.read_only_staleness='EXACT_STALENESS_1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only = t;
+&set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t&;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =&t;
+set spanner.read_only_staleness='EXACT_STALENESS&1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only = t;
+$set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t$;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =$t;
+set spanner.read_only_staleness='EXACT_STALENESS$1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only = t;
+@set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t@;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =@t;
+set spanner.read_only_staleness='EXACT_STALENESS@1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only = t;
+!set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t!;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =!t;
+set spanner.read_only_staleness='EXACT_STALENESS!1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only = t;
+*set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t*;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =*t;
+set spanner.read_only_staleness='EXACT_STALENESS*1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only = t;
+(set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t(;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =(t;
+set spanner.read_only_staleness='EXACT_STALENESS(1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only = t;
+)set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t);
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =)t;
+set spanner.read_only_staleness='EXACT_STALENESS)1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only = t;
+-set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t-;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-t;
+set spanner.read_only_staleness='EXACT_STALENESS-1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only = t;
++set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t+;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =+t;
+set spanner.read_only_staleness='EXACT_STALENESS+1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only = t;
+-#set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t-#;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-#t;
+set spanner.read_only_staleness='EXACT_STALENESS-#1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only = t;
+/set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t/;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/t;
+set spanner.read_only_staleness='EXACT_STALENESS/1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only = t;
+\set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t\;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =\t;
+set spanner.read_only_staleness='EXACT_STALENESS\1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only = t;
+?set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t?;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =?t;
+set spanner.read_only_staleness='EXACT_STALENESS?1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only = t;
+-/set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t-/;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-/t;
+set spanner.read_only_staleness='EXACT_STALENESS-/1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only = t;
+/#set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t/#;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/#t;
+set spanner.read_only_staleness='EXACT_STALENESS/#1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only = t;
+/-set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = t/-;
+set spanner.read_only_staleness='EXACT_STALENESS 1500ms'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/-t;
+set spanner.read_only_staleness='EXACT_STALENESS/-1500ms';
NEW_CONNECTION;
-set default_transaction_read_only = f;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY = F;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 15000000US';
NEW_CONNECTION;
-set default_transaction_read_only = f;
+set spanner.read_only_staleness='exact_staleness 15000000us';
NEW_CONNECTION;
- set default_transaction_read_only = f;
+ set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
- set default_transaction_read_only = f;
+ set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-set default_transaction_read_only = f;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-set default_transaction_read_only = f ;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us' ;
NEW_CONNECTION;
-set default_transaction_read_only = f ;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us' ;
NEW_CONNECTION;
-set default_transaction_read_only = f
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'
;
NEW_CONNECTION;
-set default_transaction_read_only = f;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-set default_transaction_read_only = f;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
set
-default_transaction_read_only
-=
-f;
+spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only = f;
+foo set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f bar;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only = f;
+%set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f%;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =%f;
+set spanner.read_only_staleness='EXACT_STALENESS%15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only = f;
+_set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f_;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =_f;
+set spanner.read_only_staleness='EXACT_STALENESS_15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only = f;
+&set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f&;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =&f;
+set spanner.read_only_staleness='EXACT_STALENESS&15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only = f;
+$set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f$;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =$f;
+set spanner.read_only_staleness='EXACT_STALENESS$15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only = f;
+@set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f@;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =@f;
+set spanner.read_only_staleness='EXACT_STALENESS@15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only = f;
+!set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f!;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =!f;
+set spanner.read_only_staleness='EXACT_STALENESS!15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only = f;
+*set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f*;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =*f;
+set spanner.read_only_staleness='EXACT_STALENESS*15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only = f;
+(set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f(;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =(f;
+set spanner.read_only_staleness='EXACT_STALENESS(15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only = f;
+)set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f);
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =)f;
+set spanner.read_only_staleness='EXACT_STALENESS)15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only = f;
+-set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f-;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-f;
+set spanner.read_only_staleness='EXACT_STALENESS-15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only = f;
++set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f+;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =+f;
+set spanner.read_only_staleness='EXACT_STALENESS+15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only = f;
+-#set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f-#;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-#f;
+set spanner.read_only_staleness='EXACT_STALENESS-#15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only = f;
+/set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f/;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/f;
+set spanner.read_only_staleness='EXACT_STALENESS/15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only = f;
+\set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f\;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =\f;
+set spanner.read_only_staleness='EXACT_STALENESS\15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only = f;
+?set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f?;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =?f;
+set spanner.read_only_staleness='EXACT_STALENESS?15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only = f;
+-/set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f-/;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-/f;
+set spanner.read_only_staleness='EXACT_STALENESS-/15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only = f;
+/#set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f/#;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/#f;
+set spanner.read_only_staleness='EXACT_STALENESS/#15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only = f;
+/-set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = f/-;
+set spanner.read_only_staleness='EXACT_STALENESS 15000000us'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/-f;
+set spanner.read_only_staleness='EXACT_STALENESS/-15000000us';
NEW_CONNECTION;
-set default_transaction_read_only to 't';
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY TO 'T';
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 9999NS';
NEW_CONNECTION;
-set default_transaction_read_only to 't';
+set spanner.read_only_staleness='exact_staleness 9999ns';
NEW_CONNECTION;
- set default_transaction_read_only to 't';
+ set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
- set default_transaction_read_only to 't';
+ set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-set default_transaction_read_only to 't';
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-set default_transaction_read_only to 't' ;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns' ;
NEW_CONNECTION;
-set default_transaction_read_only to 't' ;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns' ;
NEW_CONNECTION;
-set default_transaction_read_only to 't'
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'
;
NEW_CONNECTION;
-set default_transaction_read_only to 't';
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-set default_transaction_read_only to 't';
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
set
-default_transaction_read_only
-to
-'t';
+spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only to 't';
+foo set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't' bar;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only to 't';
+%set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'%;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to%'t';
+set spanner.read_only_staleness='EXACT_STALENESS%9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only to 't';
+_set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'_;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to_'t';
+set spanner.read_only_staleness='EXACT_STALENESS_9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only to 't';
+&set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'&;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to&'t';
+set spanner.read_only_staleness='EXACT_STALENESS&9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only to 't';
+$set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'$;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to$'t';
+set spanner.read_only_staleness='EXACT_STALENESS$9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only to 't';
+@set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'@;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to@'t';
+set spanner.read_only_staleness='EXACT_STALENESS@9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only to 't';
+!set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'!;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to!'t';
+set spanner.read_only_staleness='EXACT_STALENESS!9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only to 't';
+*set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'*;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to*'t';
+set spanner.read_only_staleness='EXACT_STALENESS*9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only to 't';
+(set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'(;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to('t';
+set spanner.read_only_staleness='EXACT_STALENESS(9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only to 't';
+)set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't');
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to)'t';
+set spanner.read_only_staleness='EXACT_STALENESS)9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only to 't';
+-set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'-;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to-'t';
+set spanner.read_only_staleness='EXACT_STALENESS-9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only to 't';
++set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'+;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to+'t';
+set spanner.read_only_staleness='EXACT_STALENESS+9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only to 't';
+-#set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'-#;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to-#'t';
+set spanner.read_only_staleness='EXACT_STALENESS-#9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only to 't';
+/set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'/;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to/'t';
+set spanner.read_only_staleness='EXACT_STALENESS/9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only to 't';
+\set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'\;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to\'t';
+set spanner.read_only_staleness='EXACT_STALENESS\9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only to 't';
+?set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'?;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to?'t';
+set spanner.read_only_staleness='EXACT_STALENESS?9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only to 't';
+-/set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'-/;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to-/'t';
+set spanner.read_only_staleness='EXACT_STALENESS-/9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only to 't';
+/#set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'/#;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to/#'t';
+set spanner.read_only_staleness='EXACT_STALENESS/#9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only to 't';
+/-set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to 't'/-;
+set spanner.read_only_staleness='EXACT_STALENESS 9999ns'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to/-'t';
+set spanner.read_only_staleness='EXACT_STALENESS/-9999ns';
NEW_CONNECTION;
-set default_transaction_read_only to "f";
+set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY TO "F";
+SET SPANNER.READ_ONLY_STALENESS TO 'STRONG';
NEW_CONNECTION;
-set default_transaction_read_only to "f";
+set spanner.read_only_staleness to 'strong';
NEW_CONNECTION;
- set default_transaction_read_only to "f";
+ set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
- set default_transaction_read_only to "f";
+ set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
-set default_transaction_read_only to "f";
+set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
-set default_transaction_read_only to "f" ;
+set spanner.read_only_staleness to 'STRONG' ;
NEW_CONNECTION;
-set default_transaction_read_only to "f" ;
+set spanner.read_only_staleness to 'STRONG' ;
NEW_CONNECTION;
-set default_transaction_read_only to "f"
+set spanner.read_only_staleness to 'STRONG'
;
NEW_CONNECTION;
-set default_transaction_read_only to "f";
+set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
-set default_transaction_read_only to "f";
+set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
set
-default_transaction_read_only
+spanner.read_only_staleness
to
-"f";
+'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only to "f";
+foo set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f" bar;
+set spanner.read_only_staleness to 'STRONG' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only to "f";
+%set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"%;
+set spanner.read_only_staleness to 'STRONG'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to%"f";
+set spanner.read_only_staleness to%'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only to "f";
+_set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"_;
+set spanner.read_only_staleness to 'STRONG'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to_"f";
+set spanner.read_only_staleness to_'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only to "f";
+&set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"&;
+set spanner.read_only_staleness to 'STRONG'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to&"f";
+set spanner.read_only_staleness to&'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only to "f";
+$set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"$;
+set spanner.read_only_staleness to 'STRONG'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to$"f";
+set spanner.read_only_staleness to$'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only to "f";
+@set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"@;
+set spanner.read_only_staleness to 'STRONG'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to@"f";
+set spanner.read_only_staleness to@'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only to "f";
+!set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"!;
+set spanner.read_only_staleness to 'STRONG'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to!"f";
+set spanner.read_only_staleness to!'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only to "f";
+*set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"*;
+set spanner.read_only_staleness to 'STRONG'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to*"f";
+set spanner.read_only_staleness to*'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only to "f";
+(set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"(;
+set spanner.read_only_staleness to 'STRONG'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to("f";
+set spanner.read_only_staleness to('STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only to "f";
+)set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f");
+set spanner.read_only_staleness to 'STRONG');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to)"f";
+set spanner.read_only_staleness to)'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only to "f";
+-set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"-;
+set spanner.read_only_staleness to 'STRONG'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to-"f";
+set spanner.read_only_staleness to-'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only to "f";
++set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"+;
+set spanner.read_only_staleness to 'STRONG'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to+"f";
+set spanner.read_only_staleness to+'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only to "f";
+-#set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"-#;
+set spanner.read_only_staleness to 'STRONG'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to-#"f";
+set spanner.read_only_staleness to-#'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only to "f";
+/set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"/;
+set spanner.read_only_staleness to 'STRONG'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to/"f";
+set spanner.read_only_staleness to/'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only to "f";
+\set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"\;
+set spanner.read_only_staleness to 'STRONG'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to\"f";
+set spanner.read_only_staleness to\'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only to "f";
+?set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"?;
+set spanner.read_only_staleness to 'STRONG'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to?"f";
+set spanner.read_only_staleness to?'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only to "f";
+-/set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"-/;
+set spanner.read_only_staleness to 'STRONG'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to-/"f";
+set spanner.read_only_staleness to-/'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only to "f";
+/#set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"/#;
+set spanner.read_only_staleness to 'STRONG'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to/#"f";
+set spanner.read_only_staleness to/#'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only to "f";
+/-set spanner.read_only_staleness to 'STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to "f"/-;
+set spanner.read_only_staleness to 'STRONG'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only to/-"f";
+set spanner.read_only_staleness to/-'STRONG';
NEW_CONNECTION;
-set default_transaction_read_only = on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY = ON;
+SET SPANNER.READ_ONLY_STALENESS TO 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set default_transaction_read_only = on;
+set spanner.read_only_staleness to 'min_read_timestamp 2018-01-02t03:04:05.123-08:00';
NEW_CONNECTION;
- set default_transaction_read_only = on;
+ set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
- set default_transaction_read_only = on;
+ set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set default_transaction_read_only = on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set default_transaction_read_only = on ;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
NEW_CONNECTION;
-set default_transaction_read_only = on ;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
NEW_CONNECTION;
-set default_transaction_read_only = on
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'
;
NEW_CONNECTION;
-set default_transaction_read_only = on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set default_transaction_read_only = on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
set
-default_transaction_read_only
-=
-on;
+spanner.read_only_staleness
+to
+'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only = on;
+foo set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on bar;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only = on;
+%set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on%;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =%on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only = on;
+_set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on_;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =_on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only = on;
+&set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on&;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =&on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only = on;
+$set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on$;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =$on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only = on;
+@set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on@;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =@on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only = on;
+!set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on!;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =!on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only = on;
+*set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on*;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =*on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only = on;
+(set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on(;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =(on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only = on;
+)set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on);
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =)on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only = on;
+-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on-;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only = on;
++set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on+;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =+on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only = on;
+-#set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on-#;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-#on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only = on;
+/set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on/;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only = on;
+\set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on\;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =\on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only = on;
+?set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on?;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =?on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only = on;
+-/set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on-/;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-/on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only = on;
+/#set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on/#;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/#on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only = on;
+/-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = on/-;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/-on;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set default_transaction_read_only = off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY = OFF;
+SET SPANNER.READ_ONLY_STALENESS TO 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set default_transaction_read_only = off;
+set spanner.read_only_staleness to 'min_read_timestamp 2018-01-02t03:04:05.123z';
NEW_CONNECTION;
- set default_transaction_read_only = off;
+ set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
- set default_transaction_read_only = off;
+ set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set default_transaction_read_only = off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set default_transaction_read_only = off ;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
NEW_CONNECTION;
-set default_transaction_read_only = off ;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
NEW_CONNECTION;
-set default_transaction_read_only = off
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'
;
NEW_CONNECTION;
-set default_transaction_read_only = off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set default_transaction_read_only = off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
set
-default_transaction_read_only
-=
-off;
+spanner.read_only_staleness
+to
+'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only = off;
+foo set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off bar;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only = off;
+%set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off%;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =%off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only = off;
+_set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off_;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =_off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only = off;
+&set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off&;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =&off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only = off;
+$set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off$;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =$off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only = off;
+@set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off@;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =@off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only = off;
+!set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off!;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =!off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only = off;
+*set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off*;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =*off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only = off;
+(set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off(;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =(off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only = off;
+)set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off);
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =)off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only = off;
+-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off-;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only = off;
++set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off+;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =+off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only = off;
+-#set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off-#;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-#off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only = off;
+/set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off/;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only = off;
+\set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off\;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =\off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only = off;
+?set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off?;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =?off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only = off;
+-/set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off-/;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-/off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only = off;
+/#set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off/#;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/#off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only = off;
+/-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = off/-;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/-off;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set default_transaction_read_only = 1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY = 1;
+SET SPANNER.READ_ONLY_STALENESS TO 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set default_transaction_read_only = 1;
+set spanner.read_only_staleness to 'min_read_timestamp 2018-01-02t03:04:05.123+07:45';
NEW_CONNECTION;
- set default_transaction_read_only = 1;
+ set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
- set default_transaction_read_only = 1;
+ set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set default_transaction_read_only = 1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set default_transaction_read_only = 1 ;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
NEW_CONNECTION;
-set default_transaction_read_only = 1 ;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
NEW_CONNECTION;
-set default_transaction_read_only = 1
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'
;
NEW_CONNECTION;
-set default_transaction_read_only = 1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set default_transaction_read_only = 1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
set
-default_transaction_read_only
-=
-1;
+spanner.read_only_staleness
+to
+'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only = 1;
+foo set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1 bar;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only = 1;
+%set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1%;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =%1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only = 1;
+_set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1_;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =_1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only = 1;
+&set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1&;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =&1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only = 1;
+$set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1$;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =$1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only = 1;
+@set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1@;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =@1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only = 1;
+!set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1!;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =!1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only = 1;
+*set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1*;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =*1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only = 1;
+(set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1(;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =(1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only = 1;
+)set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1);
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =)1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only = 1;
+-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1-;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only = 1;
++set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1+;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =+1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only = 1;
+-#set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1-#;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-#1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only = 1;
+/set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1/;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only = 1;
+\set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1\;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =\1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only = 1;
+?set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1?;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =?1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only = 1;
+-/set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1-/;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-/1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only = 1;
+/#set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1/#;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/#1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only = 1;
+/-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 1/-;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/-1;
+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set default_transaction_read_only = 0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY = 0;
+SET SPANNER.READ_ONLY_STALENESS TO 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set default_transaction_read_only = 0;
+set spanner.read_only_staleness to 'read_timestamp 2018-01-02t03:04:05.54321-07:00';
NEW_CONNECTION;
- set default_transaction_read_only = 0;
+ set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
- set default_transaction_read_only = 0;
+ set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set default_transaction_read_only = 0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set default_transaction_read_only = 0 ;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
NEW_CONNECTION;
-set default_transaction_read_only = 0 ;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
NEW_CONNECTION;
-set default_transaction_read_only = 0
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'
;
NEW_CONNECTION;
-set default_transaction_read_only = 0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set default_transaction_read_only = 0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
set
-default_transaction_read_only
-=
-0;
+spanner.read_only_staleness
+to
+'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only = 0;
+foo set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0 bar;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only = 0;
+%set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0%;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =%0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP%2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only = 0;
+_set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0_;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =_0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP_2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only = 0;
+&set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0&;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =&0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP&2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only = 0;
+$set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0$;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =$0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP$2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only = 0;
+@set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0@;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =@0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP@2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only = 0;
+!set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0!;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =!0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP!2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only = 0;
+*set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0*;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =*0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP*2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only = 0;
+(set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0(;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =(0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP(2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only = 0;
+)set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0);
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =)0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP)2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only = 0;
+-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0-;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP-2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only = 0;
++set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0+;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =+0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP+2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only = 0;
+-#set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0-#;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-#0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP-#2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only = 0;
+/set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0/;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP/2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only = 0;
+\set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0\;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =\0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP\2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only = 0;
+?set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0?;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =?0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP?2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only = 0;
+-/set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0-/;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-/0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP-/2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only = 0;
+/#set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0/#;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/#0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP/#2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only = 0;
+/-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = 0/-;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/-0;
+set spanner.read_only_staleness to 'READ_TIMESTAMP/-2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set default_transaction_read_only = yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY = YES;
+SET SPANNER.READ_ONLY_STALENESS TO 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set default_transaction_read_only = yes;
+set spanner.read_only_staleness to 'read_timestamp 2018-01-02t03:04:05.54321z';
NEW_CONNECTION;
- set default_transaction_read_only = yes;
+ set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
- set default_transaction_read_only = yes;
+ set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set default_transaction_read_only = yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set default_transaction_read_only = yes ;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
NEW_CONNECTION;
-set default_transaction_read_only = yes ;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
NEW_CONNECTION;
-set default_transaction_read_only = yes
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'
;
NEW_CONNECTION;
-set default_transaction_read_only = yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set default_transaction_read_only = yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
set
-default_transaction_read_only
-=
-yes;
+spanner.read_only_staleness
+to
+'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only = yes;
+foo set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes bar;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only = yes;
+%set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes%;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =%yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP%2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only = yes;
+_set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes_;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =_yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP_2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only = yes;
+&set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes&;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =&yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP&2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only = yes;
+$set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes$;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =$yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP$2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only = yes;
+@set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes@;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =@yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP@2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only = yes;
+!set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes!;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =!yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP!2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only = yes;
+*set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes*;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =*yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP*2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only = yes;
+(set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes(;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =(yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP(2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only = yes;
+)set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes);
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =)yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP)2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only = yes;
+-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes-;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP-2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only = yes;
++set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes+;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =+yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP+2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only = yes;
+-#set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes-#;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-#yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP-#2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only = yes;
+/set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes/;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP/2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only = yes;
+\set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes\;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =\yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP\2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only = yes;
+?set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes?;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =?yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP?2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only = yes;
+-/set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes-/;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-/yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP-/2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only = yes;
+/#set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes/#;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/#yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP/#2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only = yes;
+/-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = yes/-;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/-yes;
+set spanner.read_only_staleness to 'READ_TIMESTAMP/-2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set default_transaction_read_only = no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY = NO;
+SET SPANNER.READ_ONLY_STALENESS TO 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set default_transaction_read_only = no;
+set spanner.read_only_staleness to 'read_timestamp 2018-01-02t03:04:05.54321+05:30';
NEW_CONNECTION;
- set default_transaction_read_only = no;
+ set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
- set default_transaction_read_only = no;
+ set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set default_transaction_read_only = no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set default_transaction_read_only = no ;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
NEW_CONNECTION;
-set default_transaction_read_only = no ;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
NEW_CONNECTION;
-set default_transaction_read_only = no
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'
;
NEW_CONNECTION;
-set default_transaction_read_only = no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set default_transaction_read_only = no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
set
-default_transaction_read_only
-=
-no;
+spanner.read_only_staleness
+to
+'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only = no;
+foo set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no bar;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only = no;
+%set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no%;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =%no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP%2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only = no;
+_set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no_;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =_no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP_2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only = no;
+&set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no&;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =&no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP&2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only = no;
+$set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no$;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =$no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP$2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only = no;
+@set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no@;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =@no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP@2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only = no;
+!set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no!;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =!no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP!2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only = no;
+*set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no*;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =*no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP*2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only = no;
+(set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no(;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =(no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP(2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only = no;
+)set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no);
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =)no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP)2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only = no;
+-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no-;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP-2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only = no;
++set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no+;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =+no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP+2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only = no;
+-#set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no-#;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-#no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP-#2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only = no;
+/set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no/;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP/2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only = no;
+\set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no\;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =\no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP\2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only = no;
+?set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no?;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =?no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP?2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only = no;
+-/set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no-/;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-/no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP-/2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only = no;
+/#set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no/#;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/#no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP/#2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only = no;
+/-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = no/-;
+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/-no;
+set spanner.read_only_staleness to 'READ_TIMESTAMP/-2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set default_transaction_read_only = y;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY = Y;
+SET SPANNER.READ_ONLY_STALENESS TO 'MAX_STALENESS 12S';
NEW_CONNECTION;
-set default_transaction_read_only = y;
+set spanner.read_only_staleness to 'max_staleness 12s';
NEW_CONNECTION;
- set default_transaction_read_only = y;
+ set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
- set default_transaction_read_only = y;
+ set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
-set default_transaction_read_only = y;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
-set default_transaction_read_only = y ;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s' ;
NEW_CONNECTION;
-set default_transaction_read_only = y ;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s' ;
NEW_CONNECTION;
-set default_transaction_read_only = y
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'
;
NEW_CONNECTION;
-set default_transaction_read_only = y;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
-set default_transaction_read_only = y;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
set
-default_transaction_read_only
-=
-y;
+spanner.read_only_staleness
+to
+'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only = y;
+foo set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y bar;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only = y;
+%set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y%;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =%y;
+set spanner.read_only_staleness to 'MAX_STALENESS%12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only = y;
+_set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y_;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =_y;
+set spanner.read_only_staleness to 'MAX_STALENESS_12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only = y;
+&set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y&;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =&y;
+set spanner.read_only_staleness to 'MAX_STALENESS&12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only = y;
+$set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y$;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =$y;
+set spanner.read_only_staleness to 'MAX_STALENESS$12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only = y;
+@set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y@;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =@y;
+set spanner.read_only_staleness to 'MAX_STALENESS@12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only = y;
+!set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y!;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =!y;
+set spanner.read_only_staleness to 'MAX_STALENESS!12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only = y;
+*set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y*;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =*y;
+set spanner.read_only_staleness to 'MAX_STALENESS*12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only = y;
+(set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y(;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =(y;
+set spanner.read_only_staleness to 'MAX_STALENESS(12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only = y;
+)set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y);
+set spanner.read_only_staleness to 'MAX_STALENESS 12s');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =)y;
+set spanner.read_only_staleness to 'MAX_STALENESS)12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only = y;
+-set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y-;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-y;
+set spanner.read_only_staleness to 'MAX_STALENESS-12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only = y;
++set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y+;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =+y;
+set spanner.read_only_staleness to 'MAX_STALENESS+12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only = y;
+-#set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y-#;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-#y;
+set spanner.read_only_staleness to 'MAX_STALENESS-#12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only = y;
+/set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y/;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/y;
+set spanner.read_only_staleness to 'MAX_STALENESS/12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only = y;
+\set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y\;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =\y;
+set spanner.read_only_staleness to 'MAX_STALENESS\12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only = y;
+?set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y?;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =?y;
+set spanner.read_only_staleness to 'MAX_STALENESS?12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only = y;
+-/set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y-/;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-/y;
+set spanner.read_only_staleness to 'MAX_STALENESS-/12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only = y;
+/#set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y/#;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/#y;
+set spanner.read_only_staleness to 'MAX_STALENESS/#12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only = y;
+/-set spanner.read_only_staleness to 'MAX_STALENESS 12s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = y/-;
+set spanner.read_only_staleness to 'MAX_STALENESS 12s'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/-y;
+set spanner.read_only_staleness to 'MAX_STALENESS/-12s';
NEW_CONNECTION;
-set default_transaction_read_only = n;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_READ_ONLY = N;
+SET SPANNER.READ_ONLY_STALENESS TO 'MAX_STALENESS 100MS';
NEW_CONNECTION;
-set default_transaction_read_only = n;
+set spanner.read_only_staleness to 'max_staleness 100ms';
NEW_CONNECTION;
- set default_transaction_read_only = n;
+ set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
- set default_transaction_read_only = n;
+ set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
-set default_transaction_read_only = n;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
-set default_transaction_read_only = n ;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms' ;
NEW_CONNECTION;
-set default_transaction_read_only = n ;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms' ;
NEW_CONNECTION;
-set default_transaction_read_only = n
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'
;
NEW_CONNECTION;
-set default_transaction_read_only = n;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
-set default_transaction_read_only = n;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
set
-default_transaction_read_only
-=
-n;
+spanner.read_only_staleness
+to
+'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_read_only = n;
+foo set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n bar;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_read_only = n;
+%set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n%;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =%n;
+set spanner.read_only_staleness to 'MAX_STALENESS%100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_read_only = n;
+_set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n_;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =_n;
+set spanner.read_only_staleness to 'MAX_STALENESS_100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_read_only = n;
+&set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n&;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =&n;
+set spanner.read_only_staleness to 'MAX_STALENESS&100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_read_only = n;
+$set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n$;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =$n;
+set spanner.read_only_staleness to 'MAX_STALENESS$100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_read_only = n;
+@set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n@;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =@n;
+set spanner.read_only_staleness to 'MAX_STALENESS@100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_read_only = n;
+!set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n!;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =!n;
+set spanner.read_only_staleness to 'MAX_STALENESS!100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_read_only = n;
+*set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n*;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =*n;
+set spanner.read_only_staleness to 'MAX_STALENESS*100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_read_only = n;
+(set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n(;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =(n;
+set spanner.read_only_staleness to 'MAX_STALENESS(100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_read_only = n;
+)set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n);
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =)n;
+set spanner.read_only_staleness to 'MAX_STALENESS)100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_read_only = n;
+-set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n-;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-n;
+set spanner.read_only_staleness to 'MAX_STALENESS-100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_read_only = n;
++set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n+;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =+n;
+set spanner.read_only_staleness to 'MAX_STALENESS+100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set default_transaction_read_only = n;
+-#set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n-#;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-#n;
+set spanner.read_only_staleness to 'MAX_STALENESS-#100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set default_transaction_read_only = n;
+/set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n/;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/n;
+set spanner.read_only_staleness to 'MAX_STALENESS/100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set default_transaction_read_only = n;
+\set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n\;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =\n;
+set spanner.read_only_staleness to 'MAX_STALENESS\100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set default_transaction_read_only = n;
+?set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n?;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =?n;
+set spanner.read_only_staleness to 'MAX_STALENESS?100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set default_transaction_read_only = n;
+-/set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n-/;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =-/n;
+set spanner.read_only_staleness to 'MAX_STALENESS-/100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set default_transaction_read_only = n;
+/#set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n/#;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/#n;
+set spanner.read_only_staleness to 'MAX_STALENESS/#100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set default_transaction_read_only = n;
+/-set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only = n/-;
+set spanner.read_only_staleness to 'MAX_STALENESS 100ms'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_read_only =/-n;
+set spanner.read_only_staleness to 'MAX_STALENESS/-100ms';
NEW_CONNECTION;
-set spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='STRONG';
+SET SPANNER.READ_ONLY_STALENESS TO 'MAX_STALENESS 99999US';
NEW_CONNECTION;
-set spanner.read_only_staleness='strong';
+set spanner.read_only_staleness to 'max_staleness 99999us';
NEW_CONNECTION;
- set spanner.read_only_staleness='STRONG';
+ set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
- set spanner.read_only_staleness='STRONG';
+ set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
-set spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
-set spanner.read_only_staleness='STRONG' ;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='STRONG' ;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='STRONG'
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
-set spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
set
-spanner.read_only_staleness='STRONG';
+spanner.read_only_staleness
+to
+'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='STRONG';
+foo set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG' bar;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='STRONG';
+%set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'%;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS%99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='STRONG';
+_set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'_;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS_99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='STRONG';
+&set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'&;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS&99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='STRONG';
+$set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'$;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS$99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='STRONG';
+@set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'@;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS@99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='STRONG';
+!set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'!;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS!99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='STRONG';
+*set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'*;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS*99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='STRONG';
+(set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'(;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS(99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='STRONG';
+)set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG');
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS)99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='STRONG';
+-set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'-;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS-99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='STRONG';
++set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'+;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS+99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='STRONG';
+-#set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'-#;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS-#99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='STRONG';
+/set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'/;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS/99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='STRONG';
+\set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'\;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS\99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='STRONG';
+?set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'?;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS?99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='STRONG';
+-/set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'-/;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS-/99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='STRONG';
+/#set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'/#;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS/#99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='STRONG';
+/-set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='STRONG'/-;
+set spanner.read_only_staleness to 'MAX_STALENESS 99999us'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.read_only_staleness='STRONG';
+set spanner.read_only_staleness to 'MAX_STALENESS/-99999us';
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+SET SPANNER.READ_ONLY_STALENESS TO 'MAX_STALENESS 10NS';
NEW_CONNECTION;
-set spanner.read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123-08:00';
+set spanner.read_only_staleness to 'max_staleness 10ns';
NEW_CONNECTION;
- set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+ set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
- set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+ set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
set
-spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+spanner.read_only_staleness
+to
+'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+foo set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' bar;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+%set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'%;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS%10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+_set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'_;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS_10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+&set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'&;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS&10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+$set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'$;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS$10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+@set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'@;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS@10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+!set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'!;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS!10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+*set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'*;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS*10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+(set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'(;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS(10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+)set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00');
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS)10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+-set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS-10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
++set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'+;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS+10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+-#set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-#;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS-#10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+/set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS/10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+\set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'\;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS\10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+?set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'?;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS?10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+-/set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-/;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS-/10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+/#set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/#;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS/#10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+/-set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/-;
+set spanner.read_only_staleness to 'MAX_STALENESS 10ns'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123-08:00';
+set spanner.read_only_staleness to 'MAX_STALENESS/-10ns';
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+SET SPANNER.READ_ONLY_STALENESS TO 'EXACT_STALENESS 15S';
NEW_CONNECTION;
-set spanner.read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123z';
+set spanner.read_only_staleness to 'exact_staleness 15s';
NEW_CONNECTION;
- set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+ set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
- set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+ set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
set
-spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+spanner.read_only_staleness
+to
+'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+foo set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' bar;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+%set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'%;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS%15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+_set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'_;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS_15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+&set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'&;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS&15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+$set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'$;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS$15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+@set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'@;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS@15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+!set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'!;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS!15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+*set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'*;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS*15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+(set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'(;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS(15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+)set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z');
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS)15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+-set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS-15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
++set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'+;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS+15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+-#set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-#;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS-#15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+/set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS/15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+\set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'\;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS\15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+?set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'?;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS?15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+-/set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-/;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS-/15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+/#set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/#;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS/#15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+/-set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/-;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15s'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS/-15s';
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+SET SPANNER.READ_ONLY_STALENESS TO 'EXACT_STALENESS 1500MS';
NEW_CONNECTION;
-set spanner.read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123+07:45';
+set spanner.read_only_staleness to 'exact_staleness 1500ms';
NEW_CONNECTION;
- set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+ set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
- set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+ set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
set
-spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+spanner.read_only_staleness
+to
+'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+foo set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' bar;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+%set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'%;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS%1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+_set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'_;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS_1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+&set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'&;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS&1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+$set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'$;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS$1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+@set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'@;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS@1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+!set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'!;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS!1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+*set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'*;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS*1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+(set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'(;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS(1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+)set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45');
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS)1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS-1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
++set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'+;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS+1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+-#set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-#;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS-#1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+/set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS/1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+\set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'\;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS\1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+?set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'?;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS?1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+-/set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-/;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS-/1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+/#set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/#;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS/#1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+/-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/-;
+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123+07:45';
+set spanner.read_only_staleness to 'EXACT_STALENESS/-1500ms';
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+SET SPANNER.READ_ONLY_STALENESS TO 'EXACT_STALENESS 15000000US';
NEW_CONNECTION;
-set spanner.read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'exact_staleness 15000000us';
NEW_CONNECTION;
- set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+ set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
- set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+ set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
set
-spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+spanner.read_only_staleness
+to
+'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+foo set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' bar;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+%set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'%;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS%15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+_set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'_;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS_15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+&set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'&;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS&15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+$set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'$;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS$15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+@set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'@;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS@15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+!set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'!;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS!15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+*set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'*;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS*15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+(set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'(;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS(15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+)set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00');
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS)15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS-15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
++set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'+;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS+15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+-#set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-#;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS-#15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+/set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS/15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+\set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'\;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS\15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+?set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'?;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS?15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+-/set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-/;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS-/15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+/#set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/#;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS/#15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+/-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/-;
+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321-07:00';
+set spanner.read_only_staleness to 'EXACT_STALENESS/-15000000us';
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+SET SPANNER.READ_ONLY_STALENESS TO 'EXACT_STALENESS 9999NS';
NEW_CONNECTION;
-set spanner.read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321z';
+set spanner.read_only_staleness to 'exact_staleness 9999ns';
NEW_CONNECTION;
- set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+ set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
- set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+ set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
set
-spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+spanner.read_only_staleness
+to
+'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+foo set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' bar;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+%set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'%;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS%9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+_set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'_;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS_9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+&set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'&;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS&9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+$set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'$;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS$9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+@set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'@;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS@9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+!set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'!;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS!9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+*set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'*;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS*9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+(set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'(;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS(9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+)set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z');
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS)9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS-9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
++set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'+;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS+9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+-#set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-#;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS-#9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+/set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS/9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+\set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'\;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS\9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+?set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'?;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS?9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+-/set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-/;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS-/9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+/#set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/#;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS/#9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+/-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/-;
+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321Z';
+set spanner.read_only_staleness to 'EXACT_STALENESS/-9999ns';
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set spanner.optimizer_version='1';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+SET SPANNER.OPTIMIZER_VERSION='1';
NEW_CONNECTION;
-set spanner.read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321+05:30';
+set spanner.optimizer_version='1';
NEW_CONNECTION;
- set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+ set spanner.optimizer_version='1';
NEW_CONNECTION;
- set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+ set spanner.optimizer_version='1';
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set spanner.optimizer_version='1';
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
+set spanner.optimizer_version='1' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
+set spanner.optimizer_version='1' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'
+set spanner.optimizer_version='1'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set spanner.optimizer_version='1';
NEW_CONNECTION;
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set spanner.optimizer_version='1';
NEW_CONNECTION;
set
-spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+foo set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' bar;
+set spanner.optimizer_version='1' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+%set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'%;
+set spanner.optimizer_version='1'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321+05:30';
+set%spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+_set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'_;
+set spanner.optimizer_version='1'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321+05:30';
+set_spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+&set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'&;
+set spanner.optimizer_version='1'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321+05:30';
+set&spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+$set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'$;
+set spanner.optimizer_version='1'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321+05:30';
+set$spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+@set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'@;
+set spanner.optimizer_version='1'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321+05:30';
+set@spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+!set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'!;
+set spanner.optimizer_version='1'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321+05:30';
+set!spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+*set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'*;
+set spanner.optimizer_version='1'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321+05:30';
+set*spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+(set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'(;
+set spanner.optimizer_version='1'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321+05:30';
+set(spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+)set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30');
+set spanner.optimizer_version='1');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321+05:30';
+set)spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+-set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-;
+set spanner.optimizer_version='1'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321+05:30';
+set-spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
++set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'+;
+set spanner.optimizer_version='1'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321+05:30';
+set+spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+-#set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-#;
+set spanner.optimizer_version='1'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321+05:30';
+set-#spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+/set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/;
+set spanner.optimizer_version='1'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321+05:30';
+set/spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+\set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'\;
+set spanner.optimizer_version='1'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321+05:30';
+set\spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+?set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'?;
+set spanner.optimizer_version='1'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321+05:30';
+set?spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+-/set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-/;
+set spanner.optimizer_version='1'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321+05:30';
+set-/spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+/#set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/#;
+set spanner.optimizer_version='1'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321+05:30';
+set/#spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+/-set spanner.optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/-;
+set spanner.optimizer_version='1'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321+05:30';
+set/-spanner.optimizer_version='1';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 12s';
+set spanner.optimizer_version='200';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 12S';
+SET SPANNER.OPTIMIZER_VERSION='200';
NEW_CONNECTION;
-set spanner.read_only_staleness='max_staleness 12s';
+set spanner.optimizer_version='200';
NEW_CONNECTION;
- set spanner.read_only_staleness='MAX_STALENESS 12s';
+ set spanner.optimizer_version='200';
NEW_CONNECTION;
- set spanner.read_only_staleness='MAX_STALENESS 12s';
+ set spanner.optimizer_version='200';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 12s';
+set spanner.optimizer_version='200';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 12s' ;
+set spanner.optimizer_version='200' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 12s' ;
+set spanner.optimizer_version='200' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 12s'
+set spanner.optimizer_version='200'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 12s';
+set spanner.optimizer_version='200';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 12s';
+set spanner.optimizer_version='200';
NEW_CONNECTION;
set
-spanner.read_only_staleness='MAX_STALENESS 12s';
+spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='MAX_STALENESS 12s';
+foo set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s' bar;
+set spanner.optimizer_version='200' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='MAX_STALENESS 12s';
+%set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'%;
+set spanner.optimizer_version='200'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS%12s';
+set%spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='MAX_STALENESS 12s';
+_set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'_;
+set spanner.optimizer_version='200'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS_12s';
+set_spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='MAX_STALENESS 12s';
+&set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'&;
+set spanner.optimizer_version='200'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS&12s';
+set&spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='MAX_STALENESS 12s';
+$set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'$;
+set spanner.optimizer_version='200'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS$12s';
+set$spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='MAX_STALENESS 12s';
+@set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'@;
+set spanner.optimizer_version='200'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS@12s';
+set@spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='MAX_STALENESS 12s';
+!set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'!;
+set spanner.optimizer_version='200'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS!12s';
+set!spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='MAX_STALENESS 12s';
+*set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'*;
+set spanner.optimizer_version='200'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS*12s';
+set*spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='MAX_STALENESS 12s';
+(set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'(;
+set spanner.optimizer_version='200'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS(12s';
+set(spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='MAX_STALENESS 12s';
+)set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s');
+set spanner.optimizer_version='200');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS)12s';
+set)spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='MAX_STALENESS 12s';
+-set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'-;
+set spanner.optimizer_version='200'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS-12s';
+set-spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='MAX_STALENESS 12s';
++set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'+;
+set spanner.optimizer_version='200'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS+12s';
+set+spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='MAX_STALENESS 12s';
+-#set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'-#;
+set spanner.optimizer_version='200'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS-#12s';
+set-#spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='MAX_STALENESS 12s';
+/set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'/;
+set spanner.optimizer_version='200'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS/12s';
+set/spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='MAX_STALENESS 12s';
+\set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'\;
+set spanner.optimizer_version='200'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS\12s';
+set\spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='MAX_STALENESS 12s';
+?set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'?;
+set spanner.optimizer_version='200'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS?12s';
+set?spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='MAX_STALENESS 12s';
+-/set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'-/;
+set spanner.optimizer_version='200'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS-/12s';
+set-/spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='MAX_STALENESS 12s';
+/#set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'/#;
+set spanner.optimizer_version='200'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS/#12s';
+set/#spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='MAX_STALENESS 12s';
+/-set spanner.optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 12s'/-;
+set spanner.optimizer_version='200'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS/-12s';
+set/-spanner.optimizer_version='200';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 100ms';
+set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100MS';
+SET SPANNER.OPTIMIZER_VERSION='LATEST';
NEW_CONNECTION;
-set spanner.read_only_staleness='max_staleness 100ms';
+set spanner.optimizer_version='latest';
NEW_CONNECTION;
- set spanner.read_only_staleness='MAX_STALENESS 100ms';
+ set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
- set spanner.read_only_staleness='MAX_STALENESS 100ms';
+ set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 100ms';
+set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 100ms' ;
+set spanner.optimizer_version='LATEST' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 100ms' ;
+set spanner.optimizer_version='LATEST' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 100ms'
+set spanner.optimizer_version='LATEST'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 100ms';
+set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 100ms';
+set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
set
-spanner.read_only_staleness='MAX_STALENESS 100ms';
+spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='MAX_STALENESS 100ms';
+foo set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms' bar;
+set spanner.optimizer_version='LATEST' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='MAX_STALENESS 100ms';
+%set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'%;
+set spanner.optimizer_version='LATEST'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS%100ms';
+set%spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='MAX_STALENESS 100ms';
+_set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'_;
+set spanner.optimizer_version='LATEST'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS_100ms';
+set_spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='MAX_STALENESS 100ms';
+&set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'&;
+set spanner.optimizer_version='LATEST'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS&100ms';
+set&spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='MAX_STALENESS 100ms';
+$set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'$;
+set spanner.optimizer_version='LATEST'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS$100ms';
+set$spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='MAX_STALENESS 100ms';
+@set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'@;
+set spanner.optimizer_version='LATEST'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS@100ms';
+set@spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='MAX_STALENESS 100ms';
+!set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'!;
+set spanner.optimizer_version='LATEST'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS!100ms';
+set!spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='MAX_STALENESS 100ms';
+*set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'*;
+set spanner.optimizer_version='LATEST'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS*100ms';
+set*spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='MAX_STALENESS 100ms';
+(set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'(;
+set spanner.optimizer_version='LATEST'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS(100ms';
+set(spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='MAX_STALENESS 100ms';
+)set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms');
+set spanner.optimizer_version='LATEST');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS)100ms';
+set)spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='MAX_STALENESS 100ms';
+-set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'-;
+set spanner.optimizer_version='LATEST'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS-100ms';
+set-spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='MAX_STALENESS 100ms';
++set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'+;
+set spanner.optimizer_version='LATEST'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS+100ms';
+set+spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='MAX_STALENESS 100ms';
+-#set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'-#;
+set spanner.optimizer_version='LATEST'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS-#100ms';
+set-#spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='MAX_STALENESS 100ms';
+/set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'/;
+set spanner.optimizer_version='LATEST'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS/100ms';
+set/spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='MAX_STALENESS 100ms';
+\set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'\;
+set spanner.optimizer_version='LATEST'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS\100ms';
+set\spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='MAX_STALENESS 100ms';
+?set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'?;
+set spanner.optimizer_version='LATEST'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS?100ms';
+set?spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='MAX_STALENESS 100ms';
+-/set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'-/;
+set spanner.optimizer_version='LATEST'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS-/100ms';
+set-/spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='MAX_STALENESS 100ms';
+/#set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'/#;
+set spanner.optimizer_version='LATEST'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS/#100ms';
+set/#spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='MAX_STALENESS 100ms';
+/-set spanner.optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 100ms'/-;
+set spanner.optimizer_version='LATEST'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS/-100ms';
+set/-spanner.optimizer_version='LATEST';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 99999us';
+set spanner.optimizer_version='';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 99999US';
+SET SPANNER.OPTIMIZER_VERSION='';
NEW_CONNECTION;
-set spanner.read_only_staleness='max_staleness 99999us';
+set spanner.optimizer_version='';
NEW_CONNECTION;
- set spanner.read_only_staleness='MAX_STALENESS 99999us';
+ set spanner.optimizer_version='';
NEW_CONNECTION;
- set spanner.read_only_staleness='MAX_STALENESS 99999us';
+ set spanner.optimizer_version='';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 99999us';
+set spanner.optimizer_version='';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 99999us' ;
+set spanner.optimizer_version='' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 99999us' ;
+set spanner.optimizer_version='' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 99999us'
+set spanner.optimizer_version=''
;
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 99999us';
+set spanner.optimizer_version='';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 99999us';
+set spanner.optimizer_version='';
NEW_CONNECTION;
set
-spanner.read_only_staleness='MAX_STALENESS 99999us';
+spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='MAX_STALENESS 99999us';
+foo set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us' bar;
+set spanner.optimizer_version='' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='MAX_STALENESS 99999us';
+%set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'%;
+set spanner.optimizer_version=''%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS%99999us';
+set%spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='MAX_STALENESS 99999us';
+_set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'_;
+set spanner.optimizer_version=''_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS_99999us';
+set_spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='MAX_STALENESS 99999us';
+&set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'&;
+set spanner.optimizer_version=''&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS&99999us';
+set&spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='MAX_STALENESS 99999us';
+$set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'$;
+set spanner.optimizer_version=''$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS$99999us';
+set$spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='MAX_STALENESS 99999us';
+@set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'@;
+set spanner.optimizer_version=''@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS@99999us';
+set@spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='MAX_STALENESS 99999us';
+!set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'!;
+set spanner.optimizer_version=''!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS!99999us';
+set!spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='MAX_STALENESS 99999us';
+*set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'*;
+set spanner.optimizer_version=''*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS*99999us';
+set*spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='MAX_STALENESS 99999us';
+(set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'(;
+set spanner.optimizer_version=''(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS(99999us';
+set(spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='MAX_STALENESS 99999us';
+)set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us');
+set spanner.optimizer_version='');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS)99999us';
+set)spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='MAX_STALENESS 99999us';
+-set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'-;
+set spanner.optimizer_version=''-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS-99999us';
+set-spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='MAX_STALENESS 99999us';
++set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'+;
+set spanner.optimizer_version=''+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS+99999us';
+set+spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='MAX_STALENESS 99999us';
+-#set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'-#;
+set spanner.optimizer_version=''-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS-#99999us';
+set-#spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='MAX_STALENESS 99999us';
+/set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'/;
+set spanner.optimizer_version=''/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS/99999us';
+set/spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='MAX_STALENESS 99999us';
+\set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'\;
+set spanner.optimizer_version=''\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS\99999us';
+set\spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='MAX_STALENESS 99999us';
+?set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'?;
+set spanner.optimizer_version=''?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS?99999us';
+set?spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='MAX_STALENESS 99999us';
+-/set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'-/;
+set spanner.optimizer_version=''-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS-/99999us';
+set-/spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='MAX_STALENESS 99999us';
+/#set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'/#;
+set spanner.optimizer_version=''/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS/#99999us';
+set/#spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='MAX_STALENESS 99999us';
+/-set spanner.optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 99999us'/-;
+set spanner.optimizer_version=''/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS/-99999us';
+set/-spanner.optimizer_version='';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 10ns';
+set spanner.optimizer_version to '1';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10NS';
+SET SPANNER.OPTIMIZER_VERSION TO '1';
NEW_CONNECTION;
-set spanner.read_only_staleness='max_staleness 10ns';
+set spanner.optimizer_version to '1';
NEW_CONNECTION;
- set spanner.read_only_staleness='MAX_STALENESS 10ns';
+ set spanner.optimizer_version to '1';
NEW_CONNECTION;
- set spanner.read_only_staleness='MAX_STALENESS 10ns';
+ set spanner.optimizer_version to '1';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 10ns';
+set spanner.optimizer_version to '1';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 10ns' ;
+set spanner.optimizer_version to '1' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 10ns' ;
+set spanner.optimizer_version to '1' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 10ns'
+set spanner.optimizer_version to '1'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 10ns';
+set spanner.optimizer_version to '1';
NEW_CONNECTION;
-set spanner.read_only_staleness='MAX_STALENESS 10ns';
+set spanner.optimizer_version to '1';
NEW_CONNECTION;
set
-spanner.read_only_staleness='MAX_STALENESS 10ns';
+spanner.optimizer_version
+to
+'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='MAX_STALENESS 10ns';
+foo set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns' bar;
+set spanner.optimizer_version to '1' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='MAX_STALENESS 10ns';
+%set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'%;
+set spanner.optimizer_version to '1'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS%10ns';
+set spanner.optimizer_version to%'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='MAX_STALENESS 10ns';
+_set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'_;
+set spanner.optimizer_version to '1'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS_10ns';
+set spanner.optimizer_version to_'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='MAX_STALENESS 10ns';
+&set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'&;
+set spanner.optimizer_version to '1'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS&10ns';
+set spanner.optimizer_version to&'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='MAX_STALENESS 10ns';
+$set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'$;
+set spanner.optimizer_version to '1'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS$10ns';
+set spanner.optimizer_version to$'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='MAX_STALENESS 10ns';
+@set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'@;
+set spanner.optimizer_version to '1'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS@10ns';
+set spanner.optimizer_version to@'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='MAX_STALENESS 10ns';
+!set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'!;
+set spanner.optimizer_version to '1'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS!10ns';
+set spanner.optimizer_version to!'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='MAX_STALENESS 10ns';
+*set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'*;
+set spanner.optimizer_version to '1'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS*10ns';
+set spanner.optimizer_version to*'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='MAX_STALENESS 10ns';
+(set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'(;
+set spanner.optimizer_version to '1'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS(10ns';
+set spanner.optimizer_version to('1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='MAX_STALENESS 10ns';
+)set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns');
+set spanner.optimizer_version to '1');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS)10ns';
+set spanner.optimizer_version to)'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='MAX_STALENESS 10ns';
+-set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'-;
+set spanner.optimizer_version to '1'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS-10ns';
+set spanner.optimizer_version to-'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='MAX_STALENESS 10ns';
++set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'+;
+set spanner.optimizer_version to '1'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS+10ns';
+set spanner.optimizer_version to+'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='MAX_STALENESS 10ns';
+-#set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'-#;
+set spanner.optimizer_version to '1'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS-#10ns';
+set spanner.optimizer_version to-#'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='MAX_STALENESS 10ns';
+/set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'/;
+set spanner.optimizer_version to '1'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS/10ns';
+set spanner.optimizer_version to/'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='MAX_STALENESS 10ns';
+\set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'\;
+set spanner.optimizer_version to '1'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS\10ns';
+set spanner.optimizer_version to\'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='MAX_STALENESS 10ns';
+?set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'?;
+set spanner.optimizer_version to '1'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS?10ns';
+set spanner.optimizer_version to?'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='MAX_STALENESS 10ns';
+-/set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'-/;
+set spanner.optimizer_version to '1'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS-/10ns';
+set spanner.optimizer_version to-/'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='MAX_STALENESS 10ns';
+/#set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'/#;
+set spanner.optimizer_version to '1'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS/#10ns';
+set spanner.optimizer_version to/#'1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='MAX_STALENESS 10ns';
+/-set spanner.optimizer_version to '1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS 10ns'/-;
+set spanner.optimizer_version to '1'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='MAX_STALENESS/-10ns';
+set spanner.optimizer_version to/-'1';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15s';
+set spanner.optimizer_version to '200';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 15S';
+SET SPANNER.OPTIMIZER_VERSION TO '200';
NEW_CONNECTION;
-set spanner.read_only_staleness='exact_staleness 15s';
+set spanner.optimizer_version to '200';
NEW_CONNECTION;
- set spanner.read_only_staleness='EXACT_STALENESS 15s';
+ set spanner.optimizer_version to '200';
NEW_CONNECTION;
- set spanner.read_only_staleness='EXACT_STALENESS 15s';
+ set spanner.optimizer_version to '200';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15s';
+set spanner.optimizer_version to '200';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15s' ;
+set spanner.optimizer_version to '200' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15s' ;
+set spanner.optimizer_version to '200' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15s'
+set spanner.optimizer_version to '200'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15s';
+set spanner.optimizer_version to '200';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15s';
+set spanner.optimizer_version to '200';
NEW_CONNECTION;
set
-spanner.read_only_staleness='EXACT_STALENESS 15s';
+spanner.optimizer_version
+to
+'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='EXACT_STALENESS 15s';
+foo set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s' bar;
+set spanner.optimizer_version to '200' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='EXACT_STALENESS 15s';
+%set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'%;
+set spanner.optimizer_version to '200'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS%15s';
+set spanner.optimizer_version to%'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='EXACT_STALENESS 15s';
+_set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'_;
+set spanner.optimizer_version to '200'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS_15s';
+set spanner.optimizer_version to_'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='EXACT_STALENESS 15s';
+&set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'&;
+set spanner.optimizer_version to '200'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS&15s';
+set spanner.optimizer_version to&'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='EXACT_STALENESS 15s';
+$set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'$;
+set spanner.optimizer_version to '200'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS$15s';
+set spanner.optimizer_version to$'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='EXACT_STALENESS 15s';
+@set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'@;
+set spanner.optimizer_version to '200'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS@15s';
+set spanner.optimizer_version to@'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='EXACT_STALENESS 15s';
+!set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'!;
+set spanner.optimizer_version to '200'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS!15s';
+set spanner.optimizer_version to!'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='EXACT_STALENESS 15s';
+*set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'*;
+set spanner.optimizer_version to '200'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS*15s';
+set spanner.optimizer_version to*'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='EXACT_STALENESS 15s';
+(set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'(;
+set spanner.optimizer_version to '200'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS(15s';
+set spanner.optimizer_version to('200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='EXACT_STALENESS 15s';
+)set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s');
+set spanner.optimizer_version to '200');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS)15s';
+set spanner.optimizer_version to)'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='EXACT_STALENESS 15s';
+-set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'-;
+set spanner.optimizer_version to '200'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS-15s';
+set spanner.optimizer_version to-'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='EXACT_STALENESS 15s';
++set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'+;
+set spanner.optimizer_version to '200'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS+15s';
+set spanner.optimizer_version to+'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='EXACT_STALENESS 15s';
+-#set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'-#;
+set spanner.optimizer_version to '200'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS-#15s';
+set spanner.optimizer_version to-#'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='EXACT_STALENESS 15s';
+/set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'/;
+set spanner.optimizer_version to '200'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS/15s';
+set spanner.optimizer_version to/'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='EXACT_STALENESS 15s';
+\set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'\;
+set spanner.optimizer_version to '200'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS\15s';
+set spanner.optimizer_version to\'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='EXACT_STALENESS 15s';
+?set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'?;
+set spanner.optimizer_version to '200'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS?15s';
+set spanner.optimizer_version to?'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='EXACT_STALENESS 15s';
+-/set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'-/;
+set spanner.optimizer_version to '200'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS-/15s';
+set spanner.optimizer_version to-/'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='EXACT_STALENESS 15s';
+/#set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'/#;
+set spanner.optimizer_version to '200'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS/#15s';
+set spanner.optimizer_version to/#'200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='EXACT_STALENESS 15s';
+/-set spanner.optimizer_version to '200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15s'/-;
+set spanner.optimizer_version to '200'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS/-15s';
+set spanner.optimizer_version to/-'200';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1500MS';
+SET SPANNER.OPTIMIZER_VERSION TO 'LATEST';
NEW_CONNECTION;
-set spanner.read_only_staleness='exact_staleness 1500ms';
+set spanner.optimizer_version to 'latest';
NEW_CONNECTION;
- set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+ set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
- set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+ set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms' ;
+set spanner.optimizer_version to 'LATEST' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms' ;
+set spanner.optimizer_version to 'LATEST' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'
+set spanner.optimizer_version to 'LATEST'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
set
-spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+spanner.optimizer_version
+to
+'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+foo set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms' bar;
+set spanner.optimizer_version to 'LATEST' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+%set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'%;
+set spanner.optimizer_version to 'LATEST'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS%1500ms';
+set spanner.optimizer_version to%'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+_set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'_;
+set spanner.optimizer_version to 'LATEST'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS_1500ms';
+set spanner.optimizer_version to_'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+&set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'&;
+set spanner.optimizer_version to 'LATEST'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS&1500ms';
+set spanner.optimizer_version to&'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+$set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'$;
+set spanner.optimizer_version to 'LATEST'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS$1500ms';
+set spanner.optimizer_version to$'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+@set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'@;
+set spanner.optimizer_version to 'LATEST'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS@1500ms';
+set spanner.optimizer_version to@'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+!set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'!;
+set spanner.optimizer_version to 'LATEST'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS!1500ms';
+set spanner.optimizer_version to!'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+*set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'*;
+set spanner.optimizer_version to 'LATEST'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS*1500ms';
+set spanner.optimizer_version to*'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+(set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'(;
+set spanner.optimizer_version to 'LATEST'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS(1500ms';
+set spanner.optimizer_version to('LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+)set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms');
+set spanner.optimizer_version to 'LATEST');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS)1500ms';
+set spanner.optimizer_version to)'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+-set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'-;
+set spanner.optimizer_version to 'LATEST'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS-1500ms';
+set spanner.optimizer_version to-'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
++set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'+;
+set spanner.optimizer_version to 'LATEST'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS+1500ms';
+set spanner.optimizer_version to+'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+-#set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'-#;
+set spanner.optimizer_version to 'LATEST'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS-#1500ms';
+set spanner.optimizer_version to-#'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+/set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'/;
+set spanner.optimizer_version to 'LATEST'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS/1500ms';
+set spanner.optimizer_version to/'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+\set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'\;
+set spanner.optimizer_version to 'LATEST'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS\1500ms';
+set spanner.optimizer_version to\'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+?set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'?;
+set spanner.optimizer_version to 'LATEST'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS?1500ms';
+set spanner.optimizer_version to?'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+-/set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'-/;
+set spanner.optimizer_version to 'LATEST'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS-/1500ms';
+set spanner.optimizer_version to-/'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+/#set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'/#;
+set spanner.optimizer_version to 'LATEST'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS/#1500ms';
+set spanner.optimizer_version to/#'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='EXACT_STALENESS 1500ms';
+/-set spanner.optimizer_version to 'LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 1500ms'/-;
+set spanner.optimizer_version to 'LATEST'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS/-1500ms';
+set spanner.optimizer_version to/-'LATEST';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+set spanner.optimizer_version to '';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 15000000US';
+SET SPANNER.OPTIMIZER_VERSION TO '';
NEW_CONNECTION;
-set spanner.read_only_staleness='exact_staleness 15000000us';
+set spanner.optimizer_version to '';
NEW_CONNECTION;
- set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+ set spanner.optimizer_version to '';
NEW_CONNECTION;
- set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+ set spanner.optimizer_version to '';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+set spanner.optimizer_version to '';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us' ;
+set spanner.optimizer_version to '' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us' ;
+set spanner.optimizer_version to '' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'
+set spanner.optimizer_version to ''
;
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+set spanner.optimizer_version to '';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+set spanner.optimizer_version to '';
NEW_CONNECTION;
set
-spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+spanner.optimizer_version
+to
+'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+foo set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us' bar;
+set spanner.optimizer_version to '' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+%set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'%;
+set spanner.optimizer_version to ''%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS%15000000us';
+set spanner.optimizer_version to%'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+_set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'_;
+set spanner.optimizer_version to ''_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS_15000000us';
+set spanner.optimizer_version to_'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+&set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'&;
+set spanner.optimizer_version to ''&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS&15000000us';
+set spanner.optimizer_version to&'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+$set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'$;
+set spanner.optimizer_version to ''$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS$15000000us';
+set spanner.optimizer_version to$'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+@set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'@;
+set spanner.optimizer_version to ''@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS@15000000us';
+set spanner.optimizer_version to@'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+!set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'!;
+set spanner.optimizer_version to ''!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS!15000000us';
+set spanner.optimizer_version to!'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+*set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'*;
+set spanner.optimizer_version to ''*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS*15000000us';
+set spanner.optimizer_version to*'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+(set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'(;
+set spanner.optimizer_version to ''(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS(15000000us';
+set spanner.optimizer_version to('';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+)set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us');
+set spanner.optimizer_version to '');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS)15000000us';
+set spanner.optimizer_version to)'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+-set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'-;
+set spanner.optimizer_version to ''-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS-15000000us';
+set spanner.optimizer_version to-'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
++set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'+;
+set spanner.optimizer_version to ''+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS+15000000us';
+set spanner.optimizer_version to+'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+-#set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'-#;
+set spanner.optimizer_version to ''-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS-#15000000us';
+set spanner.optimizer_version to-#'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+/set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'/;
+set spanner.optimizer_version to ''/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS/15000000us';
+set spanner.optimizer_version to/'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+\set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'\;
+set spanner.optimizer_version to ''\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS\15000000us';
+set spanner.optimizer_version to\'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+?set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'?;
+set spanner.optimizer_version to ''?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS?15000000us';
+set spanner.optimizer_version to?'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+-/set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'-/;
+set spanner.optimizer_version to ''-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS-/15000000us';
+set spanner.optimizer_version to-/'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+/#set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'/#;
+set spanner.optimizer_version to ''/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS/#15000000us';
+set spanner.optimizer_version to/#'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='EXACT_STALENESS 15000000us';
+/-set spanner.optimizer_version to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 15000000us'/-;
+set spanner.optimizer_version to ''/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS/-15000000us';
+set spanner.optimizer_version to/-'';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 9999NS';
+SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='AUTO_20191128_14_47_22UTC';
NEW_CONNECTION;
-set spanner.read_only_staleness='exact_staleness 9999ns';
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22utc';
NEW_CONNECTION;
- set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+ set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
- set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+ set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns' ;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns' ;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC' ;
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'
;
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
set
-spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+foo set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns' bar;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+%set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'%;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS%9999ns';
+set%spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+_set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'_;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS_9999ns';
+set_spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+&set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'&;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS&9999ns';
+set&spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+$set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'$;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS$9999ns';
+set$spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+@set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'@;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS@9999ns';
+set@spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+!set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'!;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS!9999ns';
+set!spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+*set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'*;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS*9999ns';
+set*spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+(set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'(;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS(9999ns';
+set(spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+)set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns');
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS)9999ns';
+set)spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'-;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS-9999ns';
+set-spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
++set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'+;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS+9999ns';
+set+spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+-#set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'-#;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS-#9999ns';
+set-#spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+/set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'/;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS/9999ns';
+set/spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+\set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'\;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS\9999ns';
+set\spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+?set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'?;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS?9999ns';
+set?spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+-/set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'-/;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS-/9999ns';
+set-/spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+/#set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'/#;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS/#9999ns';
+set/#spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness='EXACT_STALENESS 9999ns';
+/-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS 9999ns'/-;
+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness='EXACT_STALENESS/-9999ns';
+set/-spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'STRONG';
+set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'STRONG';
+SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'strong';
+set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'STRONG';
+ set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'STRONG';
+ set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'STRONG';
+set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'STRONG' ;
+set spanner.optimizer_statistics_package='' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'STRONG' ;
+set spanner.optimizer_statistics_package='' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'STRONG'
+set spanner.optimizer_statistics_package=''
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'STRONG';
+set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'STRONG';
+set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
set
-spanner.read_only_staleness
-to
-'STRONG';
+spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'STRONG';
+foo set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG' bar;
+set spanner.optimizer_statistics_package='' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'STRONG';
+%set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'%;
+set spanner.optimizer_statistics_package=''%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to%'STRONG';
+set%spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'STRONG';
+_set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'_;
+set spanner.optimizer_statistics_package=''_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to_'STRONG';
+set_spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'STRONG';
+&set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'&;
+set spanner.optimizer_statistics_package=''&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to&'STRONG';
+set&spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'STRONG';
+$set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'$;
+set spanner.optimizer_statistics_package=''$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to$'STRONG';
+set$spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'STRONG';
+@set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'@;
+set spanner.optimizer_statistics_package=''@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to@'STRONG';
+set@spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'STRONG';
+!set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'!;
+set spanner.optimizer_statistics_package=''!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to!'STRONG';
+set!spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'STRONG';
+*set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'*;
+set spanner.optimizer_statistics_package=''*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to*'STRONG';
+set*spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'STRONG';
+(set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'(;
+set spanner.optimizer_statistics_package=''(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to('STRONG';
+set(spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'STRONG';
+)set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG');
+set spanner.optimizer_statistics_package='');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to)'STRONG';
+set)spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'STRONG';
+-set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'-;
+set spanner.optimizer_statistics_package=''-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to-'STRONG';
+set-spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'STRONG';
++set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'+;
+set spanner.optimizer_statistics_package=''+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to+'STRONG';
+set+spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'STRONG';
+-#set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'-#;
+set spanner.optimizer_statistics_package=''-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to-#'STRONG';
+set-#spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'STRONG';
+/set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'/;
+set spanner.optimizer_statistics_package=''/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to/'STRONG';
+set/spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'STRONG';
+\set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'\;
+set spanner.optimizer_statistics_package=''\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to\'STRONG';
+set\spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'STRONG';
+?set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'?;
+set spanner.optimizer_statistics_package=''?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to?'STRONG';
+set?spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'STRONG';
+-/set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'-/;
+set spanner.optimizer_statistics_package=''-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to-/'STRONG';
+set-/spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'STRONG';
+/#set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'/#;
+set spanner.optimizer_statistics_package=''/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to/#'STRONG';
+set/#spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'STRONG';
+/-set spanner.optimizer_statistics_package='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'STRONG'/-;
+set spanner.optimizer_statistics_package=''/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to/-'STRONG';
+set/-spanner.optimizer_statistics_package='';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE TO 'AUTO_20191128_14_47_22UTC';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'min_read_timestamp 2018-01-02t03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22utc';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+ set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+ set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
set
-spanner.read_only_staleness
+spanner.optimizer_statistics_package
to
-'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+foo set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' bar;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+%set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'%;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to%'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+_set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'_;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to_'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+&set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'&;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to&'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+$set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'$;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to$'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+@set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'@;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to@'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+!set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'!;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to!'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+*set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'*;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to*'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+(set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'(;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to('auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+)set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00');
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to)'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to-'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
++set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'+;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to+'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+-#set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-#;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to-#'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+/set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to/'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+\set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'\;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to\'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+?set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'?;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to?'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+-/set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-/;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to-/'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+/#set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/#;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to/#'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+/-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/-;
+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123-08:00';
+set spanner.optimizer_statistics_package to/-'auto_20191128_14_47_22UTC';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE TO '';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'min_read_timestamp 2018-01-02t03:04:05.123z';
+set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+ set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+ set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
+set spanner.optimizer_statistics_package to '' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
+set spanner.optimizer_statistics_package to '' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'
+set spanner.optimizer_statistics_package to ''
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
set
-spanner.read_only_staleness
+spanner.optimizer_statistics_package
to
-'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+foo set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' bar;
+set spanner.optimizer_statistics_package to '' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+%set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'%;
+set spanner.optimizer_statistics_package to ''%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to%'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+_set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'_;
+set spanner.optimizer_statistics_package to ''_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to_'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+&set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'&;
+set spanner.optimizer_statistics_package to ''&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to&'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+$set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'$;
+set spanner.optimizer_statistics_package to ''$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to$'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+@set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'@;
+set spanner.optimizer_statistics_package to ''@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to@'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+!set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'!;
+set spanner.optimizer_statistics_package to ''!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to!'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+*set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'*;
+set spanner.optimizer_statistics_package to ''*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to*'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+(set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'(;
+set spanner.optimizer_statistics_package to ''(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to('';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+)set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z');
+set spanner.optimizer_statistics_package to '');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to)'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+-set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-;
+set spanner.optimizer_statistics_package to ''-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to-'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
++set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'+;
+set spanner.optimizer_statistics_package to ''+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to+'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+-#set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-#;
+set spanner.optimizer_statistics_package to ''-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to-#'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+/set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/;
+set spanner.optimizer_statistics_package to ''/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to/'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+\set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'\;
+set spanner.optimizer_statistics_package to ''\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to\'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+?set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'?;
+set spanner.optimizer_statistics_package to ''?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to?'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+-/set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-/;
+set spanner.optimizer_statistics_package to ''-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to-/'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+/#set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/#;
+set spanner.optimizer_statistics_package to ''/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to/#'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+/-set spanner.optimizer_statistics_package to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/-;
+set spanner.optimizer_statistics_package to ''/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123Z';
+set spanner.optimizer_statistics_package to/-'';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats = true;
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+SET SPANNER.RETURN_COMMIT_STATS = TRUE;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'min_read_timestamp 2018-01-02t03:04:05.123+07:45';
+set spanner.return_commit_stats = true;
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+ set spanner.return_commit_stats = true;
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+ set spanner.return_commit_stats = true;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats = true;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
+set spanner.return_commit_stats = true ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
+set spanner.return_commit_stats = true ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'
+set spanner.return_commit_stats = true
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats = true;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats = true;
NEW_CONNECTION;
set
-spanner.read_only_staleness
-to
-'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+spanner.return_commit_stats
+=
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+foo set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' bar;
+set spanner.return_commit_stats = true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+%set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'%;
+set spanner.return_commit_stats = true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+_set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'_;
+set spanner.return_commit_stats = true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+&set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'&;
+set spanner.return_commit_stats = true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+$set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'$;
+set spanner.return_commit_stats = true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+@set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'@;
+set spanner.return_commit_stats = true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+!set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'!;
+set spanner.return_commit_stats = true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+*set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'*;
+set spanner.return_commit_stats = true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+(set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'(;
+set spanner.return_commit_stats = true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+)set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45');
+set spanner.return_commit_stats = true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+-set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-;
+set spanner.return_commit_stats = true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
++set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'+;
+set spanner.return_commit_stats = true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+-#set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-#;
+set spanner.return_commit_stats = true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+/set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/;
+set spanner.return_commit_stats = true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+\set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'\;
+set spanner.return_commit_stats = true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+?set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'?;
+set spanner.return_commit_stats = true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+-/set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-/;
+set spanner.return_commit_stats = true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+/#set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/#;
+set spanner.return_commit_stats = true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+/-set spanner.return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/-;
+set spanner.return_commit_stats = true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123+07:45';
+set spanner.return_commit_stats =/-true;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats = false;
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+SET SPANNER.RETURN_COMMIT_STATS = FALSE;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'read_timestamp 2018-01-02t03:04:05.54321-07:00';
+set spanner.return_commit_stats = false;
NEW_CONNECTION;
- set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+ set spanner.return_commit_stats = false;
NEW_CONNECTION;
- set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+ set spanner.return_commit_stats = false;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats = false;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
+set spanner.return_commit_stats = false ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
+set spanner.return_commit_stats = false ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'
+set spanner.return_commit_stats = false
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats = false;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats = false;
NEW_CONNECTION;
set
-spanner.read_only_staleness
-to
-'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+spanner.return_commit_stats
+=
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+foo set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' bar;
+set spanner.return_commit_stats = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+%set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'%;
+set spanner.return_commit_stats = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP%2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+_set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'_;
+set spanner.return_commit_stats = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP_2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+&set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'&;
+set spanner.return_commit_stats = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP&2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+$set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'$;
+set spanner.return_commit_stats = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP$2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+@set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'@;
+set spanner.return_commit_stats = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP@2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+!set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'!;
+set spanner.return_commit_stats = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP!2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+*set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'*;
+set spanner.return_commit_stats = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP*2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+(set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'(;
+set spanner.return_commit_stats = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP(2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+)set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00');
+set spanner.return_commit_stats = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP)2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+-set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-;
+set spanner.return_commit_stats = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP-2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
++set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'+;
+set spanner.return_commit_stats = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP+2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+-#set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-#;
+set spanner.return_commit_stats = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP-#2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+/set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/;
+set spanner.return_commit_stats = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP/2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+\set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'\;
+set spanner.return_commit_stats = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP\2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+?set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'?;
+set spanner.return_commit_stats = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP?2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+-/set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-/;
+set spanner.return_commit_stats = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP-/2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+/#set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/#;
+set spanner.return_commit_stats = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP/#2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+/-set spanner.return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/-;
+set spanner.return_commit_stats = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP/-2018-01-02T03:04:05.54321-07:00';
+set spanner.return_commit_stats =/-false;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to true;
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+SET SPANNER.RETURN_COMMIT_STATS TO TRUE;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'read_timestamp 2018-01-02t03:04:05.54321z';
+set spanner.return_commit_stats to true;
NEW_CONNECTION;
- set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+ set spanner.return_commit_stats to true;
NEW_CONNECTION;
- set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+ set spanner.return_commit_stats to true;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to true;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
+set spanner.return_commit_stats to true ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
+set spanner.return_commit_stats to true ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'
+set spanner.return_commit_stats to true
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to true;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to true;
NEW_CONNECTION;
set
-spanner.read_only_staleness
+spanner.return_commit_stats
to
-'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+foo set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' bar;
+set spanner.return_commit_stats to true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+%set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'%;
+set spanner.return_commit_stats to true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP%2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+_set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'_;
+set spanner.return_commit_stats to true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP_2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+&set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'&;
+set spanner.return_commit_stats to true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP&2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+$set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'$;
+set spanner.return_commit_stats to true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP$2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+@set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'@;
+set spanner.return_commit_stats to true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP@2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+!set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'!;
+set spanner.return_commit_stats to true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP!2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+*set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'*;
+set spanner.return_commit_stats to true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP*2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+(set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'(;
+set spanner.return_commit_stats to true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP(2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+)set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z');
+set spanner.return_commit_stats to true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP)2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+-set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-;
+set spanner.return_commit_stats to true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP-2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
++set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'+;
+set spanner.return_commit_stats to true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP+2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+-#set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-#;
+set spanner.return_commit_stats to true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP-#2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+/set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/;
+set spanner.return_commit_stats to true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP/2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+\set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'\;
+set spanner.return_commit_stats to true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP\2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+?set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'?;
+set spanner.return_commit_stats to true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP?2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+-/set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-/;
+set spanner.return_commit_stats to true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP-/2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+/#set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/#;
+set spanner.return_commit_stats to true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP/#2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+/-set spanner.return_commit_stats to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/-;
+set spanner.return_commit_stats to true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP/-2018-01-02T03:04:05.54321Z';
+set spanner.return_commit_stats to/-true;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to false;
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+SET SPANNER.RETURN_COMMIT_STATS TO FALSE;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'read_timestamp 2018-01-02t03:04:05.54321+05:30';
+set spanner.return_commit_stats to false;
NEW_CONNECTION;
- set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+ set spanner.return_commit_stats to false;
NEW_CONNECTION;
- set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+ set spanner.return_commit_stats to false;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to false;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
+set spanner.return_commit_stats to false ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
+set spanner.return_commit_stats to false ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'
+set spanner.return_commit_stats to false
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to false;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to false;
NEW_CONNECTION;
set
-spanner.read_only_staleness
+spanner.return_commit_stats
to
-'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+foo set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' bar;
+set spanner.return_commit_stats to false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+%set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'%;
+set spanner.return_commit_stats to false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP%2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+_set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'_;
+set spanner.return_commit_stats to false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP_2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+&set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'&;
+set spanner.return_commit_stats to false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP&2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+$set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'$;
+set spanner.return_commit_stats to false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP$2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+@set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'@;
+set spanner.return_commit_stats to false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP@2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+!set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'!;
+set spanner.return_commit_stats to false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP!2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+*set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'*;
+set spanner.return_commit_stats to false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP*2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+(set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'(;
+set spanner.return_commit_stats to false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP(2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+)set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30');
+set spanner.return_commit_stats to false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP)2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+-set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-;
+set spanner.return_commit_stats to false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP-2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
++set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'+;
+set spanner.return_commit_stats to false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP+2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+-#set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-#;
+set spanner.return_commit_stats to false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP-#2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+/set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/;
+set spanner.return_commit_stats to false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP/2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+\set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'\;
+set spanner.return_commit_stats to false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP\2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+?set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'?;
+set spanner.return_commit_stats to false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP?2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+-/set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-/;
+set spanner.return_commit_stats to false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP-/2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+/#set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/#;
+set spanner.return_commit_stats to false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP/#2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+/-set spanner.return_commit_stats to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/-;
+set spanner.return_commit_stats to false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'READ_TIMESTAMP/-2018-01-02T03:04:05.54321+05:30';
+set spanner.return_commit_stats to/-false;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+set spanner.statement_tag='tag1';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'MAX_STALENESS 12S';
+SET SPANNER.STATEMENT_TAG='TAG1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'max_staleness 12s';
+set spanner.statement_tag='tag1';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+ set spanner.statement_tag='tag1';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+ set spanner.statement_tag='tag1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+set spanner.statement_tag='tag1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 12s' ;
+set spanner.statement_tag='tag1' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 12s' ;
+set spanner.statement_tag='tag1' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'
+set spanner.statement_tag='tag1'
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+set spanner.statement_tag='tag1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+set spanner.statement_tag='tag1';
NEW_CONNECTION;
set
-spanner.read_only_staleness
-to
-'MAX_STALENESS 12s';
+spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+foo set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s' bar;
+set spanner.statement_tag='tag1' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+%set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'%;
+set spanner.statement_tag='tag1'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS%12s';
+set%spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+_set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'_;
+set spanner.statement_tag='tag1'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS_12s';
+set_spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+&set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'&;
+set spanner.statement_tag='tag1'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS&12s';
+set&spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+$set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'$;
+set spanner.statement_tag='tag1'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS$12s';
+set$spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+@set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'@;
+set spanner.statement_tag='tag1'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS@12s';
+set@spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+!set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'!;
+set spanner.statement_tag='tag1'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS!12s';
+set!spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+*set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'*;
+set spanner.statement_tag='tag1'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS*12s';
+set*spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+(set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'(;
+set spanner.statement_tag='tag1'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS(12s';
+set(spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+)set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s');
+set spanner.statement_tag='tag1');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS)12s';
+set)spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+-set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'-;
+set spanner.statement_tag='tag1'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS-12s';
+set-spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'MAX_STALENESS 12s';
++set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'+;
+set spanner.statement_tag='tag1'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS+12s';
+set+spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+-#set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'-#;
+set spanner.statement_tag='tag1'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS-#12s';
+set-#spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+/set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'/;
+set spanner.statement_tag='tag1'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS/12s';
+set/spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+\set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'\;
+set spanner.statement_tag='tag1'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS\12s';
+set\spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+?set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'?;
+set spanner.statement_tag='tag1'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS?12s';
+set?spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+-/set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'-/;
+set spanner.statement_tag='tag1'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS-/12s';
+set-/spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+/#set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'/#;
+set spanner.statement_tag='tag1'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS/#12s';
+set/#spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'MAX_STALENESS 12s';
+/-set spanner.statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 12s'/-;
+set spanner.statement_tag='tag1'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS/-12s';
+set/-spanner.statement_tag='tag1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+set spanner.statement_tag='tag2';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'MAX_STALENESS 100MS';
+SET SPANNER.STATEMENT_TAG='TAG2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'max_staleness 100ms';
+set spanner.statement_tag='tag2';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+ set spanner.statement_tag='tag2';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+ set spanner.statement_tag='tag2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+set spanner.statement_tag='tag2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms' ;
+set spanner.statement_tag='tag2' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms' ;
+set spanner.statement_tag='tag2' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'
+set spanner.statement_tag='tag2'
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+set spanner.statement_tag='tag2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+set spanner.statement_tag='tag2';
NEW_CONNECTION;
set
-spanner.read_only_staleness
-to
-'MAX_STALENESS 100ms';
+spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+foo set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms' bar;
+set spanner.statement_tag='tag2' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+%set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'%;
+set spanner.statement_tag='tag2'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS%100ms';
+set%spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+_set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'_;
+set spanner.statement_tag='tag2'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS_100ms';
+set_spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+&set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'&;
+set spanner.statement_tag='tag2'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS&100ms';
+set&spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+$set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'$;
+set spanner.statement_tag='tag2'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS$100ms';
+set$spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+@set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'@;
+set spanner.statement_tag='tag2'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS@100ms';
+set@spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+!set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'!;
+set spanner.statement_tag='tag2'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS!100ms';
+set!spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+*set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'*;
+set spanner.statement_tag='tag2'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS*100ms';
+set*spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+(set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'(;
+set spanner.statement_tag='tag2'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS(100ms';
+set(spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+)set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms');
+set spanner.statement_tag='tag2');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS)100ms';
+set)spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+-set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'-;
+set spanner.statement_tag='tag2'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS-100ms';
+set-spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
++set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'+;
+set spanner.statement_tag='tag2'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS+100ms';
+set+spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+-#set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'-#;
+set spanner.statement_tag='tag2'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS-#100ms';
+set-#spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+/set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'/;
+set spanner.statement_tag='tag2'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS/100ms';
+set/spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+\set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'\;
+set spanner.statement_tag='tag2'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS\100ms';
+set\spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+?set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'?;
+set spanner.statement_tag='tag2'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS?100ms';
+set?spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+-/set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'-/;
+set spanner.statement_tag='tag2'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS-/100ms';
+set-/spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+/#set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'/#;
+set spanner.statement_tag='tag2'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS/#100ms';
+set/#spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'MAX_STALENESS 100ms';
+/-set spanner.statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 100ms'/-;
+set spanner.statement_tag='tag2'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS/-100ms';
+set/-spanner.statement_tag='tag2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+set spanner.statement_tag='';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'MAX_STALENESS 99999US';
+SET SPANNER.STATEMENT_TAG='';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'max_staleness 99999us';
+set spanner.statement_tag='';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+ set spanner.statement_tag='';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+ set spanner.statement_tag='';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+set spanner.statement_tag='';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us' ;
+set spanner.statement_tag='' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us' ;
+set spanner.statement_tag='' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'
+set spanner.statement_tag=''
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+set spanner.statement_tag='';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+set spanner.statement_tag='';
NEW_CONNECTION;
set
-spanner.read_only_staleness
-to
-'MAX_STALENESS 99999us';
+spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+foo set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us' bar;
+set spanner.statement_tag='' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+%set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'%;
+set spanner.statement_tag=''%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS%99999us';
+set%spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+_set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'_;
+set spanner.statement_tag=''_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS_99999us';
+set_spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+&set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'&;
+set spanner.statement_tag=''&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS&99999us';
+set&spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+$set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'$;
+set spanner.statement_tag=''$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS$99999us';
+set$spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+@set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'@;
+set spanner.statement_tag=''@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS@99999us';
+set@spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+!set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'!;
+set spanner.statement_tag=''!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS!99999us';
+set!spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+*set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'*;
+set spanner.statement_tag=''*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS*99999us';
+set*spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+(set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'(;
+set spanner.statement_tag=''(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS(99999us';
+set(spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+)set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us');
+set spanner.statement_tag='');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS)99999us';
+set)spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+-set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'-;
+set spanner.statement_tag=''-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS-99999us';
+set-spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
++set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'+;
+set spanner.statement_tag=''+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS+99999us';
+set+spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+-#set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'-#;
+set spanner.statement_tag=''-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS-#99999us';
+set-#spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+/set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'/;
+set spanner.statement_tag=''/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS/99999us';
+set/spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+\set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'\;
+set spanner.statement_tag=''\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS\99999us';
+set\spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+?set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'?;
+set spanner.statement_tag=''?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS?99999us';
+set?spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+-/set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'-/;
+set spanner.statement_tag=''-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS-/99999us';
+set-/spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+/#set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'/#;
+set spanner.statement_tag=''/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS/#99999us';
+set/#spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'MAX_STALENESS 99999us';
+/-set spanner.statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 99999us'/-;
+set spanner.statement_tag=''/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS/-99999us';
+set/-spanner.statement_tag='';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'MAX_STALENESS 10NS';
+SET SPANNER.STATEMENT_TAG TO 'TAG1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'max_staleness 10ns';
+set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+ set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+ set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns' ;
+set spanner.statement_tag to 'tag1' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns' ;
+set spanner.statement_tag to 'tag1' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'
+set spanner.statement_tag to 'tag1'
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
set
-spanner.read_only_staleness
+spanner.statement_tag
to
-'MAX_STALENESS 10ns';
+'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+foo set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns' bar;
+set spanner.statement_tag to 'tag1' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+%set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'%;
+set spanner.statement_tag to 'tag1'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS%10ns';
+set spanner.statement_tag to%'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+_set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'_;
+set spanner.statement_tag to 'tag1'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS_10ns';
+set spanner.statement_tag to_'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+&set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'&;
+set spanner.statement_tag to 'tag1'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS&10ns';
+set spanner.statement_tag to&'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+$set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'$;
+set spanner.statement_tag to 'tag1'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS$10ns';
+set spanner.statement_tag to$'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+@set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'@;
+set spanner.statement_tag to 'tag1'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS@10ns';
+set spanner.statement_tag to@'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+!set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'!;
+set spanner.statement_tag to 'tag1'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS!10ns';
+set spanner.statement_tag to!'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+*set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'*;
+set spanner.statement_tag to 'tag1'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS*10ns';
+set spanner.statement_tag to*'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+(set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'(;
+set spanner.statement_tag to 'tag1'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS(10ns';
+set spanner.statement_tag to('tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+)set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns');
+set spanner.statement_tag to 'tag1');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS)10ns';
+set spanner.statement_tag to)'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+-set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'-;
+set spanner.statement_tag to 'tag1'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS-10ns';
+set spanner.statement_tag to-'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
++set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'+;
+set spanner.statement_tag to 'tag1'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS+10ns';
+set spanner.statement_tag to+'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+-#set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'-#;
+set spanner.statement_tag to 'tag1'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS-#10ns';
+set spanner.statement_tag to-#'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+/set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'/;
+set spanner.statement_tag to 'tag1'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS/10ns';
+set spanner.statement_tag to/'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+\set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'\;
+set spanner.statement_tag to 'tag1'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS\10ns';
+set spanner.statement_tag to\'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+?set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'?;
+set spanner.statement_tag to 'tag1'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS?10ns';
+set spanner.statement_tag to?'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+-/set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'-/;
+set spanner.statement_tag to 'tag1'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS-/10ns';
+set spanner.statement_tag to-/'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+/#set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'/#;
+set spanner.statement_tag to 'tag1'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS/#10ns';
+set spanner.statement_tag to/#'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'MAX_STALENESS 10ns';
+/-set spanner.statement_tag to 'tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS 10ns'/-;
+set spanner.statement_tag to 'tag1'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'MAX_STALENESS/-10ns';
+set spanner.statement_tag to/-'tag1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'EXACT_STALENESS 15S';
+SET SPANNER.STATEMENT_TAG TO 'TAG2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'exact_staleness 15s';
+set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+ set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+ set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s' ;
+set spanner.statement_tag to 'tag2' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s' ;
+set spanner.statement_tag to 'tag2' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'
+set spanner.statement_tag to 'tag2'
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
set
-spanner.read_only_staleness
+spanner.statement_tag
to
-'EXACT_STALENESS 15s';
+'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+foo set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s' bar;
+set spanner.statement_tag to 'tag2' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+%set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'%;
+set spanner.statement_tag to 'tag2'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS%15s';
+set spanner.statement_tag to%'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+_set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'_;
+set spanner.statement_tag to 'tag2'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS_15s';
+set spanner.statement_tag to_'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+&set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'&;
+set spanner.statement_tag to 'tag2'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS&15s';
+set spanner.statement_tag to&'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+$set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'$;
+set spanner.statement_tag to 'tag2'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS$15s';
+set spanner.statement_tag to$'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+@set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'@;
+set spanner.statement_tag to 'tag2'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS@15s';
+set spanner.statement_tag to@'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+!set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'!;
+set spanner.statement_tag to 'tag2'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS!15s';
+set spanner.statement_tag to!'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+*set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'*;
+set spanner.statement_tag to 'tag2'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS*15s';
+set spanner.statement_tag to*'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+(set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'(;
+set spanner.statement_tag to 'tag2'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS(15s';
+set spanner.statement_tag to('tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+)set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s');
+set spanner.statement_tag to 'tag2');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS)15s';
+set spanner.statement_tag to)'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+-set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'-;
+set spanner.statement_tag to 'tag2'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS-15s';
+set spanner.statement_tag to-'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
++set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'+;
+set spanner.statement_tag to 'tag2'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS+15s';
+set spanner.statement_tag to+'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+-#set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'-#;
+set spanner.statement_tag to 'tag2'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS-#15s';
+set spanner.statement_tag to-#'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+/set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'/;
+set spanner.statement_tag to 'tag2'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS/15s';
+set spanner.statement_tag to/'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+\set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'\;
+set spanner.statement_tag to 'tag2'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS\15s';
+set spanner.statement_tag to\'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+?set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'?;
+set spanner.statement_tag to 'tag2'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS?15s';
+set spanner.statement_tag to?'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+-/set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'-/;
+set spanner.statement_tag to 'tag2'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS-/15s';
+set spanner.statement_tag to-/'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+/#set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'/#;
+set spanner.statement_tag to 'tag2'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS/#15s';
+set spanner.statement_tag to/#'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'EXACT_STALENESS 15s';
+/-set spanner.statement_tag to 'tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15s'/-;
+set spanner.statement_tag to 'tag2'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS/-15s';
+set spanner.statement_tag to/-'tag2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+set spanner.statement_tag to '';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'EXACT_STALENESS 1500MS';
+SET SPANNER.STATEMENT_TAG TO '';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'exact_staleness 1500ms';
+set spanner.statement_tag to '';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+ set spanner.statement_tag to '';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+ set spanner.statement_tag to '';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+set spanner.statement_tag to '';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms' ;
+set spanner.statement_tag to '' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms' ;
+set spanner.statement_tag to '' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'
+set spanner.statement_tag to ''
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+set spanner.statement_tag to '';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+set spanner.statement_tag to '';
NEW_CONNECTION;
set
-spanner.read_only_staleness
+spanner.statement_tag
to
-'EXACT_STALENESS 1500ms';
+'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+foo set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms' bar;
+set spanner.statement_tag to '' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+%set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'%;
+set spanner.statement_tag to ''%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS%1500ms';
+set spanner.statement_tag to%'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+_set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'_;
+set spanner.statement_tag to ''_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS_1500ms';
+set spanner.statement_tag to_'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+&set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'&;
+set spanner.statement_tag to ''&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS&1500ms';
+set spanner.statement_tag to&'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+$set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'$;
+set spanner.statement_tag to ''$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS$1500ms';
+set spanner.statement_tag to$'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+@set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'@;
+set spanner.statement_tag to ''@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS@1500ms';
+set spanner.statement_tag to@'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+!set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'!;
+set spanner.statement_tag to ''!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS!1500ms';
+set spanner.statement_tag to!'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+*set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'*;
+set spanner.statement_tag to ''*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS*1500ms';
+set spanner.statement_tag to*'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+(set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'(;
+set spanner.statement_tag to ''(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS(1500ms';
+set spanner.statement_tag to('';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+)set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms');
+set spanner.statement_tag to '');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS)1500ms';
+set spanner.statement_tag to)'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+-set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'-;
+set spanner.statement_tag to ''-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS-1500ms';
+set spanner.statement_tag to-'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
++set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'+;
+set spanner.statement_tag to ''+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS+1500ms';
+set spanner.statement_tag to+'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+-#set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'-#;
+set spanner.statement_tag to ''-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS-#1500ms';
+set spanner.statement_tag to-#'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+/set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'/;
+set spanner.statement_tag to ''/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS/1500ms';
+set spanner.statement_tag to/'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+\set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'\;
+set spanner.statement_tag to ''\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS\1500ms';
+set spanner.statement_tag to\'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+?set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'?;
+set spanner.statement_tag to ''?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS?1500ms';
+set spanner.statement_tag to?'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+-/set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'-/;
+set spanner.statement_tag to ''-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS-/1500ms';
+set spanner.statement_tag to-/'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+/#set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'/#;
+set spanner.statement_tag to ''/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS/#1500ms';
+set spanner.statement_tag to/#'';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms';
+/-set spanner.statement_tag to '';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 1500ms'/-;
+set spanner.statement_tag to ''/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS/-1500ms';
+set spanner.statement_tag to/-'';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+set autocommit = false;
+set spanner.transaction_tag='tag1';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'EXACT_STALENESS 15000000US';
+set autocommit = false;
+SET SPANNER.TRANSACTION_TAG='TAG1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'exact_staleness 15000000us';
+set autocommit = false;
+set spanner.transaction_tag='tag1';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+set autocommit = false;
+ set spanner.transaction_tag='tag1';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+set autocommit = false;
+ set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+set spanner.transaction_tag='tag1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us' ;
+set autocommit = false;
+set spanner.transaction_tag='tag1' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us' ;
+set autocommit = false;
+set spanner.transaction_tag='tag1' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'
+set autocommit = false;
+set spanner.transaction_tag='tag1'
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+set autocommit = false;
+set spanner.transaction_tag='tag1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+set autocommit = false;
+set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
set
-spanner.read_only_staleness
-to
-'EXACT_STALENESS 15000000us';
+spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+foo set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us' bar;
+set spanner.transaction_tag='tag1' bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+%set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'%;
+set spanner.transaction_tag='tag1'%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS%15000000us';
+set%spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+_set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'_;
+set spanner.transaction_tag='tag1'_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS_15000000us';
+set_spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+&set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'&;
+set spanner.transaction_tag='tag1'&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS&15000000us';
+set&spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+$set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'$;
+set spanner.transaction_tag='tag1'$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS$15000000us';
+set$spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+@set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'@;
+set spanner.transaction_tag='tag1'@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS@15000000us';
+set@spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+!set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'!;
+set spanner.transaction_tag='tag1'!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS!15000000us';
+set!spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+*set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'*;
+set spanner.transaction_tag='tag1'*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS*15000000us';
+set*spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+(set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'(;
+set spanner.transaction_tag='tag1'(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS(15000000us';
+set(spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+)set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us');
+set spanner.transaction_tag='tag1');
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS)15000000us';
+set)spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+-set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'-;
+set spanner.transaction_tag='tag1'-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS-15000000us';
+set-spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
++set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'+;
+set spanner.transaction_tag='tag1'+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS+15000000us';
+set+spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+-#set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'-#;
+set spanner.transaction_tag='tag1'-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS-#15000000us';
+set-#spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+/set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'/;
+set spanner.transaction_tag='tag1'/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS/15000000us';
+set/spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+\set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'\;
+set spanner.transaction_tag='tag1'\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS\15000000us';
+set\spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+?set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'?;
+set spanner.transaction_tag='tag1'?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS?15000000us';
+set?spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+-/set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'-/;
+set spanner.transaction_tag='tag1'-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS-/15000000us';
+set-/spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+/#set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'/#;
+set spanner.transaction_tag='tag1'/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS/#15000000us';
+set/#spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us';
+/-set spanner.transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 15000000us'/-;
+set spanner.transaction_tag='tag1'/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS/-15000000us';
+set/-spanner.transaction_tag='tag1';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+set autocommit = false;
+set spanner.transaction_tag='tag2';
NEW_CONNECTION;
-SET SPANNER.READ_ONLY_STALENESS TO 'EXACT_STALENESS 9999NS';
+set autocommit = false;
+SET SPANNER.TRANSACTION_TAG='TAG2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'exact_staleness 9999ns';
+set autocommit = false;
+set spanner.transaction_tag='tag2';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+set autocommit = false;
+ set spanner.transaction_tag='tag2';
NEW_CONNECTION;
- set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+set autocommit = false;
+ set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+set spanner.transaction_tag='tag2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns' ;
+set autocommit = false;
+set spanner.transaction_tag='tag2' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns' ;
+set autocommit = false;
+set spanner.transaction_tag='tag2' ;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'
+set autocommit = false;
+set spanner.transaction_tag='tag2'
;
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+set autocommit = false;
+set spanner.transaction_tag='tag2';
NEW_CONNECTION;
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+set autocommit = false;
+set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
set
-spanner.read_only_staleness
-to
-'EXACT_STALENESS 9999ns';
+spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+foo set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns' bar;
+set spanner.transaction_tag='tag2' bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+%set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'%;
+set spanner.transaction_tag='tag2'%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS%9999ns';
+set%spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+_set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'_;
+set spanner.transaction_tag='tag2'_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS_9999ns';
+set_spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+&set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'&;
+set spanner.transaction_tag='tag2'&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS&9999ns';
+set&spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+$set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'$;
+set spanner.transaction_tag='tag2'$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS$9999ns';
+set$spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+@set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'@;
+set spanner.transaction_tag='tag2'@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS@9999ns';
+set@spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+!set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'!;
+set spanner.transaction_tag='tag2'!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS!9999ns';
+set!spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+*set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'*;
+set spanner.transaction_tag='tag2'*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS*9999ns';
+set*spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+(set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'(;
+set spanner.transaction_tag='tag2'(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS(9999ns';
+set(spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+)set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns');
+set spanner.transaction_tag='tag2');
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS)9999ns';
+set)spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+-set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'-;
+set spanner.transaction_tag='tag2'-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS-9999ns';
+set-spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
++set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'+;
+set spanner.transaction_tag='tag2'+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS+9999ns';
+set+spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+-#set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'-#;
+set spanner.transaction_tag='tag2'-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS-#9999ns';
+set-#spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+/set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'/;
+set spanner.transaction_tag='tag2'/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS/9999ns';
+set/spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+\set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'\;
+set spanner.transaction_tag='tag2'\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS\9999ns';
+set\spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+?set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'?;
+set spanner.transaction_tag='tag2'?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS?9999ns';
+set?spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+-/set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'-/;
+set spanner.transaction_tag='tag2'-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS-/9999ns';
+set-/spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+/#set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'/#;
+set spanner.transaction_tag='tag2'/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS/#9999ns';
+set/#spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns';
+/-set spanner.transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS 9999ns'/-;
+set spanner.transaction_tag='tag2'/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.read_only_staleness to 'EXACT_STALENESS/-9999ns';
+set/-spanner.transaction_tag='tag2';
NEW_CONNECTION;
-set spanner.optimizer_version='1';
+set autocommit = false;
+set spanner.transaction_tag='';
NEW_CONNECTION;
-SET SPANNER.OPTIMIZER_VERSION='1';
+set autocommit = false;
+SET SPANNER.TRANSACTION_TAG='';
NEW_CONNECTION;
-set spanner.optimizer_version='1';
+set autocommit = false;
+set spanner.transaction_tag='';
NEW_CONNECTION;
- set spanner.optimizer_version='1';
+set autocommit = false;
+ set spanner.transaction_tag='';
NEW_CONNECTION;
- set spanner.optimizer_version='1';
+set autocommit = false;
+ set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
-set spanner.optimizer_version='1';
+set spanner.transaction_tag='';
NEW_CONNECTION;
-set spanner.optimizer_version='1' ;
+set autocommit = false;
+set spanner.transaction_tag='' ;
NEW_CONNECTION;
-set spanner.optimizer_version='1' ;
+set autocommit = false;
+set spanner.transaction_tag='' ;
NEW_CONNECTION;
-set spanner.optimizer_version='1'
+set autocommit = false;
+set spanner.transaction_tag=''
;
NEW_CONNECTION;
-set spanner.optimizer_version='1';
+set autocommit = false;
+set spanner.transaction_tag='';
NEW_CONNECTION;
-set spanner.optimizer_version='1';
+set autocommit = false;
+set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
set
-spanner.optimizer_version='1';
+spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.optimizer_version='1';
+foo set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1' bar;
+set spanner.transaction_tag='' bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.optimizer_version='1';
+%set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'%;
+set spanner.transaction_tag=''%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.optimizer_version='1';
+set%spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.optimizer_version='1';
+_set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'_;
+set spanner.transaction_tag=''_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.optimizer_version='1';
+set_spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.optimizer_version='1';
+&set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'&;
+set spanner.transaction_tag=''&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.optimizer_version='1';
+set&spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.optimizer_version='1';
+$set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'$;
+set spanner.transaction_tag=''$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.optimizer_version='1';
+set$spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.optimizer_version='1';
+@set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'@;
+set spanner.transaction_tag=''@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.optimizer_version='1';
+set@spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.optimizer_version='1';
+!set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'!;
+set spanner.transaction_tag=''!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.optimizer_version='1';
+set!spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.optimizer_version='1';
+*set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'*;
+set spanner.transaction_tag=''*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.optimizer_version='1';
+set*spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.optimizer_version='1';
+(set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'(;
+set spanner.transaction_tag=''(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.optimizer_version='1';
+set(spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.optimizer_version='1';
+)set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1');
+set spanner.transaction_tag='');
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.optimizer_version='1';
+set)spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.optimizer_version='1';
+-set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'-;
+set spanner.transaction_tag=''-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.optimizer_version='1';
+set-spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.optimizer_version='1';
++set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'+;
+set spanner.transaction_tag=''+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.optimizer_version='1';
+set+spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.optimizer_version='1';
+-#set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'-#;
+set spanner.transaction_tag=''-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.optimizer_version='1';
+set-#spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.optimizer_version='1';
+/set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'/;
+set spanner.transaction_tag=''/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.optimizer_version='1';
+set/spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.optimizer_version='1';
+\set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'\;
+set spanner.transaction_tag=''\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.optimizer_version='1';
+set\spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.optimizer_version='1';
+?set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'?;
+set spanner.transaction_tag=''?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.optimizer_version='1';
+set?spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.optimizer_version='1';
+-/set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'-/;
+set spanner.transaction_tag=''-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.optimizer_version='1';
+set-/spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.optimizer_version='1';
+/#set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'/#;
+set spanner.transaction_tag=''/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.optimizer_version='1';
+set/#spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.optimizer_version='1';
+/-set spanner.transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='1'/-;
+set spanner.transaction_tag=''/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.optimizer_version='1';
+set/-spanner.transaction_tag='';
NEW_CONNECTION;
-set spanner.optimizer_version='200';
+set autocommit = false;
+set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
-SET SPANNER.OPTIMIZER_VERSION='200';
+set autocommit = false;
+SET SPANNER.TRANSACTION_TAG TO 'TAG1';
NEW_CONNECTION;
-set spanner.optimizer_version='200';
+set autocommit = false;
+set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
- set spanner.optimizer_version='200';
+set autocommit = false;
+ set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
- set spanner.optimizer_version='200';
+set autocommit = false;
+ set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
-set spanner.optimizer_version='200';
+set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
-set spanner.optimizer_version='200' ;
+set autocommit = false;
+set spanner.transaction_tag to 'tag1' ;
NEW_CONNECTION;
-set spanner.optimizer_version='200' ;
+set autocommit = false;
+set spanner.transaction_tag to 'tag1' ;
NEW_CONNECTION;
-set spanner.optimizer_version='200'
+set autocommit = false;
+set spanner.transaction_tag to 'tag1'
;
NEW_CONNECTION;
-set spanner.optimizer_version='200';
+set autocommit = false;
+set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
-set spanner.optimizer_version='200';
+set autocommit = false;
+set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
set
-spanner.optimizer_version='200';
+spanner.transaction_tag
+to
+'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.optimizer_version='200';
+foo set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200' bar;
+set spanner.transaction_tag to 'tag1' bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.optimizer_version='200';
+%set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'%;
+set spanner.transaction_tag to 'tag1'%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.optimizer_version='200';
+set spanner.transaction_tag to%'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.optimizer_version='200';
+_set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'_;
+set spanner.transaction_tag to 'tag1'_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.optimizer_version='200';
+set spanner.transaction_tag to_'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.optimizer_version='200';
+&set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'&;
+set spanner.transaction_tag to 'tag1'&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.optimizer_version='200';
+set spanner.transaction_tag to&'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.optimizer_version='200';
+$set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'$;
+set spanner.transaction_tag to 'tag1'$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.optimizer_version='200';
+set spanner.transaction_tag to$'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.optimizer_version='200';
+@set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'@;
+set spanner.transaction_tag to 'tag1'@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.optimizer_version='200';
+set spanner.transaction_tag to@'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.optimizer_version='200';
+!set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'!;
+set spanner.transaction_tag to 'tag1'!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.optimizer_version='200';
+set spanner.transaction_tag to!'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.optimizer_version='200';
+*set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'*;
+set spanner.transaction_tag to 'tag1'*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.optimizer_version='200';
+set spanner.transaction_tag to*'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.optimizer_version='200';
+(set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'(;
+set spanner.transaction_tag to 'tag1'(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.optimizer_version='200';
+set spanner.transaction_tag to('tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.optimizer_version='200';
+)set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200');
+set spanner.transaction_tag to 'tag1');
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.optimizer_version='200';
+set spanner.transaction_tag to)'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.optimizer_version='200';
+-set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'-;
+set spanner.transaction_tag to 'tag1'-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.optimizer_version='200';
+set spanner.transaction_tag to-'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.optimizer_version='200';
++set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'+;
+set spanner.transaction_tag to 'tag1'+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.optimizer_version='200';
+set spanner.transaction_tag to+'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.optimizer_version='200';
+-#set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'-#;
+set spanner.transaction_tag to 'tag1'-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.optimizer_version='200';
+set spanner.transaction_tag to-#'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.optimizer_version='200';
+/set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'/;
+set spanner.transaction_tag to 'tag1'/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.optimizer_version='200';
+set spanner.transaction_tag to/'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.optimizer_version='200';
+\set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'\;
+set spanner.transaction_tag to 'tag1'\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.optimizer_version='200';
+set spanner.transaction_tag to\'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.optimizer_version='200';
+?set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'?;
+set spanner.transaction_tag to 'tag1'?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.optimizer_version='200';
+set spanner.transaction_tag to?'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.optimizer_version='200';
+-/set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'-/;
+set spanner.transaction_tag to 'tag1'-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.optimizer_version='200';
+set spanner.transaction_tag to-/'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.optimizer_version='200';
+/#set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'/#;
+set spanner.transaction_tag to 'tag1'/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.optimizer_version='200';
+set spanner.transaction_tag to/#'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.optimizer_version='200';
+/-set spanner.transaction_tag to 'tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='200'/-;
+set spanner.transaction_tag to 'tag1'/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.optimizer_version='200';
+set spanner.transaction_tag to/-'tag1';
NEW_CONNECTION;
-set spanner.optimizer_version='LATEST';
+set autocommit = false;
+set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
-SET SPANNER.OPTIMIZER_VERSION='LATEST';
+set autocommit = false;
+SET SPANNER.TRANSACTION_TAG TO 'TAG2';
NEW_CONNECTION;
-set spanner.optimizer_version='latest';
+set autocommit = false;
+set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
- set spanner.optimizer_version='LATEST';
+set autocommit = false;
+ set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
- set spanner.optimizer_version='LATEST';
+set autocommit = false;
+ set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
-set spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
-set spanner.optimizer_version='LATEST' ;
+set autocommit = false;
+set spanner.transaction_tag to 'tag2' ;
NEW_CONNECTION;
-set spanner.optimizer_version='LATEST' ;
+set autocommit = false;
+set spanner.transaction_tag to 'tag2' ;
NEW_CONNECTION;
-set spanner.optimizer_version='LATEST'
+set autocommit = false;
+set spanner.transaction_tag to 'tag2'
;
NEW_CONNECTION;
-set spanner.optimizer_version='LATEST';
+set autocommit = false;
+set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
-set spanner.optimizer_version='LATEST';
+set autocommit = false;
+set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
set
-spanner.optimizer_version='LATEST';
+spanner.transaction_tag
+to
+'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.optimizer_version='LATEST';
+foo set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST' bar;
+set spanner.transaction_tag to 'tag2' bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.optimizer_version='LATEST';
+%set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'%;
+set spanner.transaction_tag to 'tag2'%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to%'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.optimizer_version='LATEST';
+_set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'_;
+set spanner.transaction_tag to 'tag2'_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to_'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.optimizer_version='LATEST';
+&set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'&;
+set spanner.transaction_tag to 'tag2'&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to&'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.optimizer_version='LATEST';
+$set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'$;
+set spanner.transaction_tag to 'tag2'$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to$'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.optimizer_version='LATEST';
+@set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'@;
+set spanner.transaction_tag to 'tag2'@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to@'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.optimizer_version='LATEST';
+!set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'!;
+set spanner.transaction_tag to 'tag2'!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to!'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.optimizer_version='LATEST';
+*set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'*;
+set spanner.transaction_tag to 'tag2'*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to*'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.optimizer_version='LATEST';
+(set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'(;
+set spanner.transaction_tag to 'tag2'(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to('tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.optimizer_version='LATEST';
+)set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST');
+set spanner.transaction_tag to 'tag2');
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to)'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.optimizer_version='LATEST';
+-set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'-;
+set spanner.transaction_tag to 'tag2'-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to-'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.optimizer_version='LATEST';
++set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'+;
+set spanner.transaction_tag to 'tag2'+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to+'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.optimizer_version='LATEST';
+-#set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'-#;
+set spanner.transaction_tag to 'tag2'-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to-#'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.optimizer_version='LATEST';
+/set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'/;
+set spanner.transaction_tag to 'tag2'/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to/'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.optimizer_version='LATEST';
+\set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'\;
+set spanner.transaction_tag to 'tag2'\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to\'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.optimizer_version='LATEST';
+?set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'?;
+set spanner.transaction_tag to 'tag2'?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to?'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.optimizer_version='LATEST';
+-/set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'-/;
+set spanner.transaction_tag to 'tag2'-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to-/'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.optimizer_version='LATEST';
+/#set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'/#;
+set spanner.transaction_tag to 'tag2'/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to/#'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.optimizer_version='LATEST';
+/-set spanner.transaction_tag to 'tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='LATEST'/-;
+set spanner.transaction_tag to 'tag2'/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.optimizer_version='LATEST';
+set spanner.transaction_tag to/-'tag2';
NEW_CONNECTION;
-set spanner.optimizer_version='';
+set autocommit = false;
+set spanner.transaction_tag to '';
NEW_CONNECTION;
-SET SPANNER.OPTIMIZER_VERSION='';
+set autocommit = false;
+SET SPANNER.TRANSACTION_TAG TO '';
NEW_CONNECTION;
-set spanner.optimizer_version='';
+set autocommit = false;
+set spanner.transaction_tag to '';
NEW_CONNECTION;
- set spanner.optimizer_version='';
+set autocommit = false;
+ set spanner.transaction_tag to '';
NEW_CONNECTION;
- set spanner.optimizer_version='';
+set autocommit = false;
+ set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
-set spanner.optimizer_version='';
+set spanner.transaction_tag to '';
NEW_CONNECTION;
-set spanner.optimizer_version='' ;
+set autocommit = false;
+set spanner.transaction_tag to '' ;
NEW_CONNECTION;
-set spanner.optimizer_version='' ;
+set autocommit = false;
+set spanner.transaction_tag to '' ;
NEW_CONNECTION;
-set spanner.optimizer_version=''
+set autocommit = false;
+set spanner.transaction_tag to ''
;
NEW_CONNECTION;
-set spanner.optimizer_version='';
+set autocommit = false;
+set spanner.transaction_tag to '';
NEW_CONNECTION;
-set spanner.optimizer_version='';
+set autocommit = false;
+set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
set
-spanner.optimizer_version='';
+spanner.transaction_tag
+to
+'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.optimizer_version='';
+foo set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='' bar;
+set spanner.transaction_tag to '' bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.optimizer_version='';
+%set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''%;
+set spanner.transaction_tag to ''%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.optimizer_version='';
+set spanner.transaction_tag to%'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.optimizer_version='';
+_set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''_;
+set spanner.transaction_tag to ''_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.optimizer_version='';
+set spanner.transaction_tag to_'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.optimizer_version='';
+&set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''&;
+set spanner.transaction_tag to ''&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.optimizer_version='';
+set spanner.transaction_tag to&'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.optimizer_version='';
+$set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''$;
+set spanner.transaction_tag to ''$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.optimizer_version='';
+set spanner.transaction_tag to$'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.optimizer_version='';
+@set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''@;
+set spanner.transaction_tag to ''@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.optimizer_version='';
+set spanner.transaction_tag to@'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.optimizer_version='';
+!set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''!;
+set spanner.transaction_tag to ''!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.optimizer_version='';
+set spanner.transaction_tag to!'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.optimizer_version='';
+*set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''*;
+set spanner.transaction_tag to ''*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.optimizer_version='';
+set spanner.transaction_tag to*'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.optimizer_version='';
+(set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''(;
+set spanner.transaction_tag to ''(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.optimizer_version='';
+set spanner.transaction_tag to('';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.optimizer_version='';
+)set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version='');
+set spanner.transaction_tag to '');
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.optimizer_version='';
+set spanner.transaction_tag to)'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.optimizer_version='';
+-set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''-;
+set spanner.transaction_tag to ''-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.optimizer_version='';
+set spanner.transaction_tag to-'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.optimizer_version='';
++set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''+;
+set spanner.transaction_tag to ''+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.optimizer_version='';
+set spanner.transaction_tag to+'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.optimizer_version='';
+-#set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''-#;
+set spanner.transaction_tag to ''-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.optimizer_version='';
+set spanner.transaction_tag to-#'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.optimizer_version='';
+/set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''/;
+set spanner.transaction_tag to ''/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.optimizer_version='';
+set spanner.transaction_tag to/'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.optimizer_version='';
+\set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''\;
+set spanner.transaction_tag to ''\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.optimizer_version='';
+set spanner.transaction_tag to\'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.optimizer_version='';
+?set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''?;
+set spanner.transaction_tag to ''?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.optimizer_version='';
+set spanner.transaction_tag to?'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.optimizer_version='';
+-/set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''-/;
+set spanner.transaction_tag to ''-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.optimizer_version='';
+set spanner.transaction_tag to-/'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.optimizer_version='';
+/#set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''/#;
+set spanner.transaction_tag to ''/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.optimizer_version='';
+set spanner.transaction_tag to/#'';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.optimizer_version='';
+/-set spanner.transaction_tag to '';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version=''/-;
+set spanner.transaction_tag to ''/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.optimizer_version='';
+set spanner.transaction_tag to/-'';
NEW_CONNECTION;
-set spanner.optimizer_version to '1';
+set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
-SET SPANNER.OPTIMIZER_VERSION TO '1';
+SET SPANNER.RPC_PRIORITY='HIGH';
NEW_CONNECTION;
-set spanner.optimizer_version to '1';
+set spanner.rpc_priority='high';
NEW_CONNECTION;
- set spanner.optimizer_version to '1';
+ set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
- set spanner.optimizer_version to '1';
+ set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
-set spanner.optimizer_version to '1';
+set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
-set spanner.optimizer_version to '1' ;
+set spanner.rpc_priority='HIGH' ;
NEW_CONNECTION;
-set spanner.optimizer_version to '1' ;
+set spanner.rpc_priority='HIGH' ;
NEW_CONNECTION;
-set spanner.optimizer_version to '1'
+set spanner.rpc_priority='HIGH'
;
NEW_CONNECTION;
-set spanner.optimizer_version to '1';
+set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
-set spanner.optimizer_version to '1';
+set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
set
-spanner.optimizer_version
-to
-'1';
+spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.optimizer_version to '1';
+foo set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1' bar;
+set spanner.rpc_priority='HIGH' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.optimizer_version to '1';
+%set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'%;
+set spanner.rpc_priority='HIGH'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to%'1';
+set%spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.optimizer_version to '1';
+_set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'_;
+set spanner.rpc_priority='HIGH'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to_'1';
+set_spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.optimizer_version to '1';
+&set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'&;
+set spanner.rpc_priority='HIGH'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to&'1';
+set&spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.optimizer_version to '1';
+$set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'$;
+set spanner.rpc_priority='HIGH'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to$'1';
+set$spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.optimizer_version to '1';
+@set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'@;
+set spanner.rpc_priority='HIGH'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to@'1';
+set@spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.optimizer_version to '1';
+!set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'!;
+set spanner.rpc_priority='HIGH'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to!'1';
+set!spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.optimizer_version to '1';
+*set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'*;
+set spanner.rpc_priority='HIGH'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to*'1';
+set*spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.optimizer_version to '1';
+(set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'(;
+set spanner.rpc_priority='HIGH'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to('1';
+set(spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.optimizer_version to '1';
+)set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1');
+set spanner.rpc_priority='HIGH');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to)'1';
+set)spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.optimizer_version to '1';
+-set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'-;
+set spanner.rpc_priority='HIGH'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to-'1';
+set-spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.optimizer_version to '1';
++set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'+;
+set spanner.rpc_priority='HIGH'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to+'1';
+set+spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.optimizer_version to '1';
+-#set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'-#;
+set spanner.rpc_priority='HIGH'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to-#'1';
+set-#spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.optimizer_version to '1';
+/set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'/;
+set spanner.rpc_priority='HIGH'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to/'1';
+set/spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.optimizer_version to '1';
+\set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'\;
+set spanner.rpc_priority='HIGH'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to\'1';
+set\spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.optimizer_version to '1';
+?set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'?;
+set spanner.rpc_priority='HIGH'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to?'1';
+set?spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.optimizer_version to '1';
+-/set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'-/;
+set spanner.rpc_priority='HIGH'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to-/'1';
+set-/spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.optimizer_version to '1';
+/#set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'/#;
+set spanner.rpc_priority='HIGH'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to/#'1';
+set/#spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.optimizer_version to '1';
+/-set spanner.rpc_priority='HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '1'/-;
+set spanner.rpc_priority='HIGH'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to/-'1';
+set/-spanner.rpc_priority='HIGH';
NEW_CONNECTION;
-set spanner.optimizer_version to '200';
+set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
-SET SPANNER.OPTIMIZER_VERSION TO '200';
+SET SPANNER.RPC_PRIORITY='MEDIUM';
NEW_CONNECTION;
-set spanner.optimizer_version to '200';
+set spanner.rpc_priority='medium';
NEW_CONNECTION;
- set spanner.optimizer_version to '200';
+ set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
- set spanner.optimizer_version to '200';
+ set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
-set spanner.optimizer_version to '200';
+set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
-set spanner.optimizer_version to '200' ;
+set spanner.rpc_priority='MEDIUM' ;
NEW_CONNECTION;
-set spanner.optimizer_version to '200' ;
+set spanner.rpc_priority='MEDIUM' ;
NEW_CONNECTION;
-set spanner.optimizer_version to '200'
+set spanner.rpc_priority='MEDIUM'
;
NEW_CONNECTION;
-set spanner.optimizer_version to '200';
+set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
-set spanner.optimizer_version to '200';
+set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
set
-spanner.optimizer_version
-to
-'200';
+spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.optimizer_version to '200';
+foo set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200' bar;
+set spanner.rpc_priority='MEDIUM' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.optimizer_version to '200';
+%set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'%;
+set spanner.rpc_priority='MEDIUM'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to%'200';
+set%spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.optimizer_version to '200';
+_set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'_;
+set spanner.rpc_priority='MEDIUM'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to_'200';
+set_spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.optimizer_version to '200';
+&set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'&;
+set spanner.rpc_priority='MEDIUM'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to&'200';
+set&spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.optimizer_version to '200';
+$set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'$;
+set spanner.rpc_priority='MEDIUM'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to$'200';
+set$spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.optimizer_version to '200';
+@set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'@;
+set spanner.rpc_priority='MEDIUM'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to@'200';
+set@spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.optimizer_version to '200';
+!set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'!;
+set spanner.rpc_priority='MEDIUM'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to!'200';
+set!spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.optimizer_version to '200';
+*set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'*;
+set spanner.rpc_priority='MEDIUM'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to*'200';
+set*spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.optimizer_version to '200';
+(set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'(;
+set spanner.rpc_priority='MEDIUM'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to('200';
+set(spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.optimizer_version to '200';
+)set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200');
+set spanner.rpc_priority='MEDIUM');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to)'200';
+set)spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.optimizer_version to '200';
+-set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'-;
+set spanner.rpc_priority='MEDIUM'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to-'200';
+set-spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.optimizer_version to '200';
++set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'+;
+set spanner.rpc_priority='MEDIUM'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to+'200';
+set+spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.optimizer_version to '200';
+-#set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'-#;
+set spanner.rpc_priority='MEDIUM'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to-#'200';
+set-#spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.optimizer_version to '200';
+/set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'/;
+set spanner.rpc_priority='MEDIUM'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to/'200';
+set/spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.optimizer_version to '200';
+\set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'\;
+set spanner.rpc_priority='MEDIUM'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to\'200';
+set\spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.optimizer_version to '200';
+?set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'?;
+set spanner.rpc_priority='MEDIUM'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to?'200';
+set?spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.optimizer_version to '200';
+-/set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'-/;
+set spanner.rpc_priority='MEDIUM'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to-/'200';
+set-/spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.optimizer_version to '200';
+/#set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'/#;
+set spanner.rpc_priority='MEDIUM'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to/#'200';
+set/#spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.optimizer_version to '200';
+/-set spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '200'/-;
+set spanner.rpc_priority='MEDIUM'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to/-'200';
+set/-spanner.rpc_priority='MEDIUM';
NEW_CONNECTION;
-set spanner.optimizer_version to 'LATEST';
+set spanner.rpc_priority='LOW';
NEW_CONNECTION;
-SET SPANNER.OPTIMIZER_VERSION TO 'LATEST';
+SET SPANNER.RPC_PRIORITY='LOW';
NEW_CONNECTION;
-set spanner.optimizer_version to 'latest';
+set spanner.rpc_priority='low';
NEW_CONNECTION;
- set spanner.optimizer_version to 'LATEST';
+ set spanner.rpc_priority='LOW';
NEW_CONNECTION;
- set spanner.optimizer_version to 'LATEST';
+ set spanner.rpc_priority='LOW';
NEW_CONNECTION;
-set spanner.optimizer_version to 'LATEST';
+set spanner.rpc_priority='LOW';
NEW_CONNECTION;
-set spanner.optimizer_version to 'LATEST' ;
+set spanner.rpc_priority='LOW' ;
NEW_CONNECTION;
-set spanner.optimizer_version to 'LATEST' ;
+set spanner.rpc_priority='LOW' ;
NEW_CONNECTION;
-set spanner.optimizer_version to 'LATEST'
+set spanner.rpc_priority='LOW'
;
NEW_CONNECTION;
-set spanner.optimizer_version to 'LATEST';
+set spanner.rpc_priority='LOW';
NEW_CONNECTION;
-set spanner.optimizer_version to 'LATEST';
+set spanner.rpc_priority='LOW';
NEW_CONNECTION;
set
-spanner.optimizer_version
-to
-'LATEST';
+spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.optimizer_version to 'LATEST';
+foo set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST' bar;
+set spanner.rpc_priority='LOW' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.optimizer_version to 'LATEST';
+%set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'%;
+set spanner.rpc_priority='LOW'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to%'LATEST';
+set%spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.optimizer_version to 'LATEST';
+_set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'_;
+set spanner.rpc_priority='LOW'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to_'LATEST';
+set_spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.optimizer_version to 'LATEST';
+&set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'&;
+set spanner.rpc_priority='LOW'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to&'LATEST';
+set&spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.optimizer_version to 'LATEST';
+$set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'$;
+set spanner.rpc_priority='LOW'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to$'LATEST';
+set$spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.optimizer_version to 'LATEST';
+@set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'@;
+set spanner.rpc_priority='LOW'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to@'LATEST';
+set@spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.optimizer_version to 'LATEST';
+!set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'!;
+set spanner.rpc_priority='LOW'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to!'LATEST';
+set!spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.optimizer_version to 'LATEST';
+*set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'*;
+set spanner.rpc_priority='LOW'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to*'LATEST';
+set*spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.optimizer_version to 'LATEST';
+(set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'(;
+set spanner.rpc_priority='LOW'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to('LATEST';
+set(spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.optimizer_version to 'LATEST';
+)set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST');
+set spanner.rpc_priority='LOW');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to)'LATEST';
+set)spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.optimizer_version to 'LATEST';
+-set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'-;
+set spanner.rpc_priority='LOW'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to-'LATEST';
+set-spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.optimizer_version to 'LATEST';
++set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'+;
+set spanner.rpc_priority='LOW'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to+'LATEST';
+set+spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.optimizer_version to 'LATEST';
+-#set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'-#;
+set spanner.rpc_priority='LOW'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to-#'LATEST';
+set-#spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.optimizer_version to 'LATEST';
+/set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'/;
+set spanner.rpc_priority='LOW'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to/'LATEST';
+set/spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.optimizer_version to 'LATEST';
+\set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'\;
+set spanner.rpc_priority='LOW'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to\'LATEST';
+set\spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.optimizer_version to 'LATEST';
+?set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'?;
+set spanner.rpc_priority='LOW'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to?'LATEST';
+set?spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.optimizer_version to 'LATEST';
+-/set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'-/;
+set spanner.rpc_priority='LOW'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to-/'LATEST';
+set-/spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.optimizer_version to 'LATEST';
+/#set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'/#;
+set spanner.rpc_priority='LOW'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to/#'LATEST';
+set/#spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.optimizer_version to 'LATEST';
+/-set spanner.rpc_priority='LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to 'LATEST'/-;
+set spanner.rpc_priority='LOW'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to/-'LATEST';
+set/-spanner.rpc_priority='LOW';
NEW_CONNECTION;
-set spanner.optimizer_version to '';
+set spanner.rpc_priority='NULL';
NEW_CONNECTION;
-SET SPANNER.OPTIMIZER_VERSION TO '';
+SET SPANNER.RPC_PRIORITY='NULL';
NEW_CONNECTION;
-set spanner.optimizer_version to '';
+set spanner.rpc_priority='null';
NEW_CONNECTION;
- set spanner.optimizer_version to '';
+ set spanner.rpc_priority='NULL';
NEW_CONNECTION;
- set spanner.optimizer_version to '';
+ set spanner.rpc_priority='NULL';
NEW_CONNECTION;
-set spanner.optimizer_version to '';
+set spanner.rpc_priority='NULL';
NEW_CONNECTION;
-set spanner.optimizer_version to '' ;
+set spanner.rpc_priority='NULL' ;
NEW_CONNECTION;
-set spanner.optimizer_version to '' ;
+set spanner.rpc_priority='NULL' ;
NEW_CONNECTION;
-set spanner.optimizer_version to ''
+set spanner.rpc_priority='NULL'
;
NEW_CONNECTION;
-set spanner.optimizer_version to '';
+set spanner.rpc_priority='NULL';
NEW_CONNECTION;
-set spanner.optimizer_version to '';
+set spanner.rpc_priority='NULL';
NEW_CONNECTION;
set
-spanner.optimizer_version
-to
-'';
+spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.optimizer_version to '';
+foo set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '' bar;
+set spanner.rpc_priority='NULL' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.optimizer_version to '';
+%set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''%;
+set spanner.rpc_priority='NULL'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to%'';
+set%spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.optimizer_version to '';
+_set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''_;
+set spanner.rpc_priority='NULL'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to_'';
+set_spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.optimizer_version to '';
+&set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''&;
+set spanner.rpc_priority='NULL'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to&'';
+set&spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.optimizer_version to '';
+$set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''$;
+set spanner.rpc_priority='NULL'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to$'';
+set$spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.optimizer_version to '';
+@set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''@;
+set spanner.rpc_priority='NULL'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to@'';
+set@spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.optimizer_version to '';
+!set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''!;
+set spanner.rpc_priority='NULL'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to!'';
+set!spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.optimizer_version to '';
+*set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''*;
+set spanner.rpc_priority='NULL'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to*'';
+set*spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.optimizer_version to '';
+(set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''(;
+set spanner.rpc_priority='NULL'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to('';
+set(spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.optimizer_version to '';
+)set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to '');
+set spanner.rpc_priority='NULL');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to)'';
+set)spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.optimizer_version to '';
+-set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''-;
+set spanner.rpc_priority='NULL'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to-'';
+set-spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.optimizer_version to '';
++set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''+;
+set spanner.rpc_priority='NULL'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to+'';
+set+spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.optimizer_version to '';
+-#set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''-#;
+set spanner.rpc_priority='NULL'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to-#'';
+set-#spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.optimizer_version to '';
+/set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''/;
+set spanner.rpc_priority='NULL'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to/'';
+set/spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.optimizer_version to '';
+\set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''\;
+set spanner.rpc_priority='NULL'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to\'';
+set\spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.optimizer_version to '';
+?set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''?;
+set spanner.rpc_priority='NULL'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to?'';
+set?spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.optimizer_version to '';
+-/set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''-/;
+set spanner.rpc_priority='NULL'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to-/'';
+set-/spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.optimizer_version to '';
+/#set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''/#;
+set spanner.rpc_priority='NULL'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to/#'';
+set/#spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.optimizer_version to '';
+/-set spanner.rpc_priority='NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to ''/-;
+set spanner.rpc_priority='NULL'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_version to/-'';
+set/-spanner.rpc_priority='NULL';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
-SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='AUTO_20191128_14_47_22UTC';
+SET SPANNER.RPC_PRIORITY TO 'HIGH';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22utc';
+set spanner.rpc_priority to 'high';
NEW_CONNECTION;
- set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+ set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
- set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+ set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC' ;
+set spanner.rpc_priority to 'HIGH' ;
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC' ;
+set spanner.rpc_priority to 'HIGH' ;
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'
+set spanner.rpc_priority to 'HIGH'
;
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
set
-spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+spanner.rpc_priority
+to
+'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+foo set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC' bar;
+set spanner.rpc_priority to 'HIGH' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+%set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'%;
+set spanner.rpc_priority to 'HIGH'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to%'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+_set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'_;
+set spanner.rpc_priority to 'HIGH'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to_'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+&set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'&;
+set spanner.rpc_priority to 'HIGH'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to&'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+$set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'$;
+set spanner.rpc_priority to 'HIGH'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to$'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+@set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'@;
+set spanner.rpc_priority to 'HIGH'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to@'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+!set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'!;
+set spanner.rpc_priority to 'HIGH'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to!'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+*set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'*;
+set spanner.rpc_priority to 'HIGH'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to*'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+(set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'(;
+set spanner.rpc_priority to 'HIGH'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to('HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+)set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC');
+set spanner.rpc_priority to 'HIGH');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to)'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+-set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'-;
+set spanner.rpc_priority to 'HIGH'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to-'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
++set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'+;
+set spanner.rpc_priority to 'HIGH'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to+'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+-#set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'-#;
+set spanner.rpc_priority to 'HIGH'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to-#'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+/set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'/;
+set spanner.rpc_priority to 'HIGH'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to/'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+\set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'\;
+set spanner.rpc_priority to 'HIGH'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to\'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+?set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'?;
+set spanner.rpc_priority to 'HIGH'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to?'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+-/set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'-/;
+set spanner.rpc_priority to 'HIGH'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to-/'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+/#set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'/#;
+set spanner.rpc_priority to 'HIGH'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to/#'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+/-set spanner.rpc_priority to 'HIGH';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC'/-;
+set spanner.rpc_priority to 'HIGH'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.optimizer_statistics_package='auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to/-'HIGH';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
-SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
+SET SPANNER.RPC_PRIORITY TO 'MEDIUM';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to 'medium';
NEW_CONNECTION;
- set spanner.optimizer_statistics_package='';
+ set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
- set spanner.optimizer_statistics_package='';
+ set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='' ;
+set spanner.rpc_priority to 'MEDIUM' ;
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='' ;
+set spanner.rpc_priority to 'MEDIUM' ;
NEW_CONNECTION;
-set spanner.optimizer_statistics_package=''
+set spanner.rpc_priority to 'MEDIUM'
;
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
set
-spanner.optimizer_statistics_package='';
+spanner.rpc_priority
+to
+'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.optimizer_statistics_package='';
+foo set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='' bar;
+set spanner.rpc_priority to 'MEDIUM' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.optimizer_statistics_package='';
+%set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''%;
+set spanner.rpc_priority to 'MEDIUM'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to%'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.optimizer_statistics_package='';
+_set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''_;
+set spanner.rpc_priority to 'MEDIUM'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to_'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.optimizer_statistics_package='';
+&set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''&;
+set spanner.rpc_priority to 'MEDIUM'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to&'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.optimizer_statistics_package='';
+$set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''$;
+set spanner.rpc_priority to 'MEDIUM'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to$'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.optimizer_statistics_package='';
+@set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''@;
+set spanner.rpc_priority to 'MEDIUM'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to@'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.optimizer_statistics_package='';
+!set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''!;
+set spanner.rpc_priority to 'MEDIUM'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to!'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.optimizer_statistics_package='';
+*set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''*;
+set spanner.rpc_priority to 'MEDIUM'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to*'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.optimizer_statistics_package='';
+(set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''(;
+set spanner.rpc_priority to 'MEDIUM'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to('MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.optimizer_statistics_package='';
+)set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package='');
+set spanner.rpc_priority to 'MEDIUM');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to)'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.optimizer_statistics_package='';
+-set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''-;
+set spanner.rpc_priority to 'MEDIUM'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to-'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.optimizer_statistics_package='';
++set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''+;
+set spanner.rpc_priority to 'MEDIUM'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to+'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.optimizer_statistics_package='';
+-#set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''-#;
+set spanner.rpc_priority to 'MEDIUM'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to-#'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.optimizer_statistics_package='';
+/set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''/;
+set spanner.rpc_priority to 'MEDIUM'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to/'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.optimizer_statistics_package='';
+\set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''\;
+set spanner.rpc_priority to 'MEDIUM'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to\'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.optimizer_statistics_package='';
+?set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''?;
+set spanner.rpc_priority to 'MEDIUM'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to?'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.optimizer_statistics_package='';
+-/set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''-/;
+set spanner.rpc_priority to 'MEDIUM'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to-/'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.optimizer_statistics_package='';
+/#set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''/#;
+set spanner.rpc_priority to 'MEDIUM'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to/#'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.optimizer_statistics_package='';
+/-set spanner.rpc_priority to 'MEDIUM';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package=''/-;
+set spanner.rpc_priority to 'MEDIUM'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.optimizer_statistics_package='';
+set spanner.rpc_priority to/-'MEDIUM';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
-SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE TO 'AUTO_20191128_14_47_22UTC';
+SET SPANNER.RPC_PRIORITY TO 'LOW';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22utc';
+set spanner.rpc_priority to 'low';
NEW_CONNECTION;
- set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+ set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
- set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+ set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC' ;
+set spanner.rpc_priority to 'LOW' ;
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC' ;
+set spanner.rpc_priority to 'LOW' ;
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'
+set spanner.rpc_priority to 'LOW'
;
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
set
-spanner.optimizer_statistics_package
+spanner.rpc_priority
to
-'auto_20191128_14_47_22UTC';
+'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+foo set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC' bar;
+set spanner.rpc_priority to 'LOW' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+%set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'%;
+set spanner.rpc_priority to 'LOW'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to%'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to%'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+_set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'_;
+set spanner.rpc_priority to 'LOW'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to_'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to_'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+&set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'&;
+set spanner.rpc_priority to 'LOW'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to&'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to&'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+$set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'$;
+set spanner.rpc_priority to 'LOW'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to$'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to$'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+@set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'@;
+set spanner.rpc_priority to 'LOW'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to@'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to@'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+!set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'!;
+set spanner.rpc_priority to 'LOW'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to!'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to!'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+*set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'*;
+set spanner.rpc_priority to 'LOW'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to*'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to*'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+(set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'(;
+set spanner.rpc_priority to 'LOW'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to('auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to('LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+)set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC');
+set spanner.rpc_priority to 'LOW');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to)'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to)'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+-set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'-;
+set spanner.rpc_priority to 'LOW'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to-'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to-'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
++set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'+;
+set spanner.rpc_priority to 'LOW'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to+'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to+'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+-#set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'-#;
+set spanner.rpc_priority to 'LOW'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to-#'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to-#'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+/set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'/;
+set spanner.rpc_priority to 'LOW'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to/'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to/'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+\set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'\;
+set spanner.rpc_priority to 'LOW'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to\'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to\'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+?set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'?;
+set spanner.rpc_priority to 'LOW'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to?'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to?'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+-/set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'-/;
+set spanner.rpc_priority to 'LOW'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to-/'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to-/'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+/#set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'/#;
+set spanner.rpc_priority to 'LOW'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to/#'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to/#'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC';
+/-set spanner.rpc_priority to 'LOW';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to 'auto_20191128_14_47_22UTC'/-;
+set spanner.rpc_priority to 'LOW'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to/-'auto_20191128_14_47_22UTC';
+set spanner.rpc_priority to/-'LOW';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to '';
+set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
-SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE TO '';
+SET SPANNER.RPC_PRIORITY TO 'NULL';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to '';
+set spanner.rpc_priority to 'null';
NEW_CONNECTION;
- set spanner.optimizer_statistics_package to '';
+ set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
- set spanner.optimizer_statistics_package to '';
+ set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to '';
+set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to '' ;
+set spanner.rpc_priority to 'NULL' ;
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to '' ;
+set spanner.rpc_priority to 'NULL' ;
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to ''
+set spanner.rpc_priority to 'NULL'
;
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to '';
+set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
-set spanner.optimizer_statistics_package to '';
+set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
set
-spanner.optimizer_statistics_package
+spanner.rpc_priority
to
-'';
+'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.optimizer_statistics_package to '';
+foo set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to '' bar;
+set spanner.rpc_priority to 'NULL' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.optimizer_statistics_package to '';
+%set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''%;
+set spanner.rpc_priority to 'NULL'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to%'';
+set spanner.rpc_priority to%'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.optimizer_statistics_package to '';
+_set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''_;
+set spanner.rpc_priority to 'NULL'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to_'';
+set spanner.rpc_priority to_'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.optimizer_statistics_package to '';
+&set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''&;
+set spanner.rpc_priority to 'NULL'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to&'';
+set spanner.rpc_priority to&'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.optimizer_statistics_package to '';
+$set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''$;
+set spanner.rpc_priority to 'NULL'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to$'';
+set spanner.rpc_priority to$'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.optimizer_statistics_package to '';
+@set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''@;
+set spanner.rpc_priority to 'NULL'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to@'';
+set spanner.rpc_priority to@'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.optimizer_statistics_package to '';
+!set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''!;
+set spanner.rpc_priority to 'NULL'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to!'';
+set spanner.rpc_priority to!'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.optimizer_statistics_package to '';
+*set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''*;
+set spanner.rpc_priority to 'NULL'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to*'';
+set spanner.rpc_priority to*'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.optimizer_statistics_package to '';
+(set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''(;
+set spanner.rpc_priority to 'NULL'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to('';
+set spanner.rpc_priority to('NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.optimizer_statistics_package to '';
+)set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to '');
+set spanner.rpc_priority to 'NULL');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to)'';
+set spanner.rpc_priority to)'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.optimizer_statistics_package to '';
+-set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''-;
+set spanner.rpc_priority to 'NULL'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to-'';
+set spanner.rpc_priority to-'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.optimizer_statistics_package to '';
++set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''+;
+set spanner.rpc_priority to 'NULL'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to+'';
+set spanner.rpc_priority to+'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.optimizer_statistics_package to '';
+-#set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''-#;
+set spanner.rpc_priority to 'NULL'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to-#'';
+set spanner.rpc_priority to-#'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.optimizer_statistics_package to '';
+/set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''/;
+set spanner.rpc_priority to 'NULL'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to/'';
+set spanner.rpc_priority to/'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.optimizer_statistics_package to '';
+\set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''\;
+set spanner.rpc_priority to 'NULL'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to\'';
+set spanner.rpc_priority to\'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.optimizer_statistics_package to '';
+?set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''?;
+set spanner.rpc_priority to 'NULL'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to?'';
+set spanner.rpc_priority to?'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.optimizer_statistics_package to '';
+-/set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''-/;
+set spanner.rpc_priority to 'NULL'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to-/'';
+set spanner.rpc_priority to-/'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.optimizer_statistics_package to '';
+/#set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''/#;
+set spanner.rpc_priority to 'NULL'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to/#'';
+set spanner.rpc_priority to/#'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.optimizer_statistics_package to '';
+/-set spanner.rpc_priority to 'NULL';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to ''/-;
+set spanner.rpc_priority to 'NULL'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.optimizer_statistics_package to/-'';
+set spanner.rpc_priority to/-'NULL';
NEW_CONNECTION;
-set spanner.return_commit_stats = true;
+set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
-SET SPANNER.RETURN_COMMIT_STATS = TRUE;
+SET SPANNER.SAVEPOINT_SUPPORT='ENABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats = true;
+set spanner.savepoint_support='enabled';
NEW_CONNECTION;
- set spanner.return_commit_stats = true;
+ set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
- set spanner.return_commit_stats = true;
+ set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats = true;
+set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats = true ;
+set spanner.savepoint_support='ENABLED' ;
NEW_CONNECTION;
-set spanner.return_commit_stats = true ;
+set spanner.savepoint_support='ENABLED' ;
NEW_CONNECTION;
-set spanner.return_commit_stats = true
+set spanner.savepoint_support='ENABLED'
;
NEW_CONNECTION;
-set spanner.return_commit_stats = true;
+set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats = true;
+set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
set
-spanner.return_commit_stats
-=
-true;
+spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.return_commit_stats = true;
+foo set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true bar;
+set spanner.savepoint_support='ENABLED' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.return_commit_stats = true;
+%set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true%;
+set spanner.savepoint_support='ENABLED'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =%true;
+set%spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.return_commit_stats = true;
+_set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true_;
+set spanner.savepoint_support='ENABLED'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =_true;
+set_spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.return_commit_stats = true;
+&set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true&;
+set spanner.savepoint_support='ENABLED'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =&true;
+set&spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.return_commit_stats = true;
+$set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true$;
+set spanner.savepoint_support='ENABLED'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =$true;
+set$spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.return_commit_stats = true;
+@set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true@;
+set spanner.savepoint_support='ENABLED'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =@true;
+set@spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.return_commit_stats = true;
+!set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true!;
+set spanner.savepoint_support='ENABLED'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =!true;
+set!spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.return_commit_stats = true;
+*set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true*;
+set spanner.savepoint_support='ENABLED'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =*true;
+set*spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.return_commit_stats = true;
+(set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true(;
+set spanner.savepoint_support='ENABLED'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =(true;
+set(spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.return_commit_stats = true;
+)set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true);
+set spanner.savepoint_support='ENABLED');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =)true;
+set)spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.return_commit_stats = true;
+-set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true-;
+set spanner.savepoint_support='ENABLED'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =-true;
+set-spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.return_commit_stats = true;
++set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true+;
+set spanner.savepoint_support='ENABLED'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =+true;
+set+spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.return_commit_stats = true;
+-#set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true-#;
+set spanner.savepoint_support='ENABLED'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =-#true;
+set-#spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.return_commit_stats = true;
+/set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true/;
+set spanner.savepoint_support='ENABLED'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =/true;
+set/spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.return_commit_stats = true;
+\set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true\;
+set spanner.savepoint_support='ENABLED'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =\true;
+set\spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.return_commit_stats = true;
+?set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true?;
+set spanner.savepoint_support='ENABLED'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =?true;
+set?spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.return_commit_stats = true;
+-/set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true-/;
+set spanner.savepoint_support='ENABLED'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =-/true;
+set-/spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.return_commit_stats = true;
+/#set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true/#;
+set spanner.savepoint_support='ENABLED'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =/#true;
+set/#spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.return_commit_stats = true;
+/-set spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = true/-;
+set spanner.savepoint_support='ENABLED'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =/-true;
+set/-spanner.savepoint_support='ENABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats = false;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-SET SPANNER.RETURN_COMMIT_STATS = FALSE;
+SET SPANNER.SAVEPOINT_SUPPORT='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set spanner.return_commit_stats = false;
+set spanner.savepoint_support='fail_after_rollback';
NEW_CONNECTION;
- set spanner.return_commit_stats = false;
+ set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
- set spanner.return_commit_stats = false;
+ set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set spanner.return_commit_stats = false;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set spanner.return_commit_stats = false ;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK' ;
NEW_CONNECTION;
-set spanner.return_commit_stats = false ;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK' ;
NEW_CONNECTION;
-set spanner.return_commit_stats = false
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'
;
NEW_CONNECTION;
-set spanner.return_commit_stats = false;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set spanner.return_commit_stats = false;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
set
-spanner.return_commit_stats
-=
-false;
+spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.return_commit_stats = false;
+foo set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false bar;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.return_commit_stats = false;
+%set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false%;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =%false;
+set%spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.return_commit_stats = false;
+_set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false_;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =_false;
+set_spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.return_commit_stats = false;
+&set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false&;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =&false;
+set&spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.return_commit_stats = false;
+$set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false$;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =$false;
+set$spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.return_commit_stats = false;
+@set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false@;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =@false;
+set@spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.return_commit_stats = false;
+!set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false!;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =!false;
+set!spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.return_commit_stats = false;
+*set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false*;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =*false;
+set*spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.return_commit_stats = false;
+(set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false(;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =(false;
+set(spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.return_commit_stats = false;
+)set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false);
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =)false;
+set)spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.return_commit_stats = false;
+-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false-;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =-false;
+set-spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.return_commit_stats = false;
++set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false+;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =+false;
+set+spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.return_commit_stats = false;
+-#set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false-#;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =-#false;
+set-#spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.return_commit_stats = false;
+/set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false/;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =/false;
+set/spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.return_commit_stats = false;
+\set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false\;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =\false;
+set\spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.return_commit_stats = false;
+?set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false?;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =?false;
+set?spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.return_commit_stats = false;
+-/set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false-/;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =-/false;
+set-/spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.return_commit_stats = false;
+/#set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false/#;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =/#false;
+set/#spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.return_commit_stats = false;
+/-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats = false/-;
+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats =/-false;
+set/-spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set spanner.return_commit_stats to true;
+set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
-SET SPANNER.RETURN_COMMIT_STATS TO TRUE;
+SET SPANNER.SAVEPOINT_SUPPORT='DISABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats to true;
+set spanner.savepoint_support='disabled';
NEW_CONNECTION;
- set spanner.return_commit_stats to true;
+ set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
- set spanner.return_commit_stats to true;
+ set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats to true;
+set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats to true ;
+set spanner.savepoint_support='DISABLED' ;
NEW_CONNECTION;
-set spanner.return_commit_stats to true ;
+set spanner.savepoint_support='DISABLED' ;
NEW_CONNECTION;
-set spanner.return_commit_stats to true
+set spanner.savepoint_support='DISABLED'
;
NEW_CONNECTION;
-set spanner.return_commit_stats to true;
+set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats to true;
+set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
set
-spanner.return_commit_stats
-to
-true;
+spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.return_commit_stats to true;
+foo set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true bar;
+set spanner.savepoint_support='DISABLED' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.return_commit_stats to true;
+%set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true%;
+set spanner.savepoint_support='DISABLED'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to%true;
+set%spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.return_commit_stats to true;
+_set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true_;
+set spanner.savepoint_support='DISABLED'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to_true;
+set_spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.return_commit_stats to true;
+&set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true&;
+set spanner.savepoint_support='DISABLED'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to&true;
+set&spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.return_commit_stats to true;
+$set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true$;
+set spanner.savepoint_support='DISABLED'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to$true;
+set$spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.return_commit_stats to true;
+@set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true@;
+set spanner.savepoint_support='DISABLED'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to@true;
+set@spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.return_commit_stats to true;
+!set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true!;
+set spanner.savepoint_support='DISABLED'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to!true;
+set!spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.return_commit_stats to true;
+*set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true*;
+set spanner.savepoint_support='DISABLED'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to*true;
+set*spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.return_commit_stats to true;
+(set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true(;
+set spanner.savepoint_support='DISABLED'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to(true;
+set(spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.return_commit_stats to true;
+)set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true);
+set spanner.savepoint_support='DISABLED');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to)true;
+set)spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.return_commit_stats to true;
+-set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true-;
+set spanner.savepoint_support='DISABLED'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to-true;
+set-spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.return_commit_stats to true;
++set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true+;
+set spanner.savepoint_support='DISABLED'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to+true;
+set+spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.return_commit_stats to true;
+-#set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true-#;
+set spanner.savepoint_support='DISABLED'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to-#true;
+set-#spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.return_commit_stats to true;
+/set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true/;
+set spanner.savepoint_support='DISABLED'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to/true;
+set/spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.return_commit_stats to true;
+\set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true\;
+set spanner.savepoint_support='DISABLED'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to\true;
+set\spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.return_commit_stats to true;
+?set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true?;
+set spanner.savepoint_support='DISABLED'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to?true;
+set?spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.return_commit_stats to true;
+-/set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true-/;
+set spanner.savepoint_support='DISABLED'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to-/true;
+set-/spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.return_commit_stats to true;
+/#set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true/#;
+set spanner.savepoint_support='DISABLED'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to/#true;
+set/#spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.return_commit_stats to true;
+/-set spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to true/-;
+set spanner.savepoint_support='DISABLED'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to/-true;
+set/-spanner.savepoint_support='DISABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats to false;
+set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
-SET SPANNER.RETURN_COMMIT_STATS TO FALSE;
+SET SPANNER.SAVEPOINT_SUPPORT TO 'ENABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats to false;
+set spanner.savepoint_support to 'enabled';
NEW_CONNECTION;
- set spanner.return_commit_stats to false;
+ set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
- set spanner.return_commit_stats to false;
+ set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats to false;
+set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats to false ;
+set spanner.savepoint_support to 'ENABLED' ;
NEW_CONNECTION;
-set spanner.return_commit_stats to false ;
+set spanner.savepoint_support to 'ENABLED' ;
NEW_CONNECTION;
-set spanner.return_commit_stats to false
+set spanner.savepoint_support to 'ENABLED'
;
NEW_CONNECTION;
-set spanner.return_commit_stats to false;
+set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
-set spanner.return_commit_stats to false;
+set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
set
-spanner.return_commit_stats
+spanner.savepoint_support
to
-false;
+'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.return_commit_stats to false;
+foo set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false bar;
+set spanner.savepoint_support to 'ENABLED' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.return_commit_stats to false;
+%set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false%;
+set spanner.savepoint_support to 'ENABLED'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to%false;
+set spanner.savepoint_support to%'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.return_commit_stats to false;
+_set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false_;
+set spanner.savepoint_support to 'ENABLED'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to_false;
+set spanner.savepoint_support to_'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.return_commit_stats to false;
+&set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false&;
+set spanner.savepoint_support to 'ENABLED'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to&false;
+set spanner.savepoint_support to&'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.return_commit_stats to false;
+$set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false$;
+set spanner.savepoint_support to 'ENABLED'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to$false;
+set spanner.savepoint_support to$'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.return_commit_stats to false;
+@set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false@;
+set spanner.savepoint_support to 'ENABLED'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to@false;
+set spanner.savepoint_support to@'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.return_commit_stats to false;
+!set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false!;
+set spanner.savepoint_support to 'ENABLED'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to!false;
+set spanner.savepoint_support to!'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.return_commit_stats to false;
+*set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false*;
+set spanner.savepoint_support to 'ENABLED'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to*false;
+set spanner.savepoint_support to*'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.return_commit_stats to false;
+(set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false(;
+set spanner.savepoint_support to 'ENABLED'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to(false;
+set spanner.savepoint_support to('ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.return_commit_stats to false;
+)set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false);
+set spanner.savepoint_support to 'ENABLED');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to)false;
+set spanner.savepoint_support to)'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.return_commit_stats to false;
+-set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false-;
+set spanner.savepoint_support to 'ENABLED'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to-false;
+set spanner.savepoint_support to-'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.return_commit_stats to false;
++set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false+;
+set spanner.savepoint_support to 'ENABLED'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to+false;
+set spanner.savepoint_support to+'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.return_commit_stats to false;
+-#set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false-#;
+set spanner.savepoint_support to 'ENABLED'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to-#false;
+set spanner.savepoint_support to-#'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.return_commit_stats to false;
+/set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false/;
+set spanner.savepoint_support to 'ENABLED'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to/false;
+set spanner.savepoint_support to/'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.return_commit_stats to false;
+\set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false\;
+set spanner.savepoint_support to 'ENABLED'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to\false;
+set spanner.savepoint_support to\'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.return_commit_stats to false;
+?set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false?;
+set spanner.savepoint_support to 'ENABLED'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to?false;
+set spanner.savepoint_support to?'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.return_commit_stats to false;
+-/set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false-/;
+set spanner.savepoint_support to 'ENABLED'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to-/false;
+set spanner.savepoint_support to-/'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.return_commit_stats to false;
+/#set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false/#;
+set spanner.savepoint_support to 'ENABLED'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to/#false;
+set spanner.savepoint_support to/#'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.return_commit_stats to false;
+/-set spanner.savepoint_support to 'ENABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to false/-;
+set spanner.savepoint_support to 'ENABLED'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.return_commit_stats to/-false;
+set spanner.savepoint_support to/-'ENABLED';
NEW_CONNECTION;
-set spanner.statement_tag='tag1';
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-SET SPANNER.STATEMENT_TAG='TAG1';
+SET SPANNER.SAVEPOINT_SUPPORT TO 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set spanner.statement_tag='tag1';
+set spanner.savepoint_support to 'fail_after_rollback';
NEW_CONNECTION;
- set spanner.statement_tag='tag1';
+ set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
- set spanner.statement_tag='tag1';
+ set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set spanner.statement_tag='tag1';
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set spanner.statement_tag='tag1' ;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK' ;
NEW_CONNECTION;
-set spanner.statement_tag='tag1' ;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK' ;
NEW_CONNECTION;
-set spanner.statement_tag='tag1'
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'
;
NEW_CONNECTION;
-set spanner.statement_tag='tag1';
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set spanner.statement_tag='tag1';
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
set
-spanner.statement_tag='tag1';
+spanner.savepoint_support
+to
+'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.statement_tag='tag1';
+foo set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1' bar;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.statement_tag='tag1';
+%set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'%;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.statement_tag='tag1';
+set spanner.savepoint_support to%'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.statement_tag='tag1';
+_set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'_;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.statement_tag='tag1';
+set spanner.savepoint_support to_'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.statement_tag='tag1';
+&set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'&;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.statement_tag='tag1';
+set spanner.savepoint_support to&'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.statement_tag='tag1';
+$set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'$;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.statement_tag='tag1';
+set spanner.savepoint_support to$'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.statement_tag='tag1';
+@set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'@;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.statement_tag='tag1';
+set spanner.savepoint_support to@'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.statement_tag='tag1';
+!set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'!;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.statement_tag='tag1';
+set spanner.savepoint_support to!'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.statement_tag='tag1';
+*set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'*;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.statement_tag='tag1';
+set spanner.savepoint_support to*'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.statement_tag='tag1';
+(set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'(;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.statement_tag='tag1';
+set spanner.savepoint_support to('FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.statement_tag='tag1';
+)set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1');
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.statement_tag='tag1';
+set spanner.savepoint_support to)'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.statement_tag='tag1';
+-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'-;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.statement_tag='tag1';
+set spanner.savepoint_support to-'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.statement_tag='tag1';
++set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'+;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.statement_tag='tag1';
+set spanner.savepoint_support to+'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.statement_tag='tag1';
+-#set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'-#;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.statement_tag='tag1';
+set spanner.savepoint_support to-#'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.statement_tag='tag1';
+/set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'/;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.statement_tag='tag1';
+set spanner.savepoint_support to/'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.statement_tag='tag1';
+\set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'\;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.statement_tag='tag1';
+set spanner.savepoint_support to\'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.statement_tag='tag1';
+?set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'?;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.statement_tag='tag1';
+set spanner.savepoint_support to?'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.statement_tag='tag1';
+-/set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'-/;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.statement_tag='tag1';
+set spanner.savepoint_support to-/'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.statement_tag='tag1';
+/#set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'/#;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.statement_tag='tag1';
+set spanner.savepoint_support to/#'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.statement_tag='tag1';
+/-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag1'/-;
+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.statement_tag='tag1';
+set spanner.savepoint_support to/-'FAIL_AFTER_ROLLBACK';
NEW_CONNECTION;
-set spanner.statement_tag='tag2';
+set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
-SET SPANNER.STATEMENT_TAG='TAG2';
+SET SPANNER.SAVEPOINT_SUPPORT TO 'DISABLED';
NEW_CONNECTION;
-set spanner.statement_tag='tag2';
+set spanner.savepoint_support to 'disabled';
NEW_CONNECTION;
- set spanner.statement_tag='tag2';
+ set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
- set spanner.statement_tag='tag2';
+ set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
-set spanner.statement_tag='tag2';
+set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
-set spanner.statement_tag='tag2' ;
+set spanner.savepoint_support to 'DISABLED' ;
NEW_CONNECTION;
-set spanner.statement_tag='tag2' ;
+set spanner.savepoint_support to 'DISABLED' ;
NEW_CONNECTION;
-set spanner.statement_tag='tag2'
+set spanner.savepoint_support to 'DISABLED'
;
NEW_CONNECTION;
-set spanner.statement_tag='tag2';
+set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
-set spanner.statement_tag='tag2';
+set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
set
-spanner.statement_tag='tag2';
+spanner.savepoint_support
+to
+'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.statement_tag='tag2';
+foo set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2' bar;
+set spanner.savepoint_support to 'DISABLED' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.statement_tag='tag2';
+%set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'%;
+set spanner.savepoint_support to 'DISABLED'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.statement_tag='tag2';
+set spanner.savepoint_support to%'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.statement_tag='tag2';
+_set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'_;
+set spanner.savepoint_support to 'DISABLED'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.statement_tag='tag2';
+set spanner.savepoint_support to_'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.statement_tag='tag2';
+&set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'&;
+set spanner.savepoint_support to 'DISABLED'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.statement_tag='tag2';
+set spanner.savepoint_support to&'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.statement_tag='tag2';
+$set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'$;
+set spanner.savepoint_support to 'DISABLED'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.statement_tag='tag2';
+set spanner.savepoint_support to$'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.statement_tag='tag2';
+@set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'@;
+set spanner.savepoint_support to 'DISABLED'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.statement_tag='tag2';
+set spanner.savepoint_support to@'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.statement_tag='tag2';
+!set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'!;
+set spanner.savepoint_support to 'DISABLED'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.statement_tag='tag2';
+set spanner.savepoint_support to!'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.statement_tag='tag2';
+*set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'*;
+set spanner.savepoint_support to 'DISABLED'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.statement_tag='tag2';
+set spanner.savepoint_support to*'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.statement_tag='tag2';
+(set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'(;
+set spanner.savepoint_support to 'DISABLED'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.statement_tag='tag2';
+set spanner.savepoint_support to('DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.statement_tag='tag2';
+)set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2');
+set spanner.savepoint_support to 'DISABLED');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.statement_tag='tag2';
+set spanner.savepoint_support to)'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.statement_tag='tag2';
+-set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'-;
+set spanner.savepoint_support to 'DISABLED'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.statement_tag='tag2';
+set spanner.savepoint_support to-'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.statement_tag='tag2';
++set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'+;
+set spanner.savepoint_support to 'DISABLED'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.statement_tag='tag2';
+set spanner.savepoint_support to+'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.statement_tag='tag2';
+-#set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'-#;
+set spanner.savepoint_support to 'DISABLED'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.statement_tag='tag2';
+set spanner.savepoint_support to-#'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.statement_tag='tag2';
+/set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'/;
+set spanner.savepoint_support to 'DISABLED'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.statement_tag='tag2';
+set spanner.savepoint_support to/'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.statement_tag='tag2';
+\set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'\;
+set spanner.savepoint_support to 'DISABLED'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.statement_tag='tag2';
+set spanner.savepoint_support to\'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.statement_tag='tag2';
+?set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'?;
+set spanner.savepoint_support to 'DISABLED'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.statement_tag='tag2';
+set spanner.savepoint_support to?'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.statement_tag='tag2';
+-/set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'-/;
+set spanner.savepoint_support to 'DISABLED'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.statement_tag='tag2';
+set spanner.savepoint_support to-/'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.statement_tag='tag2';
+/#set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'/#;
+set spanner.savepoint_support to 'DISABLED'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.statement_tag='tag2';
+set spanner.savepoint_support to/#'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.statement_tag='tag2';
+/-set spanner.savepoint_support to 'DISABLED';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='tag2'/-;
+set spanner.savepoint_support to 'DISABLED'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.statement_tag='tag2';
+set spanner.savepoint_support to/-'DISABLED';
NEW_CONNECTION;
-set spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-SET SPANNER.STATEMENT_TAG='';
+SET SPANNER.DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE = TRUE;
NEW_CONNECTION;
-set spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
- set spanner.statement_tag='';
+ set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
- set spanner.statement_tag='';
+ set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-set spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-set spanner.statement_tag='' ;
+set spanner.delay_transaction_start_until_first_write = true ;
NEW_CONNECTION;
-set spanner.statement_tag='' ;
+set spanner.delay_transaction_start_until_first_write = true ;
NEW_CONNECTION;
-set spanner.statement_tag=''
+set spanner.delay_transaction_start_until_first_write = true
;
NEW_CONNECTION;
-set spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
-set spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
set
-spanner.statement_tag='';
+spanner.delay_transaction_start_until_first_write
+=
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.statement_tag='';
+foo set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='' bar;
+set spanner.delay_transaction_start_until_first_write = true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.statement_tag='';
+%set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''%;
+set spanner.delay_transaction_start_until_first_write = true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.statement_tag='';
+_set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''_;
+set spanner.delay_transaction_start_until_first_write = true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.statement_tag='';
+&set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''&;
+set spanner.delay_transaction_start_until_first_write = true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.statement_tag='';
+$set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''$;
+set spanner.delay_transaction_start_until_first_write = true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.statement_tag='';
+@set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''@;
+set spanner.delay_transaction_start_until_first_write = true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.statement_tag='';
+!set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''!;
+set spanner.delay_transaction_start_until_first_write = true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.statement_tag='';
+*set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''*;
+set spanner.delay_transaction_start_until_first_write = true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.statement_tag='';
+(set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''(;
+set spanner.delay_transaction_start_until_first_write = true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.statement_tag='';
+)set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag='');
+set spanner.delay_transaction_start_until_first_write = true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.statement_tag='';
+-set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''-;
+set spanner.delay_transaction_start_until_first_write = true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.statement_tag='';
++set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''+;
+set spanner.delay_transaction_start_until_first_write = true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.statement_tag='';
+-#set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''-#;
+set spanner.delay_transaction_start_until_first_write = true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.statement_tag='';
+/set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''/;
+set spanner.delay_transaction_start_until_first_write = true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.statement_tag='';
+\set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''\;
+set spanner.delay_transaction_start_until_first_write = true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.statement_tag='';
+?set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''?;
+set spanner.delay_transaction_start_until_first_write = true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.statement_tag='';
+-/set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''-/;
+set spanner.delay_transaction_start_until_first_write = true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.statement_tag='';
+/#set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''/#;
+set spanner.delay_transaction_start_until_first_write = true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.statement_tag='';
+/-set spanner.delay_transaction_start_until_first_write = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag=''/-;
+set spanner.delay_transaction_start_until_first_write = true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.statement_tag='';
+set spanner.delay_transaction_start_until_first_write =/-true;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag1';
+set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
-SET SPANNER.STATEMENT_TAG TO 'TAG1';
+SET SPANNER.DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE = FALSE;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag1';
+set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
- set spanner.statement_tag to 'tag1';
+ set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
- set spanner.statement_tag to 'tag1';
+ set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag1';
+set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag1' ;
+set spanner.delay_transaction_start_until_first_write = false ;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag1' ;
+set spanner.delay_transaction_start_until_first_write = false ;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag1'
+set spanner.delay_transaction_start_until_first_write = false
;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag1';
+set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag1';
+set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
set
-spanner.statement_tag
-to
-'tag1';
+spanner.delay_transaction_start_until_first_write
+=
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.statement_tag to 'tag1';
+foo set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1' bar;
+set spanner.delay_transaction_start_until_first_write = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.statement_tag to 'tag1';
+%set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'%;
+set spanner.delay_transaction_start_until_first_write = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to%'tag1';
+set spanner.delay_transaction_start_until_first_write =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.statement_tag to 'tag1';
+_set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'_;
+set spanner.delay_transaction_start_until_first_write = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to_'tag1';
+set spanner.delay_transaction_start_until_first_write =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.statement_tag to 'tag1';
+&set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'&;
+set spanner.delay_transaction_start_until_first_write = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to&'tag1';
+set spanner.delay_transaction_start_until_first_write =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.statement_tag to 'tag1';
+$set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'$;
+set spanner.delay_transaction_start_until_first_write = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to$'tag1';
+set spanner.delay_transaction_start_until_first_write =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.statement_tag to 'tag1';
+@set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'@;
+set spanner.delay_transaction_start_until_first_write = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to@'tag1';
+set spanner.delay_transaction_start_until_first_write =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.statement_tag to 'tag1';
+!set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'!;
+set spanner.delay_transaction_start_until_first_write = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to!'tag1';
+set spanner.delay_transaction_start_until_first_write =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.statement_tag to 'tag1';
+*set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'*;
+set spanner.delay_transaction_start_until_first_write = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to*'tag1';
+set spanner.delay_transaction_start_until_first_write =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.statement_tag to 'tag1';
+(set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'(;
+set spanner.delay_transaction_start_until_first_write = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to('tag1';
+set spanner.delay_transaction_start_until_first_write =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.statement_tag to 'tag1';
+)set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1');
+set spanner.delay_transaction_start_until_first_write = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to)'tag1';
+set spanner.delay_transaction_start_until_first_write =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.statement_tag to 'tag1';
+-set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'-;
+set spanner.delay_transaction_start_until_first_write = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to-'tag1';
+set spanner.delay_transaction_start_until_first_write =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.statement_tag to 'tag1';
++set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'+;
+set spanner.delay_transaction_start_until_first_write = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to+'tag1';
+set spanner.delay_transaction_start_until_first_write =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.statement_tag to 'tag1';
+-#set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'-#;
+set spanner.delay_transaction_start_until_first_write = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to-#'tag1';
+set spanner.delay_transaction_start_until_first_write =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.statement_tag to 'tag1';
+/set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'/;
+set spanner.delay_transaction_start_until_first_write = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to/'tag1';
+set spanner.delay_transaction_start_until_first_write =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.statement_tag to 'tag1';
+\set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'\;
+set spanner.delay_transaction_start_until_first_write = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to\'tag1';
+set spanner.delay_transaction_start_until_first_write =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.statement_tag to 'tag1';
+?set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'?;
+set spanner.delay_transaction_start_until_first_write = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to?'tag1';
+set spanner.delay_transaction_start_until_first_write =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.statement_tag to 'tag1';
+-/set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'-/;
+set spanner.delay_transaction_start_until_first_write = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to-/'tag1';
+set spanner.delay_transaction_start_until_first_write =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.statement_tag to 'tag1';
+/#set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'/#;
+set spanner.delay_transaction_start_until_first_write = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to/#'tag1';
+set spanner.delay_transaction_start_until_first_write =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.statement_tag to 'tag1';
+/-set spanner.delay_transaction_start_until_first_write = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag1'/-;
+set spanner.delay_transaction_start_until_first_write = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to/-'tag1';
+set spanner.delay_transaction_start_until_first_write =/-false;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag2';
+set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
-SET SPANNER.STATEMENT_TAG TO 'TAG2';
+SET SPANNER.DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE TO TRUE;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag2';
+set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
- set spanner.statement_tag to 'tag2';
+ set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
- set spanner.statement_tag to 'tag2';
+ set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag2';
+set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag2' ;
+set spanner.delay_transaction_start_until_first_write to true ;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag2' ;
+set spanner.delay_transaction_start_until_first_write to true ;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag2'
+set spanner.delay_transaction_start_until_first_write to true
;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag2';
+set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
-set spanner.statement_tag to 'tag2';
+set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
set
-spanner.statement_tag
+spanner.delay_transaction_start_until_first_write
to
-'tag2';
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.statement_tag to 'tag2';
+foo set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2' bar;
+set spanner.delay_transaction_start_until_first_write to true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.statement_tag to 'tag2';
+%set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'%;
+set spanner.delay_transaction_start_until_first_write to true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to%'tag2';
+set spanner.delay_transaction_start_until_first_write to%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.statement_tag to 'tag2';
+_set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'_;
+set spanner.delay_transaction_start_until_first_write to true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to_'tag2';
+set spanner.delay_transaction_start_until_first_write to_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.statement_tag to 'tag2';
+&set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'&;
+set spanner.delay_transaction_start_until_first_write to true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to&'tag2';
+set spanner.delay_transaction_start_until_first_write to&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.statement_tag to 'tag2';
+$set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'$;
+set spanner.delay_transaction_start_until_first_write to true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to$'tag2';
+set spanner.delay_transaction_start_until_first_write to$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.statement_tag to 'tag2';
+@set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'@;
+set spanner.delay_transaction_start_until_first_write to true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to@'tag2';
+set spanner.delay_transaction_start_until_first_write to@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.statement_tag to 'tag2';
+!set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'!;
+set spanner.delay_transaction_start_until_first_write to true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to!'tag2';
+set spanner.delay_transaction_start_until_first_write to!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.statement_tag to 'tag2';
+*set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'*;
+set spanner.delay_transaction_start_until_first_write to true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to*'tag2';
+set spanner.delay_transaction_start_until_first_write to*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.statement_tag to 'tag2';
+(set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'(;
+set spanner.delay_transaction_start_until_first_write to true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to('tag2';
+set spanner.delay_transaction_start_until_first_write to(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.statement_tag to 'tag2';
+)set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2');
+set spanner.delay_transaction_start_until_first_write to true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to)'tag2';
+set spanner.delay_transaction_start_until_first_write to)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.statement_tag to 'tag2';
+-set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'-;
+set spanner.delay_transaction_start_until_first_write to true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to-'tag2';
+set spanner.delay_transaction_start_until_first_write to-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.statement_tag to 'tag2';
++set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'+;
+set spanner.delay_transaction_start_until_first_write to true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to+'tag2';
+set spanner.delay_transaction_start_until_first_write to+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.statement_tag to 'tag2';
+-#set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'-#;
+set spanner.delay_transaction_start_until_first_write to true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to-#'tag2';
+set spanner.delay_transaction_start_until_first_write to-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.statement_tag to 'tag2';
+/set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'/;
+set spanner.delay_transaction_start_until_first_write to true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to/'tag2';
+set spanner.delay_transaction_start_until_first_write to/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.statement_tag to 'tag2';
+\set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'\;
+set spanner.delay_transaction_start_until_first_write to true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to\'tag2';
+set spanner.delay_transaction_start_until_first_write to\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.statement_tag to 'tag2';
+?set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'?;
+set spanner.delay_transaction_start_until_first_write to true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to?'tag2';
+set spanner.delay_transaction_start_until_first_write to?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.statement_tag to 'tag2';
+-/set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'-/;
+set spanner.delay_transaction_start_until_first_write to true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to-/'tag2';
+set spanner.delay_transaction_start_until_first_write to-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.statement_tag to 'tag2';
+/#set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'/#;
+set spanner.delay_transaction_start_until_first_write to true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to/#'tag2';
+set spanner.delay_transaction_start_until_first_write to/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.statement_tag to 'tag2';
+/-set spanner.delay_transaction_start_until_first_write to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to 'tag2'/-;
+set spanner.delay_transaction_start_until_first_write to true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to/-'tag2';
+set spanner.delay_transaction_start_until_first_write to/-true;
NEW_CONNECTION;
-set spanner.statement_tag to '';
+set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
-SET SPANNER.STATEMENT_TAG TO '';
+SET SPANNER.DELAY_TRANSACTION_START_UNTIL_FIRST_WRITE TO FALSE;
NEW_CONNECTION;
-set spanner.statement_tag to '';
+set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
- set spanner.statement_tag to '';
+ set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
- set spanner.statement_tag to '';
+ set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
-set spanner.statement_tag to '';
+set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
-set spanner.statement_tag to '' ;
+set spanner.delay_transaction_start_until_first_write to false ;
NEW_CONNECTION;
-set spanner.statement_tag to '' ;
+set spanner.delay_transaction_start_until_first_write to false ;
NEW_CONNECTION;
-set spanner.statement_tag to ''
+set spanner.delay_transaction_start_until_first_write to false
;
NEW_CONNECTION;
-set spanner.statement_tag to '';
+set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
-set spanner.statement_tag to '';
+set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
set
-spanner.statement_tag
+spanner.delay_transaction_start_until_first_write
to
-'';
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.statement_tag to '';
+foo set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to '' bar;
+set spanner.delay_transaction_start_until_first_write to false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.statement_tag to '';
+%set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''%;
+set spanner.delay_transaction_start_until_first_write to false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to%'';
+set spanner.delay_transaction_start_until_first_write to%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.statement_tag to '';
+_set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''_;
+set spanner.delay_transaction_start_until_first_write to false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to_'';
+set spanner.delay_transaction_start_until_first_write to_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.statement_tag to '';
+&set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''&;
+set spanner.delay_transaction_start_until_first_write to false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to&'';
+set spanner.delay_transaction_start_until_first_write to&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.statement_tag to '';
+$set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''$;
+set spanner.delay_transaction_start_until_first_write to false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to$'';
+set spanner.delay_transaction_start_until_first_write to$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.statement_tag to '';
+@set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''@;
+set spanner.delay_transaction_start_until_first_write to false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to@'';
+set spanner.delay_transaction_start_until_first_write to@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.statement_tag to '';
+!set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''!;
+set spanner.delay_transaction_start_until_first_write to false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to!'';
+set spanner.delay_transaction_start_until_first_write to!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.statement_tag to '';
+*set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''*;
+set spanner.delay_transaction_start_until_first_write to false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to*'';
+set spanner.delay_transaction_start_until_first_write to*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.statement_tag to '';
+(set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''(;
+set spanner.delay_transaction_start_until_first_write to false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to('';
+set spanner.delay_transaction_start_until_first_write to(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.statement_tag to '';
+)set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to '');
+set spanner.delay_transaction_start_until_first_write to false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to)'';
+set spanner.delay_transaction_start_until_first_write to)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.statement_tag to '';
+-set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''-;
+set spanner.delay_transaction_start_until_first_write to false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to-'';
+set spanner.delay_transaction_start_until_first_write to-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.statement_tag to '';
++set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''+;
+set spanner.delay_transaction_start_until_first_write to false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to+'';
+set spanner.delay_transaction_start_until_first_write to+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.statement_tag to '';
+-#set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''-#;
+set spanner.delay_transaction_start_until_first_write to false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to-#'';
+set spanner.delay_transaction_start_until_first_write to-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.statement_tag to '';
+/set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''/;
+set spanner.delay_transaction_start_until_first_write to false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to/'';
+set spanner.delay_transaction_start_until_first_write to/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.statement_tag to '';
+\set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''\;
+set spanner.delay_transaction_start_until_first_write to false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to\'';
+set spanner.delay_transaction_start_until_first_write to\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.statement_tag to '';
+?set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''?;
+set spanner.delay_transaction_start_until_first_write to false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to?'';
+set spanner.delay_transaction_start_until_first_write to?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.statement_tag to '';
+-/set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''-/;
+set spanner.delay_transaction_start_until_first_write to false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to-/'';
+set spanner.delay_transaction_start_until_first_write to-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.statement_tag to '';
+/#set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''/#;
+set spanner.delay_transaction_start_until_first_write to false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to/#'';
+set spanner.delay_transaction_start_until_first_write to/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.statement_tag to '';
+/-set spanner.delay_transaction_start_until_first_write to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to ''/-;
+set spanner.delay_transaction_start_until_first_write to false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.statement_tag to/-'';
+set spanner.delay_transaction_start_until_first_write to/-false;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag1';
+show spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
-SET SPANNER.TRANSACTION_TAG='TAG1';
+SHOW SPANNER.DATA_BOOST_ENABLED;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag1';
+show spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
- set spanner.transaction_tag='tag1';
+ show spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
- set spanner.transaction_tag='tag1';
+ show spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag1';
+show spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag1' ;
+show spanner.data_boost_enabled ;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag1' ;
+show spanner.data_boost_enabled ;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag1'
+show spanner.data_boost_enabled
;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag1';
+show spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag1';
+show spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
-set
-spanner.transaction_tag='tag1';
+show
+spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.transaction_tag='tag1';
+foo show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1' bar;
+%show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.transaction_tag='tag1';
+show%spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'%;
+_show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.transaction_tag='tag1';
+show_spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.transaction_tag='tag1';
+&show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'_;
+show&spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.transaction_tag='tag1';
+$show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.transaction_tag='tag1';
+show$spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'&;
+@show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.transaction_tag='tag1';
+show@spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.transaction_tag='tag1';
+!show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'$;
+show!spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.transaction_tag='tag1';
+*show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.transaction_tag='tag1';
+show*spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'@;
+(show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.transaction_tag='tag1';
+show(spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.transaction_tag='tag1';
+)show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'!;
+show)spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.transaction_tag='tag1';
+-show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.transaction_tag='tag1';
+show-spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'*;
++show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.transaction_tag='tag1';
+show+spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.transaction_tag='tag1';
+-#show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'(;
+show-#spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.transaction_tag='tag1';
+/show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.transaction_tag='tag1';
+show/spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1');
+\show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.transaction_tag='tag1';
+show\spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.transaction_tag='tag1';
+?show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'-;
+show?spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.transaction_tag='tag1';
+-/show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.transaction_tag='tag1';
+show-/spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'+;
+/#show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.transaction_tag='tag1';
+show/#spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.transaction_tag='tag1';
+/-show spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.data_boost_enabled/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'-#;
+show/-spanner.data_boost_enabled;
+NEW_CONNECTION;
+show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+SHOW VARIABLE SPANNER.DATA_BOOST_ENABLED;
+NEW_CONNECTION;
+show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+ show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+ show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+
+
+
+show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+show variable spanner.data_boost_enabled ;
+NEW_CONNECTION;
+show variable spanner.data_boost_enabled ;
+NEW_CONNECTION;
+show variable spanner.data_boost_enabled
+
+;
+NEW_CONNECTION;
+show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+show
+variable
+spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.transaction_tag='tag1';
+foo show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.transaction_tag='tag1';
+%show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'/;
+_show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.transaction_tag='tag1';
+&show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.transaction_tag='tag1';
+$show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'\;
+@show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.transaction_tag='tag1';
+!show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.transaction_tag='tag1';
+*show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'?;
+(show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.transaction_tag='tag1';
+)show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled);
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.transaction_tag='tag1';
+-show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'-/;
++show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.transaction_tag='tag1';
+-#show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.transaction_tag='tag1';
+/show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'/#;
+\show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.transaction_tag='tag1';
+?show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.transaction_tag='tag1';
+-/show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag1'/-;
+/#show variable spanner.data_boost_enabled;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.transaction_tag='tag1';
+/-show variable spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag2';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.data_boost_enabled/-;
NEW_CONNECTION;
-set autocommit = false;
-SET SPANNER.TRANSACTION_TAG='TAG2';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-spanner.data_boost_enabled;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
- set spanner.transaction_tag='tag2';
+SET SPANNER.DATA_BOOST_ENABLED = TRUE;
NEW_CONNECTION;
-set autocommit = false;
- set spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled = true;
+NEW_CONNECTION;
+ set spanner.data_boost_enabled = true;
+NEW_CONNECTION;
+ set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag2' ;
+set spanner.data_boost_enabled = true ;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag2' ;
+set spanner.data_boost_enabled = true ;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag2'
+set spanner.data_boost_enabled = true
;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag2';
-NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled = true;
+NEW_CONNECTION;
+set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
set
-spanner.transaction_tag='tag2';
+spanner.data_boost_enabled
+=
+true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.transaction_tag='tag2';
+foo set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2' bar;
+set spanner.data_boost_enabled = true bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.transaction_tag='tag2';
+%set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'%;
+set spanner.data_boost_enabled = true%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =%true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.transaction_tag='tag2';
+_set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'_;
+set spanner.data_boost_enabled = true_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =_true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.transaction_tag='tag2';
+&set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'&;
+set spanner.data_boost_enabled = true&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =&true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.transaction_tag='tag2';
+$set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'$;
+set spanner.data_boost_enabled = true$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =$true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.transaction_tag='tag2';
+@set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'@;
+set spanner.data_boost_enabled = true@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =@true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.transaction_tag='tag2';
+!set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'!;
+set spanner.data_boost_enabled = true!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =!true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.transaction_tag='tag2';
+*set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'*;
+set spanner.data_boost_enabled = true*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =*true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.transaction_tag='tag2';
+(set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'(;
+set spanner.data_boost_enabled = true(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =(true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.transaction_tag='tag2';
+)set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2');
+set spanner.data_boost_enabled = true);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =)true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.transaction_tag='tag2';
+-set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'-;
+set spanner.data_boost_enabled = true-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =-true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.transaction_tag='tag2';
++set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'+;
+set spanner.data_boost_enabled = true+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =+true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.transaction_tag='tag2';
+-#set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'-#;
+set spanner.data_boost_enabled = true-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =-#true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.transaction_tag='tag2';
+/set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'/;
+set spanner.data_boost_enabled = true/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =/true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.transaction_tag='tag2';
+\set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'\;
+set spanner.data_boost_enabled = true\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =\true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.transaction_tag='tag2';
+?set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'?;
+set spanner.data_boost_enabled = true?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =?true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.transaction_tag='tag2';
+-/set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'-/;
+set spanner.data_boost_enabled = true-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =-/true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.transaction_tag='tag2';
+/#set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'/#;
+set spanner.data_boost_enabled = true/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =/#true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.transaction_tag='tag2';
+/-set spanner.data_boost_enabled = true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='tag2'/-;
+set spanner.data_boost_enabled = true/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.transaction_tag='tag2';
+set spanner.data_boost_enabled =/-true;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='';
+set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
-SET SPANNER.TRANSACTION_TAG='';
+SET SPANNER.DATA_BOOST_ENABLED = FALSE;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='';
+set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
- set spanner.transaction_tag='';
+ set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
- set spanner.transaction_tag='';
+ set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='';
+set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='' ;
+set spanner.data_boost_enabled = false ;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='' ;
+set spanner.data_boost_enabled = false ;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag=''
+set spanner.data_boost_enabled = false
;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='';
+set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag='';
+set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
set
-spanner.transaction_tag='';
+spanner.data_boost_enabled
+=
+false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.transaction_tag='';
+foo set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='' bar;
+set spanner.data_boost_enabled = false bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.transaction_tag='';
+%set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''%;
+set spanner.data_boost_enabled = false%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.transaction_tag='';
+set spanner.data_boost_enabled =%false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.transaction_tag='';
+_set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''_;
+set spanner.data_boost_enabled = false_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.transaction_tag='';
+set spanner.data_boost_enabled =_false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.transaction_tag='';
+&set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''&;
+set spanner.data_boost_enabled = false&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.transaction_tag='';
+set spanner.data_boost_enabled =&false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.transaction_tag='';
+$set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''$;
+set spanner.data_boost_enabled = false$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.transaction_tag='';
+set spanner.data_boost_enabled =$false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.transaction_tag='';
+@set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''@;
+set spanner.data_boost_enabled = false@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.transaction_tag='';
+set spanner.data_boost_enabled =@false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.transaction_tag='';
+!set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''!;
+set spanner.data_boost_enabled = false!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.transaction_tag='';
+set spanner.data_boost_enabled =!false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.transaction_tag='';
+*set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''*;
+set spanner.data_boost_enabled = false*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.transaction_tag='';
+set spanner.data_boost_enabled =*false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.transaction_tag='';
+(set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''(;
+set spanner.data_boost_enabled = false(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.transaction_tag='';
+set spanner.data_boost_enabled =(false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.transaction_tag='';
+)set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag='');
+set spanner.data_boost_enabled = false);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.transaction_tag='';
+set spanner.data_boost_enabled =)false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.transaction_tag='';
+-set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''-;
+set spanner.data_boost_enabled = false-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.transaction_tag='';
+set spanner.data_boost_enabled =-false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.transaction_tag='';
++set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''+;
+set spanner.data_boost_enabled = false+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.transaction_tag='';
+set spanner.data_boost_enabled =+false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.transaction_tag='';
+-#set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''-#;
+set spanner.data_boost_enabled = false-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.transaction_tag='';
+set spanner.data_boost_enabled =-#false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.transaction_tag='';
+/set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''/;
+set spanner.data_boost_enabled = false/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.transaction_tag='';
+set spanner.data_boost_enabled =/false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.transaction_tag='';
+\set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''\;
+set spanner.data_boost_enabled = false\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.transaction_tag='';
+set spanner.data_boost_enabled =\false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.transaction_tag='';
+?set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''?;
+set spanner.data_boost_enabled = false?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.transaction_tag='';
+set spanner.data_boost_enabled =?false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.transaction_tag='';
+-/set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''-/;
+set spanner.data_boost_enabled = false-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.transaction_tag='';
+set spanner.data_boost_enabled =-/false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.transaction_tag='';
+/#set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''/#;
+set spanner.data_boost_enabled = false/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.transaction_tag='';
+set spanner.data_boost_enabled =/#false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.transaction_tag='';
+/-set spanner.data_boost_enabled = false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag=''/-;
+set spanner.data_boost_enabled = false/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.transaction_tag='';
+set spanner.data_boost_enabled =/-false;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag1';
+set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
-SET SPANNER.TRANSACTION_TAG TO 'TAG1';
+SET SPANNER.DATA_BOOST_ENABLED TO TRUE;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag1';
+set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
- set spanner.transaction_tag to 'tag1';
+ set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
- set spanner.transaction_tag to 'tag1';
+ set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag1';
+set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag1' ;
+set spanner.data_boost_enabled to true ;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag1' ;
+set spanner.data_boost_enabled to true ;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag1'
+set spanner.data_boost_enabled to true
;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag1';
+set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag1';
+set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
set
-spanner.transaction_tag
+spanner.data_boost_enabled
to
-'tag1';
+true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.transaction_tag to 'tag1';
+foo set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1' bar;
+set spanner.data_boost_enabled to true bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.transaction_tag to 'tag1';
+%set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'%;
+set spanner.data_boost_enabled to true%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to%'tag1';
+set spanner.data_boost_enabled to%true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.transaction_tag to 'tag1';
+_set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'_;
+set spanner.data_boost_enabled to true_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to_'tag1';
+set spanner.data_boost_enabled to_true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.transaction_tag to 'tag1';
+&set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'&;
+set spanner.data_boost_enabled to true&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to&'tag1';
+set spanner.data_boost_enabled to&true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.transaction_tag to 'tag1';
+$set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'$;
+set spanner.data_boost_enabled to true$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to$'tag1';
+set spanner.data_boost_enabled to$true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.transaction_tag to 'tag1';
+@set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'@;
+set spanner.data_boost_enabled to true@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to@'tag1';
+set spanner.data_boost_enabled to@true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.transaction_tag to 'tag1';
+!set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'!;
+set spanner.data_boost_enabled to true!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to!'tag1';
+set spanner.data_boost_enabled to!true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.transaction_tag to 'tag1';
+*set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'*;
+set spanner.data_boost_enabled to true*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to*'tag1';
+set spanner.data_boost_enabled to*true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.transaction_tag to 'tag1';
+(set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'(;
+set spanner.data_boost_enabled to true(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to('tag1';
+set spanner.data_boost_enabled to(true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.transaction_tag to 'tag1';
+)set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1');
+set spanner.data_boost_enabled to true);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to)'tag1';
+set spanner.data_boost_enabled to)true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.transaction_tag to 'tag1';
+-set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'-;
+set spanner.data_boost_enabled to true-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to-'tag1';
+set spanner.data_boost_enabled to-true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.transaction_tag to 'tag1';
++set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'+;
+set spanner.data_boost_enabled to true+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to+'tag1';
+set spanner.data_boost_enabled to+true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.transaction_tag to 'tag1';
+-#set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'-#;
+set spanner.data_boost_enabled to true-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to-#'tag1';
+set spanner.data_boost_enabled to-#true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.transaction_tag to 'tag1';
+/set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'/;
+set spanner.data_boost_enabled to true/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to/'tag1';
+set spanner.data_boost_enabled to/true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.transaction_tag to 'tag1';
+\set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'\;
+set spanner.data_boost_enabled to true\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to\'tag1';
+set spanner.data_boost_enabled to\true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.transaction_tag to 'tag1';
+?set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'?;
+set spanner.data_boost_enabled to true?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to?'tag1';
+set spanner.data_boost_enabled to?true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.transaction_tag to 'tag1';
+-/set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'-/;
+set spanner.data_boost_enabled to true-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to-/'tag1';
+set spanner.data_boost_enabled to-/true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.transaction_tag to 'tag1';
+/#set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'/#;
+set spanner.data_boost_enabled to true/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to/#'tag1';
+set spanner.data_boost_enabled to/#true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.transaction_tag to 'tag1';
+/-set spanner.data_boost_enabled to true;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag1'/-;
+set spanner.data_boost_enabled to true/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to/-'tag1';
+set spanner.data_boost_enabled to/-true;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag2';
+set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
-SET SPANNER.TRANSACTION_TAG TO 'TAG2';
+SET SPANNER.DATA_BOOST_ENABLED TO FALSE;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag2';
+set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
- set spanner.transaction_tag to 'tag2';
+ set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
- set spanner.transaction_tag to 'tag2';
+ set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag2';
+set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag2' ;
+set spanner.data_boost_enabled to false ;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag2' ;
+set spanner.data_boost_enabled to false ;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag2'
+set spanner.data_boost_enabled to false
;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag2';
+set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to 'tag2';
+set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
set
-spanner.transaction_tag
+spanner.data_boost_enabled
to
-'tag2';
+false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.transaction_tag to 'tag2';
+foo set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2' bar;
+set spanner.data_boost_enabled to false bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.transaction_tag to 'tag2';
+%set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'%;
+set spanner.data_boost_enabled to false%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to%'tag2';
+set spanner.data_boost_enabled to%false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.transaction_tag to 'tag2';
+_set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'_;
+set spanner.data_boost_enabled to false_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to_'tag2';
+set spanner.data_boost_enabled to_false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.transaction_tag to 'tag2';
+&set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'&;
+set spanner.data_boost_enabled to false&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to&'tag2';
+set spanner.data_boost_enabled to&false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.transaction_tag to 'tag2';
+$set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'$;
+set spanner.data_boost_enabled to false$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to$'tag2';
+set spanner.data_boost_enabled to$false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.transaction_tag to 'tag2';
+@set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'@;
+set spanner.data_boost_enabled to false@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to@'tag2';
+set spanner.data_boost_enabled to@false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.transaction_tag to 'tag2';
+!set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'!;
+set spanner.data_boost_enabled to false!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to!'tag2';
+set spanner.data_boost_enabled to!false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.transaction_tag to 'tag2';
+*set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'*;
+set spanner.data_boost_enabled to false*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to*'tag2';
+set spanner.data_boost_enabled to*false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.transaction_tag to 'tag2';
+(set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'(;
+set spanner.data_boost_enabled to false(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to('tag2';
+set spanner.data_boost_enabled to(false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.transaction_tag to 'tag2';
+)set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2');
+set spanner.data_boost_enabled to false);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to)'tag2';
+set spanner.data_boost_enabled to)false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.transaction_tag to 'tag2';
+-set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'-;
+set spanner.data_boost_enabled to false-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to-'tag2';
+set spanner.data_boost_enabled to-false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.transaction_tag to 'tag2';
++set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'+;
+set spanner.data_boost_enabled to false+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to+'tag2';
+set spanner.data_boost_enabled to+false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.transaction_tag to 'tag2';
+-#set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'-#;
+set spanner.data_boost_enabled to false-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to-#'tag2';
+set spanner.data_boost_enabled to-#false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.transaction_tag to 'tag2';
+/set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'/;
+set spanner.data_boost_enabled to false/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to/'tag2';
+set spanner.data_boost_enabled to/false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.transaction_tag to 'tag2';
+\set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'\;
+set spanner.data_boost_enabled to false\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to\'tag2';
+set spanner.data_boost_enabled to\false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.transaction_tag to 'tag2';
+?set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'?;
+set spanner.data_boost_enabled to false?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to?'tag2';
+set spanner.data_boost_enabled to?false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.transaction_tag to 'tag2';
+-/set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'-/;
+set spanner.data_boost_enabled to false-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to-/'tag2';
+set spanner.data_boost_enabled to-/false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.transaction_tag to 'tag2';
+/#set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'/#;
+set spanner.data_boost_enabled to false/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to/#'tag2';
+set spanner.data_boost_enabled to/#false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.transaction_tag to 'tag2';
+/-set spanner.data_boost_enabled to false;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to 'tag2'/-;
+set spanner.data_boost_enabled to false/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to/-'tag2';
+set spanner.data_boost_enabled to/-false;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to '';
+show spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
-SET SPANNER.TRANSACTION_TAG TO '';
+SHOW SPANNER.AUTO_PARTITION_MODE;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to '';
+show spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
- set spanner.transaction_tag to '';
+ show spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
- set spanner.transaction_tag to '';
+ show spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to '';
+show spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to '' ;
+show spanner.auto_partition_mode ;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to '' ;
+show spanner.auto_partition_mode ;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to ''
+show spanner.auto_partition_mode
;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to '';
+show spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
-set spanner.transaction_tag to '';
+show spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
-set
-spanner.transaction_tag
-to
-'';
+show
+spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.transaction_tag to '';
+foo show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to '' bar;
+%show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.transaction_tag to '';
+show%spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''%;
+_show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to%'';
+show_spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.transaction_tag to '';
+&show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''_;
+show&spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to_'';
+$show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.transaction_tag to '';
+show$spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''&;
+@show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to&'';
+show@spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.transaction_tag to '';
+!show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''$;
+show!spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to$'';
+*show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.transaction_tag to '';
+show*spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''@;
+(show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to@'';
+show(spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.transaction_tag to '';
+)show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode);
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''!;
+show)spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to!'';
+-show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.transaction_tag to '';
+show-spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''*;
++show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to*'';
+show+spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.transaction_tag to '';
+-#show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''(;
+show-#spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to('';
+/show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.transaction_tag to '';
+show/spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to '');
+\show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to)'';
+show\spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.transaction_tag to '';
+?show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''-;
+show?spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to-'';
+-/show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.transaction_tag to '';
+show-/spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''+;
+/#show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to+'';
+show/#spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.transaction_tag to '';
+/-show spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.auto_partition_mode/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''-#;
+show/-spanner.auto_partition_mode;
+NEW_CONNECTION;
+show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+SHOW VARIABLE SPANNER.AUTO_PARTITION_MODE;
+NEW_CONNECTION;
+show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+ show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+ show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+
+
+
+show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+show variable spanner.auto_partition_mode ;
+NEW_CONNECTION;
+show variable spanner.auto_partition_mode ;
+NEW_CONNECTION;
+show variable spanner.auto_partition_mode
+
+;
+NEW_CONNECTION;
+show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+show
+variable
+spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to-#'';
+foo show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.transaction_tag to '';
+%show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''/;
+_show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to/'';
+&show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.transaction_tag to '';
+$show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''\;
+@show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to\'';
+!show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.transaction_tag to '';
+*show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''?;
+(show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to?'';
+)show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode);
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.transaction_tag to '';
+-show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''-/;
++show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to-/'';
+-#show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.transaction_tag to '';
+/show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''/#;
+\show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to/#'';
+?show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.transaction_tag to '';
+-/show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to ''/-;
+/#show variable spanner.auto_partition_mode;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#spanner.auto_partition_mode;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.transaction_tag to/-'';
+/-show variable spanner.auto_partition_mode;
NEW_CONNECTION;
-set spanner.rpc_priority='HIGH';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.auto_partition_mode/-;
NEW_CONNECTION;
-SET SPANNER.RPC_PRIORITY='HIGH';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-spanner.auto_partition_mode;
NEW_CONNECTION;
-set spanner.rpc_priority='high';
+set spanner.auto_partition_mode = true;
NEW_CONNECTION;
- set spanner.rpc_priority='HIGH';
+SET SPANNER.AUTO_PARTITION_MODE = TRUE;
NEW_CONNECTION;
- set spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode = true;
+NEW_CONNECTION;
+ set spanner.auto_partition_mode = true;
+NEW_CONNECTION;
+ set spanner.auto_partition_mode = true;
NEW_CONNECTION;
-set spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode = true;
NEW_CONNECTION;
-set spanner.rpc_priority='HIGH' ;
+set spanner.auto_partition_mode = true ;
NEW_CONNECTION;
-set spanner.rpc_priority='HIGH' ;
+set spanner.auto_partition_mode = true ;
NEW_CONNECTION;
-set spanner.rpc_priority='HIGH'
+set spanner.auto_partition_mode = true
;
NEW_CONNECTION;
-set spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode = true;
NEW_CONNECTION;
-set spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode = true;
NEW_CONNECTION;
set
-spanner.rpc_priority='HIGH';
+spanner.auto_partition_mode
+=
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.rpc_priority='HIGH';
+foo set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH' bar;
+set spanner.auto_partition_mode = true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.rpc_priority='HIGH';
+%set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'%;
+set spanner.auto_partition_mode = true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.rpc_priority='HIGH';
+_set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'_;
+set spanner.auto_partition_mode = true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.rpc_priority='HIGH';
+&set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'&;
+set spanner.auto_partition_mode = true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.rpc_priority='HIGH';
+$set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'$;
+set spanner.auto_partition_mode = true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.rpc_priority='HIGH';
+@set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'@;
+set spanner.auto_partition_mode = true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.rpc_priority='HIGH';
+!set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'!;
+set spanner.auto_partition_mode = true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.rpc_priority='HIGH';
+*set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'*;
+set spanner.auto_partition_mode = true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.rpc_priority='HIGH';
+(set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'(;
+set spanner.auto_partition_mode = true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.rpc_priority='HIGH';
+)set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH');
+set spanner.auto_partition_mode = true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.rpc_priority='HIGH';
+-set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'-;
+set spanner.auto_partition_mode = true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.rpc_priority='HIGH';
++set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'+;
+set spanner.auto_partition_mode = true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.rpc_priority='HIGH';
+-#set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'-#;
+set spanner.auto_partition_mode = true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.rpc_priority='HIGH';
+/set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'/;
+set spanner.auto_partition_mode = true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.rpc_priority='HIGH';
+\set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'\;
+set spanner.auto_partition_mode = true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.rpc_priority='HIGH';
+?set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'?;
+set spanner.auto_partition_mode = true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.rpc_priority='HIGH';
+-/set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'-/;
+set spanner.auto_partition_mode = true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.rpc_priority='HIGH';
+/#set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'/#;
+set spanner.auto_partition_mode = true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.rpc_priority='HIGH';
+/-set spanner.auto_partition_mode = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='HIGH'/-;
+set spanner.auto_partition_mode = true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.rpc_priority='HIGH';
+set spanner.auto_partition_mode =/-true;
NEW_CONNECTION;
-set spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode = false;
NEW_CONNECTION;
-SET SPANNER.RPC_PRIORITY='MEDIUM';
+SET SPANNER.AUTO_PARTITION_MODE = FALSE;
NEW_CONNECTION;
-set spanner.rpc_priority='medium';
+set spanner.auto_partition_mode = false;
NEW_CONNECTION;
- set spanner.rpc_priority='MEDIUM';
+ set spanner.auto_partition_mode = false;
NEW_CONNECTION;
- set spanner.rpc_priority='MEDIUM';
+ set spanner.auto_partition_mode = false;
NEW_CONNECTION;
-set spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode = false;
NEW_CONNECTION;
-set spanner.rpc_priority='MEDIUM' ;
+set spanner.auto_partition_mode = false ;
NEW_CONNECTION;
-set spanner.rpc_priority='MEDIUM' ;
+set spanner.auto_partition_mode = false ;
NEW_CONNECTION;
-set spanner.rpc_priority='MEDIUM'
+set spanner.auto_partition_mode = false
;
NEW_CONNECTION;
-set spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode = false;
NEW_CONNECTION;
-set spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode = false;
NEW_CONNECTION;
set
-spanner.rpc_priority='MEDIUM';
+spanner.auto_partition_mode
+=
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.rpc_priority='MEDIUM';
+foo set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM' bar;
+set spanner.auto_partition_mode = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.rpc_priority='MEDIUM';
+%set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'%;
+set spanner.auto_partition_mode = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.rpc_priority='MEDIUM';
+_set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'_;
+set spanner.auto_partition_mode = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.rpc_priority='MEDIUM';
+&set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'&;
+set spanner.auto_partition_mode = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.rpc_priority='MEDIUM';
+$set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'$;
+set spanner.auto_partition_mode = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.rpc_priority='MEDIUM';
+@set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'@;
+set spanner.auto_partition_mode = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.rpc_priority='MEDIUM';
+!set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'!;
+set spanner.auto_partition_mode = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.rpc_priority='MEDIUM';
+*set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'*;
+set spanner.auto_partition_mode = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.rpc_priority='MEDIUM';
+(set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'(;
+set spanner.auto_partition_mode = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.rpc_priority='MEDIUM';
+)set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM');
+set spanner.auto_partition_mode = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.rpc_priority='MEDIUM';
+-set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'-;
+set spanner.auto_partition_mode = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.rpc_priority='MEDIUM';
++set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'+;
+set spanner.auto_partition_mode = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.rpc_priority='MEDIUM';
+-#set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'-#;
+set spanner.auto_partition_mode = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.rpc_priority='MEDIUM';
+/set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'/;
+set spanner.auto_partition_mode = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.rpc_priority='MEDIUM';
+\set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'\;
+set spanner.auto_partition_mode = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.rpc_priority='MEDIUM';
+?set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'?;
+set spanner.auto_partition_mode = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.rpc_priority='MEDIUM';
+-/set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'-/;
+set spanner.auto_partition_mode = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.rpc_priority='MEDIUM';
+/#set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'/#;
+set spanner.auto_partition_mode = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.rpc_priority='MEDIUM';
+/-set spanner.auto_partition_mode = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='MEDIUM'/-;
+set spanner.auto_partition_mode = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.rpc_priority='MEDIUM';
+set spanner.auto_partition_mode =/-false;
NEW_CONNECTION;
-set spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to true;
NEW_CONNECTION;
-SET SPANNER.RPC_PRIORITY='LOW';
+SET SPANNER.AUTO_PARTITION_MODE TO TRUE;
NEW_CONNECTION;
-set spanner.rpc_priority='low';
+set spanner.auto_partition_mode to true;
NEW_CONNECTION;
- set spanner.rpc_priority='LOW';
+ set spanner.auto_partition_mode to true;
NEW_CONNECTION;
- set spanner.rpc_priority='LOW';
+ set spanner.auto_partition_mode to true;
NEW_CONNECTION;
-set spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to true;
NEW_CONNECTION;
-set spanner.rpc_priority='LOW' ;
+set spanner.auto_partition_mode to true ;
NEW_CONNECTION;
-set spanner.rpc_priority='LOW' ;
+set spanner.auto_partition_mode to true ;
NEW_CONNECTION;
-set spanner.rpc_priority='LOW'
+set spanner.auto_partition_mode to true
;
NEW_CONNECTION;
-set spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to true;
NEW_CONNECTION;
-set spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to true;
NEW_CONNECTION;
set
-spanner.rpc_priority='LOW';
+spanner.auto_partition_mode
+to
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.rpc_priority='LOW';
+foo set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW' bar;
+set spanner.auto_partition_mode to true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.rpc_priority='LOW';
+%set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'%;
+set spanner.auto_partition_mode to true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.rpc_priority='LOW';
+_set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'_;
+set spanner.auto_partition_mode to true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.rpc_priority='LOW';
+&set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'&;
+set spanner.auto_partition_mode to true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.rpc_priority='LOW';
+$set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'$;
+set spanner.auto_partition_mode to true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.rpc_priority='LOW';
+@set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'@;
+set spanner.auto_partition_mode to true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.rpc_priority='LOW';
+!set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'!;
+set spanner.auto_partition_mode to true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.rpc_priority='LOW';
+*set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'*;
+set spanner.auto_partition_mode to true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.rpc_priority='LOW';
+(set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'(;
+set spanner.auto_partition_mode to true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.rpc_priority='LOW';
+)set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW');
+set spanner.auto_partition_mode to true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.rpc_priority='LOW';
+-set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'-;
+set spanner.auto_partition_mode to true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.rpc_priority='LOW';
++set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'+;
+set spanner.auto_partition_mode to true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.rpc_priority='LOW';
+-#set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'-#;
+set spanner.auto_partition_mode to true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.rpc_priority='LOW';
+/set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'/;
+set spanner.auto_partition_mode to true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.rpc_priority='LOW';
+\set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'\;
+set spanner.auto_partition_mode to true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.rpc_priority='LOW';
+?set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'?;
+set spanner.auto_partition_mode to true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.rpc_priority='LOW';
+-/set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'-/;
+set spanner.auto_partition_mode to true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.rpc_priority='LOW';
+/#set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'/#;
+set spanner.auto_partition_mode to true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.rpc_priority='LOW';
+/-set spanner.auto_partition_mode to true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='LOW'/-;
+set spanner.auto_partition_mode to true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.rpc_priority='LOW';
+set spanner.auto_partition_mode to/-true;
NEW_CONNECTION;
-set spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to false;
NEW_CONNECTION;
-SET SPANNER.RPC_PRIORITY='NULL';
+SET SPANNER.AUTO_PARTITION_MODE TO FALSE;
NEW_CONNECTION;
-set spanner.rpc_priority='null';
+set spanner.auto_partition_mode to false;
NEW_CONNECTION;
- set spanner.rpc_priority='NULL';
+ set spanner.auto_partition_mode to false;
NEW_CONNECTION;
- set spanner.rpc_priority='NULL';
+ set spanner.auto_partition_mode to false;
NEW_CONNECTION;
-set spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to false;
NEW_CONNECTION;
-set spanner.rpc_priority='NULL' ;
+set spanner.auto_partition_mode to false ;
NEW_CONNECTION;
-set spanner.rpc_priority='NULL' ;
+set spanner.auto_partition_mode to false ;
NEW_CONNECTION;
-set spanner.rpc_priority='NULL'
+set spanner.auto_partition_mode to false
;
NEW_CONNECTION;
-set spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to false;
NEW_CONNECTION;
-set spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to false;
NEW_CONNECTION;
set
-spanner.rpc_priority='NULL';
+spanner.auto_partition_mode
+to
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.rpc_priority='NULL';
+foo set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL' bar;
+set spanner.auto_partition_mode to false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.rpc_priority='NULL';
+%set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'%;
+set spanner.auto_partition_mode to false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.rpc_priority='NULL';
+_set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'_;
+set spanner.auto_partition_mode to false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.rpc_priority='NULL';
+&set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'&;
+set spanner.auto_partition_mode to false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.rpc_priority='NULL';
+$set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'$;
+set spanner.auto_partition_mode to false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.rpc_priority='NULL';
+@set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'@;
+set spanner.auto_partition_mode to false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.rpc_priority='NULL';
+!set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'!;
+set spanner.auto_partition_mode to false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.rpc_priority='NULL';
+*set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'*;
+set spanner.auto_partition_mode to false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.rpc_priority='NULL';
+(set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'(;
+set spanner.auto_partition_mode to false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.rpc_priority='NULL';
+)set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL');
+set spanner.auto_partition_mode to false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.rpc_priority='NULL';
+-set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'-;
+set spanner.auto_partition_mode to false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.rpc_priority='NULL';
++set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'+;
+set spanner.auto_partition_mode to false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.rpc_priority='NULL';
+-#set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'-#;
+set spanner.auto_partition_mode to false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.rpc_priority='NULL';
+/set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'/;
+set spanner.auto_partition_mode to false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.rpc_priority='NULL';
+\set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'\;
+set spanner.auto_partition_mode to false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.rpc_priority='NULL';
+?set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'?;
+set spanner.auto_partition_mode to false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.rpc_priority='NULL';
+-/set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'-/;
+set spanner.auto_partition_mode to false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.rpc_priority='NULL';
+/#set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'/#;
+set spanner.auto_partition_mode to false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.rpc_priority='NULL';
+/-set spanner.auto_partition_mode to false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority='NULL'/-;
+set spanner.auto_partition_mode to false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.rpc_priority='NULL';
+set spanner.auto_partition_mode to/-false;
NEW_CONNECTION;
-set spanner.rpc_priority to 'HIGH';
+show spanner.max_partitions;
NEW_CONNECTION;
-SET SPANNER.RPC_PRIORITY TO 'HIGH';
+SHOW SPANNER.MAX_PARTITIONS;
NEW_CONNECTION;
-set spanner.rpc_priority to 'high';
+show spanner.max_partitions;
NEW_CONNECTION;
- set spanner.rpc_priority to 'HIGH';
+ show spanner.max_partitions;
NEW_CONNECTION;
- set spanner.rpc_priority to 'HIGH';
+ show spanner.max_partitions;
NEW_CONNECTION;
-set spanner.rpc_priority to 'HIGH';
+show spanner.max_partitions;
NEW_CONNECTION;
-set spanner.rpc_priority to 'HIGH' ;
+show spanner.max_partitions ;
NEW_CONNECTION;
-set spanner.rpc_priority to 'HIGH' ;
+show spanner.max_partitions ;
NEW_CONNECTION;
-set spanner.rpc_priority to 'HIGH'
+show spanner.max_partitions
;
NEW_CONNECTION;
-set spanner.rpc_priority to 'HIGH';
+show spanner.max_partitions;
NEW_CONNECTION;
-set spanner.rpc_priority to 'HIGH';
+show spanner.max_partitions;
NEW_CONNECTION;
-set
-spanner.rpc_priority
-to
-'HIGH';
+show
+spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.rpc_priority to 'HIGH';
+foo show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH' bar;
+%show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.rpc_priority to 'HIGH';
+show%spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'%;
+_show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to%'HIGH';
+show_spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.rpc_priority to 'HIGH';
+&show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'_;
+show&spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to_'HIGH';
+$show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.rpc_priority to 'HIGH';
+show$spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'&;
+@show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to&'HIGH';
+show@spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.rpc_priority to 'HIGH';
+!show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'$;
+show!spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to$'HIGH';
+*show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.rpc_priority to 'HIGH';
+show*spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'@;
+(show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to@'HIGH';
+show(spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.rpc_priority to 'HIGH';
+)show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'!;
+show)spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to!'HIGH';
+-show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.rpc_priority to 'HIGH';
+show-spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'*;
++show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to*'HIGH';
+show+spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.rpc_priority to 'HIGH';
+-#show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'(;
+show-#spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to('HIGH';
+/show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.rpc_priority to 'HIGH';
+show/spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH');
+\show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to)'HIGH';
+show\spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.rpc_priority to 'HIGH';
+?show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'-;
+show?spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to-'HIGH';
+-/show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.rpc_priority to 'HIGH';
+show-/spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'+;
+/#show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to+'HIGH';
+show/#spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.rpc_priority to 'HIGH';
+/-show spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitions/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'-#;
+show/-spanner.max_partitions;
+NEW_CONNECTION;
+show variable spanner.max_partitions;
+NEW_CONNECTION;
+SHOW VARIABLE SPANNER.MAX_PARTITIONS;
+NEW_CONNECTION;
+show variable spanner.max_partitions;
+NEW_CONNECTION;
+ show variable spanner.max_partitions;
+NEW_CONNECTION;
+ show variable spanner.max_partitions;
+NEW_CONNECTION;
+
+
+
+show variable spanner.max_partitions;
+NEW_CONNECTION;
+show variable spanner.max_partitions ;
+NEW_CONNECTION;
+show variable spanner.max_partitions ;
+NEW_CONNECTION;
+show variable spanner.max_partitions
+
+;
+NEW_CONNECTION;
+show variable spanner.max_partitions;
+NEW_CONNECTION;
+show variable spanner.max_partitions;
+NEW_CONNECTION;
+show
+variable
+spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to-#'HIGH';
+foo show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.rpc_priority to 'HIGH';
+%show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'/;
+_show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to/'HIGH';
+&show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.rpc_priority to 'HIGH';
+$show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'\;
+@show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to\'HIGH';
+!show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.rpc_priority to 'HIGH';
+*show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'?;
+(show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to?'HIGH';
+)show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions);
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.rpc_priority to 'HIGH';
+-show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'-/;
++show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to-/'HIGH';
+-#show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.rpc_priority to 'HIGH';
+/show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'/#;
+\show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to/#'HIGH';
+?show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.rpc_priority to 'HIGH';
+-/show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'HIGH'/-;
+/#show variable spanner.max_partitions;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#spanner.max_partitions;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to/-'HIGH';
+/-show variable spanner.max_partitions;
NEW_CONNECTION;
-set spanner.rpc_priority to 'MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitions/-;
NEW_CONNECTION;
-SET SPANNER.RPC_PRIORITY TO 'MEDIUM';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-spanner.max_partitions;
NEW_CONNECTION;
-set spanner.rpc_priority to 'medium';
+set spanner.max_partitions = 1;
NEW_CONNECTION;
- set spanner.rpc_priority to 'MEDIUM';
+SET SPANNER.MAX_PARTITIONS = 1;
NEW_CONNECTION;
- set spanner.rpc_priority to 'MEDIUM';
+set spanner.max_partitions = 1;
+NEW_CONNECTION;
+ set spanner.max_partitions = 1;
+NEW_CONNECTION;
+ set spanner.max_partitions = 1;
NEW_CONNECTION;
-set spanner.rpc_priority to 'MEDIUM';
+set spanner.max_partitions = 1;
NEW_CONNECTION;
-set spanner.rpc_priority to 'MEDIUM' ;
+set spanner.max_partitions = 1 ;
NEW_CONNECTION;
-set spanner.rpc_priority to 'MEDIUM' ;
+set spanner.max_partitions = 1 ;
NEW_CONNECTION;
-set spanner.rpc_priority to 'MEDIUM'
+set spanner.max_partitions = 1
;
NEW_CONNECTION;
-set spanner.rpc_priority to 'MEDIUM';
+set spanner.max_partitions = 1;
NEW_CONNECTION;
-set spanner.rpc_priority to 'MEDIUM';
+set spanner.max_partitions = 1;
NEW_CONNECTION;
set
-spanner.rpc_priority
-to
-'MEDIUM';
+spanner.max_partitions
+=
+1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.rpc_priority to 'MEDIUM';
+foo set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM' bar;
+set spanner.max_partitions = 1 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.rpc_priority to 'MEDIUM';
+%set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'%;
+set spanner.max_partitions = 1%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to%'MEDIUM';
+set spanner.max_partitions =%1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.rpc_priority to 'MEDIUM';
+_set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'_;
+set spanner.max_partitions = 1_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to_'MEDIUM';
+set spanner.max_partitions =_1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.rpc_priority to 'MEDIUM';
+&set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'&;
+set spanner.max_partitions = 1&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to&'MEDIUM';
+set spanner.max_partitions =&1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.rpc_priority to 'MEDIUM';
+$set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'$;
+set spanner.max_partitions = 1$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to$'MEDIUM';
+set spanner.max_partitions =$1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.rpc_priority to 'MEDIUM';
+@set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'@;
+set spanner.max_partitions = 1@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to@'MEDIUM';
+set spanner.max_partitions =@1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.rpc_priority to 'MEDIUM';
+!set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'!;
+set spanner.max_partitions = 1!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to!'MEDIUM';
+set spanner.max_partitions =!1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.rpc_priority to 'MEDIUM';
+*set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'*;
+set spanner.max_partitions = 1*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to*'MEDIUM';
+set spanner.max_partitions =*1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.rpc_priority to 'MEDIUM';
+(set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'(;
+set spanner.max_partitions = 1(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to('MEDIUM';
+set spanner.max_partitions =(1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.rpc_priority to 'MEDIUM';
+)set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM');
+set spanner.max_partitions = 1);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to)'MEDIUM';
+set spanner.max_partitions =)1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.rpc_priority to 'MEDIUM';
+-set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'-;
+set spanner.max_partitions = 1-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to-'MEDIUM';
+set spanner.max_partitions =-1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.rpc_priority to 'MEDIUM';
++set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'+;
+set spanner.max_partitions = 1+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to+'MEDIUM';
+set spanner.max_partitions =+1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.rpc_priority to 'MEDIUM';
+-#set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'-#;
+set spanner.max_partitions = 1-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to-#'MEDIUM';
+set spanner.max_partitions =-#1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.rpc_priority to 'MEDIUM';
+/set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'/;
+set spanner.max_partitions = 1/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to/'MEDIUM';
+set spanner.max_partitions =/1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.rpc_priority to 'MEDIUM';
+\set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'\;
+set spanner.max_partitions = 1\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to\'MEDIUM';
+set spanner.max_partitions =\1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.rpc_priority to 'MEDIUM';
+?set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'?;
+set spanner.max_partitions = 1?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to?'MEDIUM';
+set spanner.max_partitions =?1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.rpc_priority to 'MEDIUM';
+-/set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'-/;
+set spanner.max_partitions = 1-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to-/'MEDIUM';
+set spanner.max_partitions =-/1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.rpc_priority to 'MEDIUM';
+/#set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'/#;
+set spanner.max_partitions = 1/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to/#'MEDIUM';
+set spanner.max_partitions =/#1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.rpc_priority to 'MEDIUM';
+/-set spanner.max_partitions = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'MEDIUM'/-;
+set spanner.max_partitions = 1/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to/-'MEDIUM';
+set spanner.max_partitions =/-1;
NEW_CONNECTION;
-set spanner.rpc_priority to 'LOW';
+set spanner.max_partitions = 10;
NEW_CONNECTION;
-SET SPANNER.RPC_PRIORITY TO 'LOW';
+SET SPANNER.MAX_PARTITIONS = 10;
NEW_CONNECTION;
-set spanner.rpc_priority to 'low';
+set spanner.max_partitions = 10;
NEW_CONNECTION;
- set spanner.rpc_priority to 'LOW';
+ set spanner.max_partitions = 10;
NEW_CONNECTION;
- set spanner.rpc_priority to 'LOW';
+ set spanner.max_partitions = 10;
NEW_CONNECTION;
-set spanner.rpc_priority to 'LOW';
+set spanner.max_partitions = 10;
NEW_CONNECTION;
-set spanner.rpc_priority to 'LOW' ;
+set spanner.max_partitions = 10 ;
NEW_CONNECTION;
-set spanner.rpc_priority to 'LOW' ;
+set spanner.max_partitions = 10 ;
NEW_CONNECTION;
-set spanner.rpc_priority to 'LOW'
+set spanner.max_partitions = 10
;
NEW_CONNECTION;
-set spanner.rpc_priority to 'LOW';
+set spanner.max_partitions = 10;
NEW_CONNECTION;
-set spanner.rpc_priority to 'LOW';
+set spanner.max_partitions = 10;
NEW_CONNECTION;
set
-spanner.rpc_priority
-to
-'LOW';
+spanner.max_partitions
+=
+10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.rpc_priority to 'LOW';
+foo set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW' bar;
+set spanner.max_partitions = 10 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.rpc_priority to 'LOW';
+%set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'%;
+set spanner.max_partitions = 10%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to%'LOW';
+set spanner.max_partitions =%10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.rpc_priority to 'LOW';
+_set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'_;
+set spanner.max_partitions = 10_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to_'LOW';
+set spanner.max_partitions =_10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.rpc_priority to 'LOW';
+&set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'&;
+set spanner.max_partitions = 10&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to&'LOW';
+set spanner.max_partitions =&10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.rpc_priority to 'LOW';
+$set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'$;
+set spanner.max_partitions = 10$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to$'LOW';
+set spanner.max_partitions =$10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.rpc_priority to 'LOW';
+@set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'@;
+set spanner.max_partitions = 10@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to@'LOW';
+set spanner.max_partitions =@10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.rpc_priority to 'LOW';
+!set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'!;
+set spanner.max_partitions = 10!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to!'LOW';
+set spanner.max_partitions =!10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.rpc_priority to 'LOW';
+*set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'*;
+set spanner.max_partitions = 10*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to*'LOW';
+set spanner.max_partitions =*10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.rpc_priority to 'LOW';
+(set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'(;
+set spanner.max_partitions = 10(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to('LOW';
+set spanner.max_partitions =(10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.rpc_priority to 'LOW';
+)set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW');
+set spanner.max_partitions = 10);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to)'LOW';
+set spanner.max_partitions =)10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.rpc_priority to 'LOW';
+-set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'-;
+set spanner.max_partitions = 10-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to-'LOW';
+set spanner.max_partitions =-10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.rpc_priority to 'LOW';
++set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'+;
+set spanner.max_partitions = 10+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to+'LOW';
+set spanner.max_partitions =+10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.rpc_priority to 'LOW';
+-#set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'-#;
+set spanner.max_partitions = 10-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to-#'LOW';
+set spanner.max_partitions =-#10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.rpc_priority to 'LOW';
+/set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'/;
+set spanner.max_partitions = 10/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to/'LOW';
+set spanner.max_partitions =/10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.rpc_priority to 'LOW';
+\set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'\;
+set spanner.max_partitions = 10\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to\'LOW';
+set spanner.max_partitions =\10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.rpc_priority to 'LOW';
+?set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'?;
+set spanner.max_partitions = 10?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to?'LOW';
+set spanner.max_partitions =?10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.rpc_priority to 'LOW';
+-/set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'-/;
+set spanner.max_partitions = 10-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to-/'LOW';
+set spanner.max_partitions =-/10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.rpc_priority to 'LOW';
+/#set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'/#;
+set spanner.max_partitions = 10/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to/#'LOW';
+set spanner.max_partitions =/#10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.rpc_priority to 'LOW';
+/-set spanner.max_partitions = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'LOW'/-;
+set spanner.max_partitions = 10/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to/-'LOW';
+set spanner.max_partitions =/-10;
NEW_CONNECTION;
-set spanner.rpc_priority to 'NULL';
+set spanner.max_partitions to 5;
NEW_CONNECTION;
-SET SPANNER.RPC_PRIORITY TO 'NULL';
+SET SPANNER.MAX_PARTITIONS TO 5;
NEW_CONNECTION;
-set spanner.rpc_priority to 'null';
+set spanner.max_partitions to 5;
NEW_CONNECTION;
- set spanner.rpc_priority to 'NULL';
+ set spanner.max_partitions to 5;
NEW_CONNECTION;
- set spanner.rpc_priority to 'NULL';
+ set spanner.max_partitions to 5;
NEW_CONNECTION;
-set spanner.rpc_priority to 'NULL';
+set spanner.max_partitions to 5;
NEW_CONNECTION;
-set spanner.rpc_priority to 'NULL' ;
+set spanner.max_partitions to 5 ;
NEW_CONNECTION;
-set spanner.rpc_priority to 'NULL' ;
+set spanner.max_partitions to 5 ;
NEW_CONNECTION;
-set spanner.rpc_priority to 'NULL'
+set spanner.max_partitions to 5
;
NEW_CONNECTION;
-set spanner.rpc_priority to 'NULL';
+set spanner.max_partitions to 5;
NEW_CONNECTION;
-set spanner.rpc_priority to 'NULL';
+set spanner.max_partitions to 5;
NEW_CONNECTION;
set
-spanner.rpc_priority
+spanner.max_partitions
to
-'NULL';
+5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.rpc_priority to 'NULL';
+foo set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL' bar;
+set spanner.max_partitions to 5 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.rpc_priority to 'NULL';
+%set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'%;
+set spanner.max_partitions to 5%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to%'NULL';
+set spanner.max_partitions to%5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.rpc_priority to 'NULL';
+_set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'_;
+set spanner.max_partitions to 5_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to_'NULL';
+set spanner.max_partitions to_5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.rpc_priority to 'NULL';
+&set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'&;
+set spanner.max_partitions to 5&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to&'NULL';
+set spanner.max_partitions to&5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.rpc_priority to 'NULL';
+$set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'$;
+set spanner.max_partitions to 5$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to$'NULL';
+set spanner.max_partitions to$5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.rpc_priority to 'NULL';
+@set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'@;
+set spanner.max_partitions to 5@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to@'NULL';
+set spanner.max_partitions to@5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.rpc_priority to 'NULL';
+!set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'!;
+set spanner.max_partitions to 5!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to!'NULL';
+set spanner.max_partitions to!5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.rpc_priority to 'NULL';
+*set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'*;
+set spanner.max_partitions to 5*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to*'NULL';
+set spanner.max_partitions to*5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.rpc_priority to 'NULL';
+(set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'(;
+set spanner.max_partitions to 5(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to('NULL';
+set spanner.max_partitions to(5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.rpc_priority to 'NULL';
+)set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL');
+set spanner.max_partitions to 5);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to)'NULL';
+set spanner.max_partitions to)5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.rpc_priority to 'NULL';
+-set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'-;
+set spanner.max_partitions to 5-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to-'NULL';
+set spanner.max_partitions to-5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.rpc_priority to 'NULL';
++set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'+;
+set spanner.max_partitions to 5+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to+'NULL';
+set spanner.max_partitions to+5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.rpc_priority to 'NULL';
+-#set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'-#;
+set spanner.max_partitions to 5-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to-#'NULL';
+set spanner.max_partitions to-#5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.rpc_priority to 'NULL';
+/set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'/;
+set spanner.max_partitions to 5/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to/'NULL';
+set spanner.max_partitions to/5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.rpc_priority to 'NULL';
+\set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'\;
+set spanner.max_partitions to 5\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to\'NULL';
+set spanner.max_partitions to\5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.rpc_priority to 'NULL';
+?set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'?;
+set spanner.max_partitions to 5?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to?'NULL';
+set spanner.max_partitions to?5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.rpc_priority to 'NULL';
+-/set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'-/;
+set spanner.max_partitions to 5-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to-/'NULL';
+set spanner.max_partitions to-/5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.rpc_priority to 'NULL';
+/#set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'/#;
+set spanner.max_partitions to 5/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to/#'NULL';
+set spanner.max_partitions to/#5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.rpc_priority to 'NULL';
+/-set spanner.max_partitions to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to 'NULL'/-;
+set spanner.max_partitions to 5/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.rpc_priority to/-'NULL';
+set spanner.max_partitions to/-5;
NEW_CONNECTION;
-set spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to 20;
NEW_CONNECTION;
-SET SPANNER.SAVEPOINT_SUPPORT='ENABLED';
+SET SPANNER.MAX_PARTITIONS TO 20;
NEW_CONNECTION;
-set spanner.savepoint_support='enabled';
+set spanner.max_partitions to 20;
NEW_CONNECTION;
- set spanner.savepoint_support='ENABLED';
+ set spanner.max_partitions to 20;
NEW_CONNECTION;
- set spanner.savepoint_support='ENABLED';
+ set spanner.max_partitions to 20;
NEW_CONNECTION;
-set spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to 20;
NEW_CONNECTION;
-set spanner.savepoint_support='ENABLED' ;
+set spanner.max_partitions to 20 ;
NEW_CONNECTION;
-set spanner.savepoint_support='ENABLED' ;
+set spanner.max_partitions to 20 ;
NEW_CONNECTION;
-set spanner.savepoint_support='ENABLED'
+set spanner.max_partitions to 20
;
NEW_CONNECTION;
-set spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to 20;
NEW_CONNECTION;
-set spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to 20;
NEW_CONNECTION;
set
-spanner.savepoint_support='ENABLED';
+spanner.max_partitions
+to
+20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.savepoint_support='ENABLED';
+foo set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED' bar;
+set spanner.max_partitions to 20 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.savepoint_support='ENABLED';
+%set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'%;
+set spanner.max_partitions to 20%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to%20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.savepoint_support='ENABLED';
+_set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'_;
+set spanner.max_partitions to 20_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to_20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.savepoint_support='ENABLED';
+&set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'&;
+set spanner.max_partitions to 20&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to&20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.savepoint_support='ENABLED';
+$set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'$;
+set spanner.max_partitions to 20$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to$20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.savepoint_support='ENABLED';
+@set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'@;
+set spanner.max_partitions to 20@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to@20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.savepoint_support='ENABLED';
+!set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'!;
+set spanner.max_partitions to 20!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to!20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.savepoint_support='ENABLED';
+*set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'*;
+set spanner.max_partitions to 20*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to*20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.savepoint_support='ENABLED';
+(set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'(;
+set spanner.max_partitions to 20(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to(20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.savepoint_support='ENABLED';
+)set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED');
+set spanner.max_partitions to 20);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to)20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.savepoint_support='ENABLED';
+-set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'-;
+set spanner.max_partitions to 20-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to-20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.savepoint_support='ENABLED';
++set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'+;
+set spanner.max_partitions to 20+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to+20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.savepoint_support='ENABLED';
+-#set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'-#;
+set spanner.max_partitions to 20-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to-#20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.savepoint_support='ENABLED';
+/set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'/;
+set spanner.max_partitions to 20/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to/20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.savepoint_support='ENABLED';
+\set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'\;
+set spanner.max_partitions to 20\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to\20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.savepoint_support='ENABLED';
+?set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'?;
+set spanner.max_partitions to 20?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to?20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.savepoint_support='ENABLED';
+-/set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'-/;
+set spanner.max_partitions to 20-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to-/20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.savepoint_support='ENABLED';
+/#set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'/#;
+set spanner.max_partitions to 20/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to/#20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.savepoint_support='ENABLED';
+/-set spanner.max_partitions to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='ENABLED'/-;
+set spanner.max_partitions to 20/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.savepoint_support='ENABLED';
+set spanner.max_partitions to/-20;
NEW_CONNECTION;
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show spanner.max_partitioned_parallelism;
NEW_CONNECTION;
-SET SPANNER.SAVEPOINT_SUPPORT='FAIL_AFTER_ROLLBACK';
+SHOW SPANNER.MAX_PARTITIONED_PARALLELISM;
NEW_CONNECTION;
-set spanner.savepoint_support='fail_after_rollback';
+show spanner.max_partitioned_parallelism;
NEW_CONNECTION;
- set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+ show spanner.max_partitioned_parallelism;
NEW_CONNECTION;
- set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+ show spanner.max_partitioned_parallelism;
NEW_CONNECTION;
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show spanner.max_partitioned_parallelism;
NEW_CONNECTION;
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK' ;
+show spanner.max_partitioned_parallelism ;
NEW_CONNECTION;
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK' ;
+show spanner.max_partitioned_parallelism ;
NEW_CONNECTION;
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'
+show spanner.max_partitioned_parallelism
;
NEW_CONNECTION;
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show spanner.max_partitioned_parallelism;
NEW_CONNECTION;
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show spanner.max_partitioned_parallelism;
NEW_CONNECTION;
-set
-spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show
+spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+foo show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK' bar;
+%show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show%spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'%;
+_show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show_spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+&show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'_;
+show&spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+$show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show$spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'&;
+@show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show@spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+!show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'$;
+show!spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+*show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show*spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'@;
+(show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show(spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+)show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'!;
+show)spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+-show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show-spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'*;
++show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show+spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+-#show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'(;
+show-#spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+/show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show/spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK');
+\show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show\spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+?show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'-;
+show?spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+-/show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show-/spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'+;
+/#show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+show/#spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+/-show spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show spanner.max_partitioned_parallelism/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'-#;
+show/-spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+SHOW VARIABLE SPANNER.MAX_PARTITIONED_PARALLELISM;
+NEW_CONNECTION;
+show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+ show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+ show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+
+
+
+show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+show variable spanner.max_partitioned_parallelism ;
+NEW_CONNECTION;
+show variable spanner.max_partitioned_parallelism ;
+NEW_CONNECTION;
+show variable spanner.max_partitioned_parallelism
+
+;
+NEW_CONNECTION;
+show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+show
+variable
+spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+foo show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+%show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable%spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'/;
+_show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable_spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+&show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable&spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+$show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable$spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'\;
+@show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable@spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+!show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable!spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+*show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable*spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'?;
+(show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable(spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+)show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism);
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable)spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+-show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'-/;
++show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable+spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+-#show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-#spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+/show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'/#;
+\show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable\spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+?show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable?spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+-/show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable-/spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='FAIL_AFTER_ROLLBACK'/-;
+/#show variable spanner.max_partitioned_parallelism;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/#spanner.max_partitioned_parallelism;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.savepoint_support='FAIL_AFTER_ROLLBACK';
+/-show variable spanner.max_partitioned_parallelism;
NEW_CONNECTION;
-set spanner.savepoint_support='DISABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable spanner.max_partitioned_parallelism/-;
NEW_CONNECTION;
-SET SPANNER.SAVEPOINT_SUPPORT='DISABLED';
+@EXPECT EXCEPTION UNIMPLEMENTED
+show variable/-spanner.max_partitioned_parallelism;
NEW_CONNECTION;
-set spanner.savepoint_support='disabled';
+set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
- set spanner.savepoint_support='DISABLED';
+SET SPANNER.MAX_PARTITIONED_PARALLELISM = 1;
NEW_CONNECTION;
- set spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism = 1;
+NEW_CONNECTION;
+ set spanner.max_partitioned_parallelism = 1;
+NEW_CONNECTION;
+ set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
-set spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
-set spanner.savepoint_support='DISABLED' ;
+set spanner.max_partitioned_parallelism = 1 ;
NEW_CONNECTION;
-set spanner.savepoint_support='DISABLED' ;
+set spanner.max_partitioned_parallelism = 1 ;
NEW_CONNECTION;
-set spanner.savepoint_support='DISABLED'
+set spanner.max_partitioned_parallelism = 1
;
NEW_CONNECTION;
-set spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
-set spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
set
-spanner.savepoint_support='DISABLED';
+spanner.max_partitioned_parallelism
+=
+1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.savepoint_support='DISABLED';
+foo set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED' bar;
+set spanner.max_partitioned_parallelism = 1 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.savepoint_support='DISABLED';
+%set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'%;
+set spanner.max_partitioned_parallelism = 1%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =%1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.savepoint_support='DISABLED';
+_set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'_;
+set spanner.max_partitioned_parallelism = 1_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =_1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.savepoint_support='DISABLED';
+&set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'&;
+set spanner.max_partitioned_parallelism = 1&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =&1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.savepoint_support='DISABLED';
+$set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'$;
+set spanner.max_partitioned_parallelism = 1$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =$1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.savepoint_support='DISABLED';
+@set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'@;
+set spanner.max_partitioned_parallelism = 1@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =@1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.savepoint_support='DISABLED';
+!set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'!;
+set spanner.max_partitioned_parallelism = 1!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =!1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.savepoint_support='DISABLED';
+*set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'*;
+set spanner.max_partitioned_parallelism = 1*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =*1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.savepoint_support='DISABLED';
+(set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'(;
+set spanner.max_partitioned_parallelism = 1(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =(1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.savepoint_support='DISABLED';
+)set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED');
+set spanner.max_partitioned_parallelism = 1);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =)1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.savepoint_support='DISABLED';
+-set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'-;
+set spanner.max_partitioned_parallelism = 1-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =-1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.savepoint_support='DISABLED';
++set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'+;
+set spanner.max_partitioned_parallelism = 1+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =+1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.savepoint_support='DISABLED';
+-#set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'-#;
+set spanner.max_partitioned_parallelism = 1-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =-#1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.savepoint_support='DISABLED';
+/set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'/;
+set spanner.max_partitioned_parallelism = 1/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =/1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.savepoint_support='DISABLED';
+\set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'\;
+set spanner.max_partitioned_parallelism = 1\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =\1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.savepoint_support='DISABLED';
+?set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'?;
+set spanner.max_partitioned_parallelism = 1?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =?1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.savepoint_support='DISABLED';
+-/set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'-/;
+set spanner.max_partitioned_parallelism = 1-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =-/1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.savepoint_support='DISABLED';
+/#set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'/#;
+set spanner.max_partitioned_parallelism = 1/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =/#1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.savepoint_support='DISABLED';
+/-set spanner.max_partitioned_parallelism = 1;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support='DISABLED'/-;
+set spanner.max_partitioned_parallelism = 1/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-spanner.savepoint_support='DISABLED';
+set spanner.max_partitioned_parallelism =/-1;
NEW_CONNECTION;
-set spanner.savepoint_support to 'ENABLED';
+set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
-SET SPANNER.SAVEPOINT_SUPPORT TO 'ENABLED';
+SET SPANNER.MAX_PARTITIONED_PARALLELISM = 10;
NEW_CONNECTION;
-set spanner.savepoint_support to 'enabled';
+set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
- set spanner.savepoint_support to 'ENABLED';
+ set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
- set spanner.savepoint_support to 'ENABLED';
+ set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
-set spanner.savepoint_support to 'ENABLED';
+set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
-set spanner.savepoint_support to 'ENABLED' ;
+set spanner.max_partitioned_parallelism = 10 ;
NEW_CONNECTION;
-set spanner.savepoint_support to 'ENABLED' ;
+set spanner.max_partitioned_parallelism = 10 ;
NEW_CONNECTION;
-set spanner.savepoint_support to 'ENABLED'
+set spanner.max_partitioned_parallelism = 10
;
NEW_CONNECTION;
-set spanner.savepoint_support to 'ENABLED';
+set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
-set spanner.savepoint_support to 'ENABLED';
+set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
set
-spanner.savepoint_support
-to
-'ENABLED';
+spanner.max_partitioned_parallelism
+=
+10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.savepoint_support to 'ENABLED';
+foo set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED' bar;
+set spanner.max_partitioned_parallelism = 10 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.savepoint_support to 'ENABLED';
+%set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'%;
+set spanner.max_partitioned_parallelism = 10%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to%'ENABLED';
+set spanner.max_partitioned_parallelism =%10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.savepoint_support to 'ENABLED';
+_set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'_;
+set spanner.max_partitioned_parallelism = 10_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to_'ENABLED';
+set spanner.max_partitioned_parallelism =_10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.savepoint_support to 'ENABLED';
+&set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'&;
+set spanner.max_partitioned_parallelism = 10&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to&'ENABLED';
+set spanner.max_partitioned_parallelism =&10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.savepoint_support to 'ENABLED';
+$set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'$;
+set spanner.max_partitioned_parallelism = 10$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to$'ENABLED';
+set spanner.max_partitioned_parallelism =$10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.savepoint_support to 'ENABLED';
+@set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'@;
+set spanner.max_partitioned_parallelism = 10@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to@'ENABLED';
+set spanner.max_partitioned_parallelism =@10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.savepoint_support to 'ENABLED';
+!set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'!;
+set spanner.max_partitioned_parallelism = 10!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to!'ENABLED';
+set spanner.max_partitioned_parallelism =!10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.savepoint_support to 'ENABLED';
+*set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'*;
+set spanner.max_partitioned_parallelism = 10*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to*'ENABLED';
+set spanner.max_partitioned_parallelism =*10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.savepoint_support to 'ENABLED';
+(set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'(;
+set spanner.max_partitioned_parallelism = 10(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to('ENABLED';
+set spanner.max_partitioned_parallelism =(10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.savepoint_support to 'ENABLED';
+)set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED');
+set spanner.max_partitioned_parallelism = 10);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to)'ENABLED';
+set spanner.max_partitioned_parallelism =)10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.savepoint_support to 'ENABLED';
+-set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'-;
+set spanner.max_partitioned_parallelism = 10-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to-'ENABLED';
+set spanner.max_partitioned_parallelism =-10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.savepoint_support to 'ENABLED';
++set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'+;
+set spanner.max_partitioned_parallelism = 10+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to+'ENABLED';
+set spanner.max_partitioned_parallelism =+10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.savepoint_support to 'ENABLED';
+-#set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'-#;
+set spanner.max_partitioned_parallelism = 10-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to-#'ENABLED';
+set spanner.max_partitioned_parallelism =-#10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.savepoint_support to 'ENABLED';
+/set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'/;
+set spanner.max_partitioned_parallelism = 10/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to/'ENABLED';
+set spanner.max_partitioned_parallelism =/10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.savepoint_support to 'ENABLED';
+\set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'\;
+set spanner.max_partitioned_parallelism = 10\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to\'ENABLED';
+set spanner.max_partitioned_parallelism =\10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.savepoint_support to 'ENABLED';
+?set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'?;
+set spanner.max_partitioned_parallelism = 10?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to?'ENABLED';
+set spanner.max_partitioned_parallelism =?10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.savepoint_support to 'ENABLED';
+-/set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'-/;
+set spanner.max_partitioned_parallelism = 10-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to-/'ENABLED';
+set spanner.max_partitioned_parallelism =-/10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.savepoint_support to 'ENABLED';
+/#set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'/#;
+set spanner.max_partitioned_parallelism = 10/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to/#'ENABLED';
+set spanner.max_partitioned_parallelism =/#10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.savepoint_support to 'ENABLED';
+/-set spanner.max_partitioned_parallelism = 10;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'ENABLED'/-;
+set spanner.max_partitioned_parallelism = 10/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to/-'ENABLED';
+set spanner.max_partitioned_parallelism =/-10;
NEW_CONNECTION;
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
-SET SPANNER.SAVEPOINT_SUPPORT TO 'FAIL_AFTER_ROLLBACK';
+SET SPANNER.MAX_PARTITIONED_PARALLELISM TO 5;
NEW_CONNECTION;
-set spanner.savepoint_support to 'fail_after_rollback';
+set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
- set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+ set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
- set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+ set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK' ;
+set spanner.max_partitioned_parallelism to 5 ;
NEW_CONNECTION;
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK' ;
+set spanner.max_partitioned_parallelism to 5 ;
NEW_CONNECTION;
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'
+set spanner.max_partitioned_parallelism to 5
;
NEW_CONNECTION;
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
set
-spanner.savepoint_support
+spanner.max_partitioned_parallelism
to
-'FAIL_AFTER_ROLLBACK';
+5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+foo set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK' bar;
+set spanner.max_partitioned_parallelism to 5 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+%set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'%;
+set spanner.max_partitioned_parallelism to 5%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to%'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to%5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+_set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'_;
+set spanner.max_partitioned_parallelism to 5_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to_'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to_5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+&set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'&;
+set spanner.max_partitioned_parallelism to 5&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to&'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to&5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+$set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'$;
+set spanner.max_partitioned_parallelism to 5$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to$'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to$5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+@set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'@;
+set spanner.max_partitioned_parallelism to 5@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to@'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to@5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+!set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'!;
+set spanner.max_partitioned_parallelism to 5!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to!'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to!5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+*set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'*;
+set spanner.max_partitioned_parallelism to 5*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to*'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to*5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+(set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'(;
+set spanner.max_partitioned_parallelism to 5(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to('FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to(5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+)set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK');
+set spanner.max_partitioned_parallelism to 5);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to)'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to)5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+-set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'-;
+set spanner.max_partitioned_parallelism to 5-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to-'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to-5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
++set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'+;
+set spanner.max_partitioned_parallelism to 5+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to+'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to+5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+-#set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'-#;
+set spanner.max_partitioned_parallelism to 5-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to-#'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to-#5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+/set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'/;
+set spanner.max_partitioned_parallelism to 5/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to/'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to/5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+\set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'\;
+set spanner.max_partitioned_parallelism to 5\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to\'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to\5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+?set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'?;
+set spanner.max_partitioned_parallelism to 5?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to?'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to?5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+-/set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'-/;
+set spanner.max_partitioned_parallelism to 5-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to-/'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to-/5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+/#set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'/#;
+set spanner.max_partitioned_parallelism to 5/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to/#'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to/#5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK';
+/-set spanner.max_partitioned_parallelism to 5;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'FAIL_AFTER_ROLLBACK'/-;
+set spanner.max_partitioned_parallelism to 5/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to/-'FAIL_AFTER_ROLLBACK';
+set spanner.max_partitioned_parallelism to/-5;
NEW_CONNECTION;
-set spanner.savepoint_support to 'DISABLED';
+set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
-SET SPANNER.SAVEPOINT_SUPPORT TO 'DISABLED';
+SET SPANNER.MAX_PARTITIONED_PARALLELISM TO 20;
NEW_CONNECTION;
-set spanner.savepoint_support to 'disabled';
+set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
- set spanner.savepoint_support to 'DISABLED';
+ set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
- set spanner.savepoint_support to 'DISABLED';
+ set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
-set spanner.savepoint_support to 'DISABLED';
+set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
-set spanner.savepoint_support to 'DISABLED' ;
+set spanner.max_partitioned_parallelism to 20 ;
NEW_CONNECTION;
-set spanner.savepoint_support to 'DISABLED' ;
+set spanner.max_partitioned_parallelism to 20 ;
NEW_CONNECTION;
-set spanner.savepoint_support to 'DISABLED'
+set spanner.max_partitioned_parallelism to 20
;
NEW_CONNECTION;
-set spanner.savepoint_support to 'DISABLED';
+set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
-set spanner.savepoint_support to 'DISABLED';
+set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
set
-spanner.savepoint_support
+spanner.max_partitioned_parallelism
to
-'DISABLED';
+20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set spanner.savepoint_support to 'DISABLED';
+foo set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED' bar;
+set spanner.max_partitioned_parallelism to 20 bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set spanner.savepoint_support to 'DISABLED';
+%set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'%;
+set spanner.max_partitioned_parallelism to 20%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to%'DISABLED';
+set spanner.max_partitioned_parallelism to%20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set spanner.savepoint_support to 'DISABLED';
+_set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'_;
+set spanner.max_partitioned_parallelism to 20_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to_'DISABLED';
+set spanner.max_partitioned_parallelism to_20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set spanner.savepoint_support to 'DISABLED';
+&set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'&;
+set spanner.max_partitioned_parallelism to 20&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to&'DISABLED';
+set spanner.max_partitioned_parallelism to&20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set spanner.savepoint_support to 'DISABLED';
+$set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'$;
+set spanner.max_partitioned_parallelism to 20$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to$'DISABLED';
+set spanner.max_partitioned_parallelism to$20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set spanner.savepoint_support to 'DISABLED';
+@set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'@;
+set spanner.max_partitioned_parallelism to 20@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to@'DISABLED';
+set spanner.max_partitioned_parallelism to@20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set spanner.savepoint_support to 'DISABLED';
+!set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'!;
+set spanner.max_partitioned_parallelism to 20!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to!'DISABLED';
+set spanner.max_partitioned_parallelism to!20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set spanner.savepoint_support to 'DISABLED';
+*set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'*;
+set spanner.max_partitioned_parallelism to 20*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to*'DISABLED';
+set spanner.max_partitioned_parallelism to*20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set spanner.savepoint_support to 'DISABLED';
+(set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'(;
+set spanner.max_partitioned_parallelism to 20(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to('DISABLED';
+set spanner.max_partitioned_parallelism to(20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set spanner.savepoint_support to 'DISABLED';
+)set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED');
+set spanner.max_partitioned_parallelism to 20);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to)'DISABLED';
+set spanner.max_partitioned_parallelism to)20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set spanner.savepoint_support to 'DISABLED';
+-set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'-;
+set spanner.max_partitioned_parallelism to 20-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to-'DISABLED';
+set spanner.max_partitioned_parallelism to-20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set spanner.savepoint_support to 'DISABLED';
++set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'+;
+set spanner.max_partitioned_parallelism to 20+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to+'DISABLED';
+set spanner.max_partitioned_parallelism to+20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set spanner.savepoint_support to 'DISABLED';
+-#set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'-#;
+set spanner.max_partitioned_parallelism to 20-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to-#'DISABLED';
+set spanner.max_partitioned_parallelism to-#20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set spanner.savepoint_support to 'DISABLED';
+/set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'/;
+set spanner.max_partitioned_parallelism to 20/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to/'DISABLED';
+set spanner.max_partitioned_parallelism to/20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set spanner.savepoint_support to 'DISABLED';
+\set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'\;
+set spanner.max_partitioned_parallelism to 20\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to\'DISABLED';
+set spanner.max_partitioned_parallelism to\20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set spanner.savepoint_support to 'DISABLED';
+?set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'?;
+set spanner.max_partitioned_parallelism to 20?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to?'DISABLED';
+set spanner.max_partitioned_parallelism to?20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set spanner.savepoint_support to 'DISABLED';
+-/set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'-/;
+set spanner.max_partitioned_parallelism to 20-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to-/'DISABLED';
+set spanner.max_partitioned_parallelism to-/20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set spanner.savepoint_support to 'DISABLED';
+/#set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'/#;
+set spanner.max_partitioned_parallelism to 20/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to/#'DISABLED';
+set spanner.max_partitioned_parallelism to/#20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set spanner.savepoint_support to 'DISABLED';
+/-set spanner.max_partitioned_parallelism to 20;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to 'DISABLED'/-;
+set spanner.max_partitioned_parallelism to 20/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set spanner.savepoint_support to/-'DISABLED';
+set spanner.max_partitioned_parallelism to/-20;
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 09e88db7ae7..e59f0d8c52d 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
@@ -1,23 +1,23 @@
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -26,125 +26,123 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -153,60 +151,58 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
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='READ_TIMESTAMP 2023-06-02T14:28:19.019000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:19.019000000Z'
+SET AUTOCOMMIT=FALSE;
+COMMIT;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:34.525000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:34.525000000Z'
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 2023-06-02T14:28:19.019000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:19.019000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:34.525000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -221,34 +217,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -257,8 +253,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -301,46 +297,45 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+COMMIT;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -351,36 +346,28 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -389,173 +376,123 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -564,78 +501,58 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:19.308000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:19.308000000Z'
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:35.024000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:35.024000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:19.308000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:19.308000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:35.024000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -650,48 +567,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -700,10 +603,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -746,62 +647,45 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -812,207 +696,324 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-COMMIT;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
+SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:19.540000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:19.540000000Z'
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:35.564000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:35.564000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:19.540000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:35.564000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -1027,34 +1028,55 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-NEW_CONNECTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -1063,8 +1085,11 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -1107,71 +1132,116 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -1180,125 +1250,195 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -1307,60 +1447,85 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:19.792000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:19.792000000Z'
+COMMIT;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:36.103000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:36.103000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:19.792000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:19.792000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:36.103000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -1375,34 +1540,55 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -1411,8 +1597,11 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -1455,46 +1644,69 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -1505,217 +1717,208 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:20.042000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:20.042000000Z'
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:36.513000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:36.513000000Z'
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 2023-06-02T14:28:20.042000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:20.042000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:36.513000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -1730,34 +1933,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -1766,8 +1969,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -1810,230 +2013,282 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:20.251000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:20.251000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:36.935000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:20.251000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:20.251000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:36.935000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
-SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
+SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -2048,27 +2303,41 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -2077,7 +2346,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2120,254 +2391,254 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:20.438000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:20.438000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:37.377000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:20.438000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:37.377000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -2383,33 +2654,33 @@ SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -2419,7 +2690,7 @@ SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2463,76 +2734,66 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -2542,122 +2803,98 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -2667,57 +2904,48 @@ SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:20.632000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:20.632000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:37.759000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:37.759000000Z'
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 2023-06-02T14:28:20.632000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:37.759000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
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='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -2733,33 +2961,26 @@ SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -2769,7 +2990,6 @@ SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2813,44 +3033,36 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -2862,39 +3074,26 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -2902,196 +3101,134 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+COMMIT;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
-ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+COMMIT;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
-ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -3099,86 +3236,59 @@ SET SPANNER.READONLY=TRUE;
@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:20.826000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:20.826000000Z'
+COMMIT;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:38.234000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:38.234000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:20.826000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:38.234000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -3192,56 +3302,35 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -3249,12 +3338,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -3296,117 +3382,84 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -3414,196 +3467,182 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -3611,86 +3650,77 @@ SET SPANNER.READONLY=TRUE;
@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.025000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:21.025000000Z'
+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 2023-08-04T10:58:38.635000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:38.635000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+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 2023-06-02T14:28:21.025000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:38.635000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+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='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -3704,56 +3734,49 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+NEW_CONNECTION;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -3761,12 +3784,11 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -3808,282 +3830,305 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+NEW_CONNECTION;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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='STRONG';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.172000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:21.172000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+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 2023-08-04T10:58:38.970000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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 2023-06-02T14:28:21.172000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:38.970000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -4097,35 +4142,42 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -4133,9 +4185,10 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -4177,283 +4230,255 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'TEST',1
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
+START BATCH DDL;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.311000000Z';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:39.276000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:21.311000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:39.277000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -4467,42 +4492,35 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -4510,10 +4528,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -4555,255 +4572,378 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
+SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.448000000Z';
+COMMIT;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:39.677000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:39.677000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:21.448000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:39.677000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -4817,35 +4957,56 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -4853,9 +5014,12 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -4897,220 +5061,279 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ ONLY;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.553000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:21.553000000Z'
+SET TRANSACTION READ ONLY;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:40.048000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:40.048000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:21.553000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:40.048000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -5124,28 +5347,35 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -5153,8 +5383,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5196,243 +5427,267 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
+SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.633000000Z';
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:40.370000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:40.370000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:21.633000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:40.370000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -5447,34 +5702,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -5483,8 +5738,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5527,284 +5782,381 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
+SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.711000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:21.711000000Z'
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:40.770000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:40.770000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:21.711000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:40.770000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -5819,41 +6171,55 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -5862,9 +6228,11 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5907,87 +6275,113 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
@@ -5997,150 +6391,166 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -6152,9 +6562,10 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -6166,17 +6577,18 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
@@ -6186,77 +6598,84 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:21.954000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:21.954000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:41.317000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:41.317000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:21.954000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:21.954000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:41.317000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -6272,47 +6691,54 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -6322,9 +6748,10 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -6368,61 +6795,67 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@@ -6433,137 +6866,138 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -6575,68 +7009,68 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:22.094000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.094000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:41.658000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:41.658000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.094000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:41.658000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -6652,33 +7086,33 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -6688,7 +7122,7 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -6732,193 +7166,206 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT UPDATE_COUNT 1
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT UPDATE_COUNT 1
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -6929,76 +7376,76 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
-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='READ_TIMESTAMP 2023-06-02T14:28:22.229000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.229000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:42.031000000Z';
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 2023-06-02T14:28:22.229000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:22.229000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:42.031000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-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 AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-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 AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-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 AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -7013,34 +7460,41 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -7049,8 +7503,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -7093,200 +7548,190 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
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 AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7297,76 +7742,65 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
-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='READ_TIMESTAMP 2023-06-02T14:28:22.356000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.356000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:42.424000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.356000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:22.356000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:42.424000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -7381,34 +7815,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -7417,8 +7851,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -7461,81 +7895,67 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -7544,130 +7964,83 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7678,9 +8051,7 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7691,16 +8062,11 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -7709,69 +8075,49 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
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='READ_TIMESTAMP 2023-06-02T14:28:22.483000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.483000000Z'
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:42.775000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:42.775000000Z'
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 2023-06-02T14:28:22.483000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:22.483000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:42.775000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
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 AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-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 AUTOCOMMIT=FALSE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
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 AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -7786,41 +8132,27 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -7829,9 +8161,7 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -7874,54 +8204,36 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
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 AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -7931,232 +8243,201 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT UPDATE_COUNT 1
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'TEST',1
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
+START BATCH DDL;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
-SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:22.600000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.600000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:43.084000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.600000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:22.600000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:43.084000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -8172,33 +8453,33 @@ SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -8208,7 +8489,7 @@ SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -8252,242 +8533,283 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT UPDATE_COUNT 1
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
-SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:22.688000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.688000000Z'
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:43.420000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:43.420000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.688000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-06-02T14:28:22.688000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:43.420000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -8503,26 +8825,40 @@ SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -8532,6 +8868,8 @@ SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -8575,66 +8913,86 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
@@ -8644,103 +9002,150 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -8752,7 +9157,9 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -8764,12 +9171,17 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
@@ -8779,57 +9191,77 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:22.778000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.778000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:43.880000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:43.880000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.778000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:43.880000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:43.880000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -8845,33 +9277,47 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -8881,7 +9327,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -8925,43 +9373,61 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@@ -8972,198 +9438,138 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
COMMIT;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
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);
-RUN BATCH;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
UPDATE foo SET bar=1;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET TRANSACTION READ WRITE;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
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);
-RUN BATCH;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -9174,95 +9580,69 @@ UPDATE foo SET bar=1;
START BATCH DML;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
ROLLBACK;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
-SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
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);
-RUN BATCH;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:22.886000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:22.886000000Z'
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:44.216000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:44.216000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:22.886000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:44.216000000Z';
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -9277,48 +9657,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -9327,10 +9693,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -9373,303 +9737,272 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
COMMIT;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET SPANNER.TRANSACTION_TAG = 'some-tag';
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
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);
-RUN BATCH;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:22.997000000Z';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:44.617000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:44.617000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
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 2023-06-02T14:28:22.997000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:44.617000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:44.617000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -9685,40 +10018,33 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -9728,8 +10054,7 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -9773,254 +10098,280 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.088000000Z';
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:45.077000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:45.077000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.088000000Z';
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:45.077000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:45.077000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -10035,34 +10386,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -10071,8 +10422,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -10115,83 +10466,81 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -10200,167 +10549,130 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -10371,11 +10683,9 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -10386,19 +10696,16 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -10407,85 +10714,69 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.196000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:23.196000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:45.593000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:45.593000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.196000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:45.593000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:45.593000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -10500,55 +10791,41 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -10557,11 +10834,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -10604,68 +10879,54 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -10675,207 +10936,232 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.284000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:23.284000000Z'
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:46.040000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:46.040000000Z'
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 2023-06-02T14:28:23.284000000Z';
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:46.040000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:46.040000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -10890,34 +11176,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -10926,8 +11212,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -10970,71 +11256,73 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -11043,104 +11331,88 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -11151,8 +11423,7 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -11163,13 +11434,12 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -11178,58 +11448,51 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.370000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:23.370000000Z'
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:46.465000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:46.465000000Z'
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 2023-06-02T14:28:23.370000000Z';
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:46.465000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:46.465000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
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 AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -11244,34 +11507,27 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -11280,8 +11536,7 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -11324,44 +11579,38 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -11371,40 +11620,27 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -11412,206 +11648,126 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT UPDATE_COUNT 1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -11619,86 +11775,61 @@ SET SPANNER.READONLY=TRUE;
@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.515000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:23.515000000Z'
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:46.867000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:46.867000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.515000000Z';
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:46.867000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:46.867000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+NEW_CONNECTION;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -11712,56 +11843,35 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -11769,12 +11879,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -11816,113 +11923,85 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
BEGIN TRANSACTION;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET AUTOCOMMIT=FALSE;
@@ -11932,204 +12011,172 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET SPANNER.READONLY=FALSE;
@@ -12139,84 +12186,77 @@ SET SPANNER.READONLY=TRUE;
@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.687000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:23.687000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:47.321000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:47.321000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.687000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:47.321000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:47.321000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@@ -12232,54 +12272,47 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@@ -12289,10 +12322,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET STATEMENT_TIMEOUT='1s';
@@ -12336,283 +12368,273 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET AUTOCOMMIT=TRUE;
-NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+NEW_CONNECTION;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READONLY=TRUE;
-NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+NEW_CONNECTION;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.800000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:23.800000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:47.748000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:47.748000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.800000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:47.748000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -12627,34 +12649,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -12663,8 +12685,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -12707,286 +12729,260 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:23.909000000Z';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:48.176000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:48.176000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:23.909000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:48.176000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:48.176000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -13001,41 +12997,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -13044,9 +13033,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -13089,259 +13077,267 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:24.028000000Z';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:48.611000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:48.611000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-06-02T14:28:24.028000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:48.611000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:48.611000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -13356,34 +13352,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -13392,8 +13388,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -13436,68 +13432,75 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -13505,110 +13508,102 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT UPDATE_COUNT 1
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -13616,50 +13611,52 @@ SET SPANNER.READONLY=TRUE;
@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-06-02T14:28:24.119000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-06-02T14:28:24.119000000Z'
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2023-08-04T10:58:49.017000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2023-08-04T10:58:49.017000000Z'
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 2023-06-02T14:28:24.119000000Z';
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2023-08-04T10:58:49.017000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2023-08-04T10:58:49.017000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -13673,28 +13670,28 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -13702,8 +13699,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -13745,44 +13742,47 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
diff --git a/grpc-google-cloud-spanner-admin-database-v1/pom.xml b/grpc-google-cloud-spanner-admin-database-v1/pom.xml
index 0c6049d9f8c..5d47e90a175 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.44.0
+ 6.45.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.44.0
+ 6.45.0
diff --git a/grpc-google-cloud-spanner-admin-instance-v1/pom.xml b/grpc-google-cloud-spanner-admin-instance-v1/pom.xml
index 3c8d605201f..82573fbd0dc 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.44.0
+ 6.45.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.44.0
+ 6.45.0
diff --git a/grpc-google-cloud-spanner-v1/pom.xml b/grpc-google-cloud-spanner-v1/pom.xml
index c323b5eca55..62a646487a2 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.44.0
+ 6.45.0
grpc-google-cloud-spanner-v1
GRPC library for grpc-google-cloud-spanner-v1
com.google.cloud
google-cloud-spanner-parent
- 6.44.0
+ 6.45.0
diff --git a/pom.xml b/pom.xml
index a0131ce095e..918d823a42d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud
google-cloud-spanner-parent
pom
- 6.44.0
+ 6.45.0
Google Cloud Spanner Parent
https://github.com/googleapis/java-spanner
@@ -54,7 +54,7 @@
UTF-8
github
google-cloud-spanner-parent
- 3.13.1
+ 3.14.0