diff --git a/google-cloud-spanner/clirr-ignored-differences.xml b/google-cloud-spanner/clirr-ignored-differences.xml
index 75f83555c9..75df772d76 100644
--- a/google-cloud-spanner/clirr-ignored-differences.xml
+++ b/google-cloud-spanner/clirr-ignored-differences.xml
@@ -592,6 +592,28 @@
com/google/cloud/spanner/AsyncTransactionManager$CommitTimestampFuture
java.lang.Object get()
+
+
+
+ 7012
+ com/google/cloud/spanner/connection/Connection
+ java.lang.String getStatementTag()
+
+
+ 7012
+ com/google/cloud/spanner/connection/Connection
+ void setStatementTag(java.lang.String)
+
+
+ 7012
+ com/google/cloud/spanner/connection/Connection
+ java.lang.String getTransactionTag()
+
+
+ 7012
+ com/google/cloud/spanner/connection/Connection
+ void setTransactionTag(java.lang.String)
+
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 0e9ca97209..6fb5d01531 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
@@ -51,6 +51,7 @@
abstract class AbstractBaseUnitOfWork implements UnitOfWork {
private final StatementExecutor statementExecutor;
private final StatementTimeout statementTimeout;
+ protected final String transactionTag;
/** Class for keeping track of the stacktrace of the caller of an async statement. */
static final class SpannerAsyncExecutionException extends RuntimeException {
@@ -82,6 +83,7 @@ enum InterceptorsUsage {
abstract static class Builder, T extends AbstractBaseUnitOfWork> {
private StatementExecutor statementExecutor;
private StatementTimeout statementTimeout = new StatementTimeout();
+ private String transactionTag;
Builder() {}
@@ -102,6 +104,11 @@ B setStatementTimeout(StatementTimeout timeout) {
return self();
}
+ B setTransactionTag(@Nullable String tag) {
+ this.transactionTag = tag;
+ return self();
+ }
+
abstract T build();
}
@@ -109,6 +116,7 @@ B setStatementTimeout(StatementTimeout timeout) {
Preconditions.checkState(builder.statementExecutor != null, "No statement executor specified");
this.statementExecutor = builder.statementExecutor;
this.statementTimeout = builder.statementTimeout;
+ this.transactionTag = builder.transactionTag;
}
StatementExecutor getStatementExecutor() {
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 fb7e7bca01..42b77a69d0 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
@@ -33,6 +33,7 @@
import com.google.cloud.spanner.Statement;
import com.google.cloud.spanner.TimestampBound;
import com.google.cloud.spanner.connection.StatementResult.ResultType;
+import com.google.spanner.v1.ExecuteBatchDmlRequest;
import java.util.Iterator;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
@@ -330,6 +331,52 @@ public interface Connection extends AutoCloseable {
*/
TransactionMode getTransactionMode();
+ /**
+ * Sets the transaction tag to use for the current transaction. This method may only be called
+ * when in a transaction and before any statements have been executed in the transaction.
+ *
+ *
The tag will be set as the transaction tag of all statements during the transaction, and as
+ * the transaction tag of the commit.
+ *
+ *
The transaction tag will automatically be cleared after the transaction has ended.
+ *
+ * @param tag The tag to use.
+ */
+ default void setTransactionTag(String tag) {
+ throw new UnsupportedOperationException();
+ }
+
+ /** @return The transaction tag of the current transaction. */
+ default String getTransactionTag() {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * Sets the statement tag to use for the next statement that is executed. The tag is automatically
+ * cleared after the statement is executed. Statement tags can be used both with autocommit=true
+ * and autocommit=false, and can be used for partitioned DML.
+ *
+ *
Statement tags are not allowed before COMMIT and ROLLBACK statements.
+ *
+ *
Statement tags are allowed before START BATCH DML statements and will be included in the
+ * {@link ExecuteBatchDmlRequest} that is sent to Spanner. Statement tags are not allowed inside a
+ * batch.
+ *
+ * @param tag The statement tag to use with the next statement that will be executed on this
+ * connection.
+ */
+ default void setStatementTag(String tag) {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @return The statement tag that will be used with the next statement that is executed on this
+ * connection.
+ */
+ default String getStatementTag() {
+ throw new UnsupportedOperationException();
+ }
+
/**
* @return true
if this connection will automatically retry read/write transactions
* that abort. This method may only be called when the connection is in read/write
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionImpl.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionImpl.java
index ecf79a8086..6c3b50a973 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
@@ -26,7 +26,9 @@
import com.google.cloud.spanner.DatabaseClient;
import com.google.cloud.spanner.ErrorCode;
import com.google.cloud.spanner.Mutation;
+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.ReadContext.QueryAnalyzeMode;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.ResultSets;
@@ -45,6 +47,7 @@
import com.google.common.util.concurrent.MoreExecutors;
import com.google.spanner.v1.ExecuteSqlRequest.QueryOptions;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
@@ -206,6 +209,9 @@ static UnitOfWorkType of(TransactionMode transactionMode) {
private TimestampBound readOnlyStaleness = TimestampBound.strong();
private QueryOptions queryOptions = QueryOptions.getDefaultInstance();
+ private String transactionTag;
+ private String statementTag;
+
/** Create a connection and register it in the SpannerPool. */
ConnectionImpl(ConnectionOptions options) {
Preconditions.checkNotNull(options);
@@ -512,6 +518,47 @@ public void setTransactionMode(TransactionMode transactionMode) {
this.unitOfWorkType = UnitOfWorkType.of(transactionMode);
}
+ @Override
+ public String getTransactionTag() {
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ ConnectionPreconditions.checkState(!isDdlBatchActive(), "This connection is in a DDL batch");
+ return transactionTag;
+ }
+
+ @Override
+ public void setTransactionTag(String tag) {
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ ConnectionPreconditions.checkState(
+ !isBatchActive(), "Cannot set transaction tag while in a batch");
+ ConnectionPreconditions.checkState(isInTransaction(), "This connection has no transaction");
+ ConnectionPreconditions.checkState(
+ !isTransactionStarted(),
+ "The transaction tag cannot be set after the transaction has started");
+ ConnectionPreconditions.checkState(
+ getTransactionMode() == TransactionMode.READ_WRITE_TRANSACTION,
+ "Transaction tag can only be set for a read/write transaction");
+
+ this.transactionBeginMarked = true;
+ this.transactionTag = tag;
+ }
+
+ @Override
+ public String getStatementTag() {
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ ConnectionPreconditions.checkState(
+ !isBatchActive(), "Statement tags are not allowed inside a batch");
+ return statementTag;
+ }
+
+ @Override
+ public void setStatementTag(String tag) {
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ ConnectionPreconditions.checkState(
+ !isBatchActive(), "Statement tags are not allowed inside a batch");
+
+ this.statementTag = tag;
+ }
+
/**
* Throws an {@link SpannerException} with code {@link ErrorCode#FAILED_PRECONDITION} if the
* current state of this connection does not allow changing the setting for retryAbortsInternally.
@@ -643,6 +690,7 @@ private void setDefaultTransactionOptions() {
? UnitOfWorkType.READ_ONLY_TRANSACTION
: UnitOfWorkType.READ_WRITE_TRANSACTION;
batchMode = BatchMode.NONE;
+ transactionTag = null;
} else {
popUnitOfWorkFromTransactionStack();
}
@@ -717,6 +765,8 @@ public ApiFuture rollbackAsync() {
private ApiFuture endCurrentTransactionAsync(EndTransactionMethod endTransactionMethod) {
ConnectionPreconditions.checkState(!isBatchActive(), "This connection has an active batch");
ConnectionPreconditions.checkState(isInTransaction(), "This connection has no transaction");
+ ConnectionPreconditions.checkState(
+ statementTag == null, "Statement tags are not supported for COMMIT or ROLLBACK");
ApiFuture res;
try {
if (isTransactionStarted()) {
@@ -954,6 +1004,34 @@ public ApiFuture executeBatchUpdateAsync(Iterable updates) {
return internalExecuteBatchUpdateAsync(parsedStatements);
}
+ private QueryOption[] mergeQueryStatementTag(QueryOption... options) {
+ if (this.statementTag != null) {
+ // Shortcut for the most common scenario.
+ if (options == null || options.length == 0) {
+ options = new QueryOption[] {Options.tag(statementTag)};
+ } else {
+ options = Arrays.copyOf(options, options.length + 1);
+ options[options.length - 1] = Options.tag(statementTag);
+ }
+ this.statementTag = null;
+ }
+ return options;
+ }
+
+ private UpdateOption[] mergeUpdateStatementTag(UpdateOption... options) {
+ if (this.statementTag != null) {
+ // Shortcut for the most common scenario.
+ if (options == null || options.length == 0) {
+ options = new UpdateOption[] {Options.tag(statementTag)};
+ } else {
+ options = Arrays.copyOf(options, options.length + 1);
+ options[options.length - 1] = Options.tag(statementTag);
+ }
+ this.statementTag = null;
+ }
+ return options;
+ }
+
private ResultSet internalExecuteQuery(
final ParsedStatement statement,
final AnalyzeMode analyzeMode,
@@ -961,7 +1039,8 @@ private ResultSet internalExecuteQuery(
Preconditions.checkArgument(
statement.getType() == StatementType.QUERY, "Statement must be a query");
UnitOfWork transaction = getCurrentUnitOfWorkOrStartNewUnitOfWork();
- return get(transaction.executeQueryAsync(statement, analyzeMode, options));
+ return get(
+ transaction.executeQueryAsync(statement, analyzeMode, mergeQueryStatementTag(options)));
}
private AsyncResultSet internalExecuteQueryAsync(
@@ -972,21 +1051,23 @@ private AsyncResultSet internalExecuteQueryAsync(
statement.getType() == StatementType.QUERY, "Statement must be a query");
UnitOfWork transaction = getCurrentUnitOfWorkOrStartNewUnitOfWork();
return ResultSets.toAsyncResultSet(
- transaction.executeQueryAsync(statement, analyzeMode, options),
+ transaction.executeQueryAsync(statement, analyzeMode, mergeQueryStatementTag(options)),
spanner.getAsyncExecutorProvider(),
options);
}
- private ApiFuture internalExecuteUpdateAsync(final ParsedStatement update) {
+ private ApiFuture internalExecuteUpdateAsync(
+ final ParsedStatement update, UpdateOption... options) {
Preconditions.checkArgument(
update.getType() == StatementType.UPDATE, "Statement must be an update");
UnitOfWork transaction = getCurrentUnitOfWorkOrStartNewUnitOfWork();
- return transaction.executeUpdateAsync(update);
+ return transaction.executeUpdateAsync(update, mergeUpdateStatementTag(options));
}
- private ApiFuture internalExecuteBatchUpdateAsync(List updates) {
+ private ApiFuture internalExecuteBatchUpdateAsync(
+ List updates, UpdateOption... options) {
UnitOfWork transaction = getCurrentUnitOfWorkOrStartNewUnitOfWork();
- return transaction.executeBatchUpdateAsync(updates);
+ return transaction.executeBatchUpdateAsync(updates, mergeUpdateStatementTag(options));
}
/**
@@ -1001,7 +1082,8 @@ UnitOfWork getCurrentUnitOfWorkOrStartNewUnitOfWork() {
return this.currentUnitOfWork;
}
- private UnitOfWork createNewUnitOfWork() {
+ @VisibleForTesting
+ UnitOfWork createNewUnitOfWork() {
if (isAutocommit() && !isInTransaction() && !isInBatch()) {
return SingleUseTransaction.newBuilder()
.setDdlClient(ddlClient)
@@ -1021,6 +1103,7 @@ private UnitOfWork createNewUnitOfWork() {
.setReadOnlyStaleness(readOnlyStaleness)
.setStatementTimeout(statementTimeout)
.withStatementExecutor(statementExecutor)
+ .setTransactionTag(transactionTag)
.build();
case READ_WRITE_TRANSACTION:
return ReadWriteTransaction.newBuilder()
@@ -1030,6 +1113,7 @@ private UnitOfWork createNewUnitOfWork() {
.setTransactionRetryListeners(transactionRetryListeners)
.setStatementTimeout(statementTimeout)
.withStatementExecutor(statementExecutor)
+ .setTransactionTag(transactionTag)
.build();
case DML_BATCH:
// A DML batch can run inside the current transaction. It should therefore only
@@ -1039,6 +1123,7 @@ private UnitOfWork createNewUnitOfWork() {
.setTransaction(currentUnitOfWork)
.setStatementTimeout(statementTimeout)
.withStatementExecutor(statementExecutor)
+ .setStatementTag(statementTag)
.build();
case DDL_BATCH:
return DdlBatch.newBuilder()
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 3f6dba9a40..6ed72cf5f1 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
@@ -74,6 +74,14 @@ interface ConnectionStatementExecutor {
StatementResult statementShowReturnCommitStats();
+ StatementResult statementSetStatementTag(String tag);
+
+ StatementResult statementShowStatementTag();
+
+ StatementResult statementSetTransactionTag(String tag);
+
+ StatementResult statementShowTransactionTag();
+
StatementResult statementBeginTransaction();
StatementResult statementCommit();
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 0f3f7470a6..d85e34a874 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorImpl.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorImpl.java
@@ -29,8 +29,10 @@
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_READ_ONLY_STALENESS;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_RETRY_ABORTS_INTERNALLY;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_RETURN_COMMIT_STATS;
+import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_STATEMENT_TAG;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_STATEMENT_TIMEOUT;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SET_TRANSACTION_MODE;
+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_COMMIT_RESPONSE;
@@ -42,7 +44,9 @@
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_READ_TIMESTAMP;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_RETRY_ABORTS_INTERNALLY;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_RETURN_COMMIT_STATS;
+import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_STATEMENT_TAG;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_STATEMENT_TIMEOUT;
+import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.SHOW_TRANSACTION_TAG;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.START_BATCH_DDL;
import static com.google.cloud.spanner.connection.StatementResult.ClientSideStatementType.START_BATCH_DML;
import static com.google.cloud.spanner.connection.StatementResultImpl.noResult;
@@ -57,6 +61,7 @@
import com.google.cloud.spanner.Type;
import com.google.cloud.spanner.Type.StructField;
import com.google.cloud.spanner.connection.ReadOnlyStalenessUtil.DurationValueGetter;
+import com.google.common.base.MoreObjects;
import com.google.common.base.Preconditions;
import com.google.protobuf.Duration;
import java.util.Arrays;
@@ -258,6 +263,34 @@ public StatementResult statementShowReturnCommitStats() {
"RETURN_COMMIT_STATS", getConnection().isReturnCommitStats(), SHOW_RETURN_COMMIT_STATS);
}
+ @Override
+ public StatementResult statementSetStatementTag(String tag) {
+ getConnection().setStatementTag("".equals(tag) ? null : tag);
+ return noResult(SET_STATEMENT_TAG);
+ }
+
+ @Override
+ public StatementResult statementShowStatementTag() {
+ return resultSet(
+ "STATEMENT_TAG",
+ MoreObjects.firstNonNull(getConnection().getStatementTag(), ""),
+ SHOW_STATEMENT_TAG);
+ }
+
+ @Override
+ public StatementResult statementSetTransactionTag(String tag) {
+ getConnection().setTransactionTag("".equals(tag) ? null : tag);
+ return noResult(SET_TRANSACTION_TAG);
+ }
+
+ @Override
+ public StatementResult statementShowTransactionTag() {
+ return resultSet(
+ "TRANSACTION_TAG",
+ MoreObjects.firstNonNull(getConnection().getTransactionTag(), ""),
+ SHOW_TRANSACTION_TAG);
+ }
+
@Override
public StatementResult statementBeginTransaction() {
getConnection().beginTransaction();
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DdlBatch.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DdlBatch.java
index 3624fdb592..675b6e3a95 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DdlBatch.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DdlBatch.java
@@ -25,6 +25,7 @@
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.ResultSet;
import com.google.cloud.spanner.SpannerException;
import com.google.cloud.spanner.SpannerExceptionFactory;
@@ -191,13 +192,14 @@ public ApiFuture executeDdlAsync(ParsedStatement ddl) {
}
@Override
- public ApiFuture executeUpdateAsync(ParsedStatement update) {
+ public ApiFuture executeUpdateAsync(ParsedStatement update, UpdateOption... options) {
throw SpannerExceptionFactory.newSpannerException(
ErrorCode.FAILED_PRECONDITION, "Executing updates is not allowed for DDL batches.");
}
@Override
- public ApiFuture executeBatchUpdateAsync(Iterable updates) {
+ public ApiFuture executeBatchUpdateAsync(
+ Iterable updates, UpdateOption... options) {
throw SpannerExceptionFactory.newSpannerException(
ErrorCode.FAILED_PRECONDITION, "Executing batch updates is not allowed for DDL batches.");
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DmlBatch.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DmlBatch.java
index 3da5c6edd7..ee46d99763 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DmlBatch.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/DmlBatch.java
@@ -24,7 +24,9 @@
import com.google.cloud.spanner.CommitResponse;
import com.google.cloud.spanner.ErrorCode;
import com.google.cloud.spanner.Mutation;
+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.ResultSet;
import com.google.cloud.spanner.SpannerExceptionFactory;
import com.google.cloud.spanner.connection.StatementParser.ParsedStatement;
@@ -41,11 +43,13 @@
*/
class DmlBatch extends AbstractBaseUnitOfWork {
private final UnitOfWork transaction;
+ private final String statementTag;
private final List statements = new ArrayList<>();
private UnitOfWorkState state = UnitOfWorkState.STARTED;
static class Builder extends AbstractBaseUnitOfWork.Builder {
private UnitOfWork transaction;
+ private String statementTag;
private Builder() {}
@@ -55,6 +59,11 @@ Builder setTransaction(UnitOfWork transaction) {
return this;
}
+ Builder setStatementTag(String tag) {
+ this.statementTag = tag;
+ return this;
+ }
+
@Override
DmlBatch build() {
Preconditions.checkState(transaction != null, "No transaction specified");
@@ -69,6 +78,7 @@ static Builder newBuilder() {
private DmlBatch(Builder builder) {
super(builder);
this.transaction = builder.transaction;
+ this.statementTag = builder.statementTag;
}
@Override
@@ -138,7 +148,7 @@ public ApiFuture executeDdlAsync(ParsedStatement ddl) {
}
@Override
- public ApiFuture executeUpdateAsync(ParsedStatement update) {
+ public ApiFuture executeUpdateAsync(ParsedStatement update, UpdateOption... options) {
ConnectionPreconditions.checkState(
state == UnitOfWorkState.STARTED,
"The batch is no longer active and cannot be used for further statements");
@@ -152,7 +162,8 @@ public ApiFuture executeUpdateAsync(ParsedStatement update) {
}
@Override
- public ApiFuture executeBatchUpdateAsync(Iterable updates) {
+ public ApiFuture executeBatchUpdateAsync(
+ Iterable updates, UpdateOption... options) {
throw SpannerExceptionFactory.newSpannerException(
ErrorCode.FAILED_PRECONDITION, "Executing batch updates is not allowed for DML batches.");
}
@@ -178,7 +189,9 @@ public ApiFuture runBatchAsync() {
// executed AFTER a Future is done, which means that a user could read the state of the Batch
// before it has been changed.
final SettableApiFuture res = SettableApiFuture.create();
- ApiFuture updateCounts = transaction.executeBatchUpdateAsync(statements);
+ UpdateOption[] options =
+ statementTag == null ? new UpdateOption[0] : new UpdateOption[] {Options.tag(statementTag)};
+ ApiFuture updateCounts = transaction.executeBatchUpdateAsync(statements, options);
ApiFutures.addCallback(
updateCounts,
new ApiFutureCallback() {
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 5873987773..1e1fa0cba8 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
@@ -23,6 +23,7 @@
import com.google.cloud.spanner.DatabaseClient;
import com.google.cloud.spanner.ErrorCode;
import com.google.cloud.spanner.Mutation;
+import com.google.cloud.spanner.Options.UpdateOption;
import com.google.cloud.spanner.ReadContext;
import com.google.cloud.spanner.SpannerException;
import com.google.cloud.spanner.SpannerExceptionFactory;
@@ -156,14 +157,15 @@ public ApiFuture executeDdlAsync(ParsedStatement ddl) {
}
@Override
- public ApiFuture executeUpdateAsync(ParsedStatement update) {
+ public ApiFuture executeUpdateAsync(ParsedStatement update, UpdateOption... options) {
throw SpannerExceptionFactory.newSpannerException(
ErrorCode.FAILED_PRECONDITION,
"Update statements are not allowed for read-only transactions");
}
@Override
- public ApiFuture executeBatchUpdateAsync(Iterable updates) {
+ public ApiFuture executeBatchUpdateAsync(
+ Iterable updates, UpdateOption... options) {
throw SpannerExceptionFactory.newSpannerException(
ErrorCode.FAILED_PRECONDITION, "Batch updates are not allowed for read-only transactions.");
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java
index 6bf3b120a0..a8956d44dc 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java
@@ -32,6 +32,8 @@
import com.google.cloud.spanner.Mutation;
import com.google.cloud.spanner.Options;
import com.google.cloud.spanner.Options.QueryOption;
+import com.google.cloud.spanner.Options.TransactionOption;
+import com.google.cloud.spanner.Options.UpdateOption;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.SpannerException;
import com.google.cloud.spanner.SpannerExceptionFactory;
@@ -42,6 +44,7 @@
import com.google.cloud.spanner.connection.TransactionRetryListener.RetryResult;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
+import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.spanner.v1.SpannerGrpc;
@@ -70,7 +73,7 @@ class ReadWriteTransaction extends AbstractMultiUseTransaction {
private static final int MAX_INTERNAL_RETRIES = 50;
private final long transactionId;
private final DatabaseClient dbClient;
- private TransactionManager txManager;
+ private final TransactionManager txManager;
private final boolean retryAbortsInternally;
private int transactionRetryAttempts;
private int successfulRetries;
@@ -136,10 +139,26 @@ private ReadWriteTransaction(Builder builder) {
this.dbClient = builder.dbClient;
this.retryAbortsInternally = builder.retryAbortsInternally;
this.transactionRetryListeners = builder.transactionRetryListeners;
- this.txManager =
- builder.returnCommitStats
- ? dbClient.transactionManager(Options.commitStats())
- : dbClient.transactionManager();
+ this.txManager = dbClient.transactionManager(extractOptions(builder));
+ }
+
+ private TransactionOption[] extractOptions(Builder builder) {
+ int numOptions = 0;
+ if (builder.returnCommitStats) {
+ numOptions++;
+ }
+ if (this.transactionTag != null) {
+ numOptions++;
+ }
+ TransactionOption[] options = new TransactionOption[numOptions];
+ int index = 0;
+ if (builder.returnCommitStats) {
+ options[index++] = Options.commitStats();
+ }
+ if (this.transactionTag != null) {
+ options[index++] = Options.tag(this.transactionTag);
+ }
+ return options;
}
@Override
@@ -147,6 +166,8 @@ public String toString() {
return new StringBuilder()
.append("ReadWriteTransaction - ID: ")
.append(transactionId)
+ .append("; Tag: ")
+ .append(Strings.nullToEmpty(transactionTag))
.append("; Status: ")
.append(internalGetStateName())
.append("; Started: ")
@@ -363,7 +384,8 @@ public void onSuccess(ResultSet result) {}
}
@Override
- public ApiFuture executeUpdateAsync(final ParsedStatement update) {
+ public ApiFuture executeUpdateAsync(
+ final ParsedStatement update, final UpdateOption... options) {
Preconditions.checkNotNull(update);
Preconditions.checkArgument(update.isUpdate(), "The statement is not an update statement");
checkValidTransaction();
@@ -383,8 +405,8 @@ public ApiFuture executeUpdateAsync(final ParsedStatement update) {
StatementExecutionStep.EXECUTE_STATEMENT,
ReadWriteTransaction.this);
long updateCount =
- get(txContextFuture).executeUpdate(update.getStatement());
- createAndAddRetriableUpdate(update, updateCount);
+ get(txContextFuture).executeUpdate(update.getStatement(), options);
+ createAndAddRetriableUpdate(update, updateCount, options);
return updateCount;
} catch (AbortedException e) {
throw e;
@@ -440,7 +462,8 @@ public void onSuccess(Long result) {}
StatementParser.INSTANCE.parse(Statement.of("RUN BATCH"));
@Override
- public ApiFuture executeBatchUpdateAsync(Iterable updates) {
+ public ApiFuture executeBatchUpdateAsync(
+ Iterable updates, final UpdateOption... options) {
Preconditions.checkNotNull(updates);
final List updateStatements = new LinkedList<>();
for (ParsedStatement update : updates) {
@@ -466,8 +489,9 @@ public ApiFuture executeBatchUpdateAsync(Iterable updat
EXECUTE_BATCH_UPDATE_STATEMENT,
StatementExecutionStep.EXECUTE_STATEMENT,
ReadWriteTransaction.this);
- long[] updateCounts = get(txContextFuture).batchUpdate(updateStatements);
- createAndAddRetriableBatchUpdate(updateStatements, updateCounts);
+ long[] updateCounts =
+ get(txContextFuture).batchUpdate(updateStatements, options);
+ createAndAddRetriableBatchUpdate(updateStatements, updateCounts, options);
return updateCounts;
} catch (AbortedException e) {
throw e;
@@ -668,15 +692,17 @@ private void createAndAddFailedQuery(
}
}
- private void createAndAddRetriableUpdate(ParsedStatement update, long updateCount) {
+ private void createAndAddRetriableUpdate(
+ ParsedStatement update, long updateCount, UpdateOption... options) {
if (retryAbortsInternally) {
- addRetryStatement(new RetriableUpdate(this, update, updateCount));
+ addRetryStatement(new RetriableUpdate(this, update, updateCount, options));
}
}
- private void createAndAddRetriableBatchUpdate(Iterable updates, long[] updateCounts) {
+ private void createAndAddRetriableBatchUpdate(
+ Iterable updates, long[] updateCounts, UpdateOption... options) {
if (retryAbortsInternally) {
- addRetryStatement(new RetriableBatchUpdate(this, updates, updateCounts));
+ addRetryStatement(new RetriableBatchUpdate(this, updates, updateCounts, options));
}
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/RetriableBatchUpdate.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/RetriableBatchUpdate.java
index 74925a2e3f..ad2e2b2950 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/RetriableBatchUpdate.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/RetriableBatchUpdate.java
@@ -17,6 +17,7 @@
package com.google.cloud.spanner.connection;
import com.google.cloud.spanner.AbortedException;
+import com.google.cloud.spanner.Options.UpdateOption;
import com.google.cloud.spanner.SpannerException;
import com.google.cloud.spanner.SpannerExceptionFactory;
import com.google.cloud.spanner.Statement;
@@ -32,14 +33,19 @@ final class RetriableBatchUpdate implements RetriableStatement {
private final ReadWriteTransaction transaction;
private final Iterable statements;
private final long[] updateCounts;
+ private final UpdateOption[] options;
RetriableBatchUpdate(
- ReadWriteTransaction transaction, Iterable statements, long[] updateCounts) {
+ ReadWriteTransaction transaction,
+ Iterable statements,
+ long[] updateCounts,
+ UpdateOption... options) {
Preconditions.checkNotNull(transaction);
Preconditions.checkNotNull(statements);
this.transaction = transaction;
this.statements = statements;
this.updateCounts = updateCounts;
+ this.options = options;
}
@Override
@@ -52,7 +58,7 @@ public void retry(AbortedException aborted) throws AbortedException {
ReadWriteTransaction.EXECUTE_BATCH_UPDATE_STATEMENT,
StatementExecutionStep.RETRY_STATEMENT,
transaction);
- newCount = transaction.getReadContext().batchUpdate(statements);
+ newCount = transaction.getReadContext().batchUpdate(statements, options);
} catch (AbortedException e) {
// Just re-throw the AbortedException and let the retry logic determine whether another try
// should be executed or not.
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/RetriableUpdate.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/RetriableUpdate.java
index fe5da7cdf0..060a1aa61d 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/RetriableUpdate.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/RetriableUpdate.java
@@ -17,6 +17,7 @@
package com.google.cloud.spanner.connection;
import com.google.cloud.spanner.AbortedException;
+import com.google.cloud.spanner.Options.UpdateOption;
import com.google.cloud.spanner.SpannerException;
import com.google.cloud.spanner.SpannerExceptionFactory;
import com.google.cloud.spanner.connection.ReadWriteTransaction.RetriableStatement;
@@ -31,13 +32,19 @@ final class RetriableUpdate implements RetriableStatement {
private final ReadWriteTransaction transaction;
private final ParsedStatement statement;
private final long updateCount;
+ private final UpdateOption[] options;
- RetriableUpdate(ReadWriteTransaction transaction, ParsedStatement statement, long updateCount) {
+ RetriableUpdate(
+ ReadWriteTransaction transaction,
+ ParsedStatement statement,
+ long updateCount,
+ UpdateOption... options) {
Preconditions.checkNotNull(transaction);
Preconditions.checkNotNull(statement);
this.transaction = transaction;
this.statement = statement;
this.updateCount = updateCount;
+ this.options = options;
}
@Override
@@ -47,7 +54,7 @@ public void retry(AbortedException aborted) throws AbortedException {
transaction
.getStatementExecutor()
.invokeInterceptors(statement, StatementExecutionStep.RETRY_STATEMENT, transaction);
- newCount = transaction.getReadContext().executeUpdate(statement.getStatement());
+ newCount = transaction.getReadContext().executeUpdate(statement.getStatement(), options);
} catch (AbortedException e) {
// Just re-throw the AbortedException and let the retry logic determine whether another try
// should be executed or not.
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 5fdaf877d8..4b3e0e6666 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
@@ -26,6 +26,7 @@
import com.google.cloud.spanner.Mutation;
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.ReadOnlyTransaction;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.SpannerApiFutures;
@@ -281,7 +282,7 @@ public ApiFuture executeDdlAsync(final ParsedStatement ddl) {
}
@Override
- public ApiFuture executeUpdateAsync(ParsedStatement update) {
+ public ApiFuture executeUpdateAsync(ParsedStatement update, UpdateOption... options) {
Preconditions.checkNotNull(update);
Preconditions.checkArgument(update.isUpdate(), "Statement is not an update statement");
ConnectionPreconditions.checkState(
@@ -291,10 +292,10 @@ public ApiFuture executeUpdateAsync(ParsedStatement update) {
ApiFuture res;
switch (autocommitDmlMode) {
case TRANSACTIONAL:
- res = executeTransactionalUpdateAsync(update);
+ res = executeTransactionalUpdateAsync(update, options);
break;
case PARTITIONED_NON_ATOMIC:
- res = executePartitionedUpdateAsync(update);
+ res = executePartitionedUpdateAsync(update, options);
break;
default:
throw SpannerExceptionFactory.newSpannerException(
@@ -307,7 +308,8 @@ public ApiFuture executeUpdateAsync(ParsedStatement update) {
StatementParser.INSTANCE.parse(Statement.of("RUN BATCH"));
@Override
- public ApiFuture executeBatchUpdateAsync(Iterable updates) {
+ public ApiFuture executeBatchUpdateAsync(
+ Iterable updates, UpdateOption... options) {
Preconditions.checkNotNull(updates);
for (ParsedStatement update : updates) {
Preconditions.checkArgument(
@@ -320,7 +322,7 @@ public ApiFuture executeBatchUpdateAsync(Iterable updat
switch (autocommitDmlMode) {
case TRANSACTIONAL:
- return executeTransactionalBatchUpdateAsync(updates);
+ return executeTransactionalBatchUpdateAsync(updates, options);
case PARTITIONED_NON_ATOMIC:
throw SpannerExceptionFactory.newSpannerException(
ErrorCode.FAILED_PRECONDITION, "Batch updates are not allowed in " + autocommitDmlMode);
@@ -336,14 +338,15 @@ private TransactionRunner createWriteTransaction() {
: dbClient.readWriteTransaction();
}
- private ApiFuture executeTransactionalUpdateAsync(final ParsedStatement update) {
+ private ApiFuture executeTransactionalUpdateAsync(
+ final ParsedStatement update, final UpdateOption... options) {
Callable callable =
() -> {
try {
writeTransaction = createWriteTransaction();
Long res =
writeTransaction.run(
- transaction -> transaction.executeUpdate(update.getStatement()));
+ transaction -> transaction.executeUpdate(update.getStatement(), options));
state = UnitOfWorkState.COMMITTED;
return res;
} catch (Throwable t) {
@@ -357,11 +360,12 @@ private ApiFuture executeTransactionalUpdateAsync(final ParsedStatement up
ImmutableList.of(SpannerGrpc.getExecuteSqlMethod(), SpannerGrpc.getCommitMethod()));
}
- private ApiFuture executePartitionedUpdateAsync(final ParsedStatement update) {
+ private ApiFuture executePartitionedUpdateAsync(
+ final ParsedStatement update, final UpdateOption... options) {
Callable callable =
() -> {
try {
- Long res = dbClient.executePartitionedUpdate(update.getStatement());
+ Long res = dbClient.executePartitionedUpdate(update.getStatement(), options);
state = UnitOfWorkState.COMMITTED;
return res;
} catch (Throwable t) {
@@ -373,7 +377,7 @@ private ApiFuture executePartitionedUpdateAsync(final ParsedStatement upda
}
private ApiFuture executeTransactionalBatchUpdateAsync(
- final Iterable updates) {
+ final Iterable updates, final UpdateOption... options) {
Callable callable =
() -> {
writeTransaction = createWriteTransaction();
@@ -382,7 +386,7 @@ private ApiFuture executeTransactionalBatchUpdateAsync(
try {
long[] res =
transaction.batchUpdate(
- Iterables.transform(updates, ParsedStatement::getStatement));
+ Iterables.transform(updates, ParsedStatement::getStatement), options);
state = UnitOfWorkState.COMMITTED;
return res;
} catch (Throwable t) {
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/StatementResult.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/StatementResult.java
index 5ece3a20e9..94c346fcf7 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
@@ -69,6 +69,10 @@ enum ClientSideStatementType {
SET_OPTIMIZER_STATISTICS_PACKAGE,
SHOW_RETURN_COMMIT_STATS,
SET_RETURN_COMMIT_STATS,
+ SHOW_STATEMENT_TAG,
+ SET_STATEMENT_TAG,
+ SHOW_TRANSACTION_TAG,
+ SET_TRANSACTION_TAG,
BEGIN,
COMMIT,
ROLLBACK,
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 1d8de48bf5..0bf6fff9f2 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
@@ -22,6 +22,7 @@
import com.google.cloud.spanner.CommitResponse;
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.ReadContext;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.SpannerException;
@@ -170,20 +171,23 @@ ApiFuture executeQueryAsync(
* Execute a DML statement on Spanner.
*
* @param update The DML statement to execute.
+ * @param options Update options to apply for the statement.
* @return an {@link ApiFuture} containing the number of records that were
* inserted/updated/deleted by this statement.
*/
- ApiFuture executeUpdateAsync(ParsedStatement update);
+ ApiFuture executeUpdateAsync(ParsedStatement update, UpdateOption... options);
/**
* Execute a batch of DML statements on Spanner.
*
* @param updates The DML statements to execute.
+ * @param options Update options to apply for the statement.
* @return an {@link ApiFuture} containing an array with the number of records that were
* inserted/updated/deleted per statement.
* @see TransactionContext#batchUpdate(Iterable)
*/
- ApiFuture executeBatchUpdateAsync(Iterable updates);
+ ApiFuture executeBatchUpdateAsync(
+ Iterable updates, UpdateOption... options);
/**
* Writes a batch of {@link Mutation}s to Spanner. For {@link ReadWriteTransaction}s, this means
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 4dfe480395..dc23f983a7 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
@@ -101,6 +101,22 @@
"exampleStatements": ["show variable commit_response"],
"examplePrerequisiteStatements": ["update foo set bar=1"]
},
+ {
+ "name": "SHOW VARIABLE STATEMENT_TAG",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "regex": "(?is)\\A\\s*show\\s+variable\\s+statement_tag\\s*\\z",
+ "method": "statementShowStatementTag",
+ "exampleStatements": ["show variable statement_tag"]
+ },
+ {
+ "name": "SHOW VARIABLE TRANSACTION_TAG",
+ "executorName": "ClientSideStatementNoParamExecutor",
+ "resultType": "RESULT_SET",
+ "regex": "(?is)\\A\\s*show\\s+variable\\s+transaction_tag\\s*\\z",
+ "method": "statementShowTransactionTag",
+ "exampleStatements": ["show variable transaction_tag"]
+ },
{
"name": "BEGIN TRANSACTION",
"executorName": "ClientSideStatementNoParamExecutor",
@@ -316,6 +332,35 @@
"allowedValues": "(TRUE|FALSE)",
"converterName": "ClientSideStatementValueConverters$BooleanConverter"
}
+ },
+ {
+ "name": "SET STATEMENT_TAG = ''",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "regex": "(?is)\\A\\s*set\\s+statement_tag\\s*(?:=)\\s*(.*)\\z",
+ "method": "statementSetStatementTag",
+ "exampleStatements": ["set statement_tag='tag1'", "set statement_tag='tag2'", "set statement_tag=''"],
+ "setStatement": {
+ "propertyName": "STATEMENT_TAG",
+ "separator": "=",
+ "allowedValues": "'(([a-zA-Z][a-zA-Z0-9_\\-]{1,63})|())'",
+ "converterName": "ClientSideStatementValueConverters$StringValueConverter"
+ }
+ },
+ {
+ "name": "SET TRANSACTION_TAG = ''",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "regex": "(?is)\\A\\s*set\\s+transaction_tag\\s*(?:=)\\s*(.*)\\z",
+ "method": "statementSetTransactionTag",
+ "exampleStatements": ["set transaction_tag='tag1'", "set transaction_tag='tag2'", "set transaction_tag=''"],
+ "examplePrerequisiteStatements": ["set autocommit = false"],
+ "setStatement": {
+ "propertyName": "TRANSACTION_TAG",
+ "separator": "=",
+ "allowedValues": "'(([a-zA-Z][a-zA-Z0-9_\\-]{1,63})|())'",
+ "converterName": "ClientSideStatementValueConverters$StringValueConverter"
+ }
}
]
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AbortedTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AbortedTest.java
index 1703d987ad..274f6d2730 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AbortedTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AbortedTest.java
@@ -20,6 +20,7 @@
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import com.google.cloud.Timestamp;
@@ -244,6 +245,60 @@ public void testAbortedDuringRetryOfFailedBatchUpdateAsFirstStatement() {
assertThat(mockSpanner.countRequestsOfType(ExecuteBatchDmlRequest.class)).isEqualTo(6);
}
+ @Test
+ public void testRetryUsesTags() {
+ mockSpanner.putStatementResult(
+ StatementResult.query(SELECT_COUNT_STATEMENT, SELECT_COUNT_RESULTSET_BEFORE_INSERT));
+ mockSpanner.putStatementResult(StatementResult.update(INSERT_STATEMENT, UPDATE_COUNT));
+ try (ITConnection connection = createConnection()) {
+ connection.setTransactionTag("transaction-tag");
+ connection.setStatementTag("statement-tag");
+ connection.executeUpdate(INSERT_STATEMENT);
+ connection.setStatementTag("statement-tag");
+ connection.executeBatchUpdate(Collections.singleton(INSERT_STATEMENT));
+ connection.setStatementTag("statement-tag");
+ connection.executeQuery(SELECT_COUNT_STATEMENT);
+
+ mockSpanner.abortNextStatement();
+ connection.commit();
+ }
+ long executeSqlRequestCount =
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).stream()
+ .filter(
+ request ->
+ request.getRequestOptions().getRequestTag().equals("statement-tag")
+ && request
+ .getRequestOptions()
+ .getTransactionTag()
+ .equals("transaction-tag"))
+ .count();
+ assertEquals(4L, executeSqlRequestCount);
+
+ long executeBatchSqlRequestCount =
+ mockSpanner.getRequestsOfType(ExecuteBatchDmlRequest.class).stream()
+ .filter(
+ request ->
+ request.getRequestOptions().getRequestTag().equals("statement-tag")
+ && request
+ .getRequestOptions()
+ .getTransactionTag()
+ .equals("transaction-tag"))
+ .count();
+ assertEquals(2L, executeBatchSqlRequestCount);
+
+ long commitRequestCount =
+ mockSpanner.getRequestsOfType(CommitRequest.class).stream()
+ .filter(
+ request ->
+ request.getRequestOptions().getRequestTag().equals("")
+ && request
+ .getRequestOptions()
+ .getTransactionTag()
+ .equals("transaction-tag"))
+ .count();
+ assertEquals(2L, commitRequestCount);
+ }
+
ITConnection createConnection(TransactionRetryListener listener) {
ITConnection connection =
super.createConnection(ImmutableList.of(), ImmutableList.of(listener));
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AbstractConnectionImplTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AbstractConnectionImplTest.java
index ca3d6313d7..9fda9c68bb 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AbstractConnectionImplTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/AbstractConnectionImplTest.java
@@ -23,6 +23,7 @@
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
import com.google.cloud.Timestamp;
import com.google.cloud.spanner.ErrorCode;
@@ -431,6 +432,32 @@ public void testBeginTransaction() {
}
}
+ abstract boolean isSetTransactionTagAllowed();
+
+ @Test
+ public void testSetTransactionTag() {
+ try (Connection connection = getConnection()) {
+ String tag = "some-tag";
+ if (isSetTransactionTagAllowed()) {
+ log(String.format("SET TRANSACTION_TAG = '%s';", tag));
+ connection.setTransactionTag(tag);
+ assertEquals(tag, connection.getTransactionTag());
+ } else {
+ expectSpannerException(
+ "SET TRANSACTION_TAG should not be allowed",
+ new ConnectionConsumer() {
+ @Override
+ public void accept(Connection t) {
+ log("@EXPECT EXCEPTION FAILED_PRECONDITION");
+ log(String.format("SET TRANSACTION_TAG = '%s';", tag));
+ t.setTransactionTag(tag);
+ }
+ },
+ connection);
+ }
+ }
+ }
+
abstract boolean isSetTransactionModeAllowed(TransactionMode mode);
@Test
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplAutocommitReadOnlyTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplAutocommitReadOnlyTest.java
index 8b2808a8c9..dd4692a72d 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplAutocommitReadOnlyTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplAutocommitReadOnlyTest.java
@@ -86,6 +86,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
@@ -232,6 +236,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
@@ -378,6 +386,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
@@ -523,6 +535,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return mode == TransactionMode.READ_ONLY_TRANSACTION;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -673,6 +689,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
@@ -823,6 +843,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplAutocommitReadWriteTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplAutocommitReadWriteTest.java
index a94e8060db..78c21a3233 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplAutocommitReadWriteTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplAutocommitReadWriteTest.java
@@ -85,6 +85,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
@@ -229,6 +233,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
@@ -375,6 +383,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
@@ -518,6 +530,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
@@ -660,6 +676,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
@@ -802,6 +822,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return true;
}
+ boolean isSetTransactionTagAllowed() {
+ return true;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -955,6 +979,10 @@ boolean isGetTransactionModeAllowed() {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isSetAutocommitDmlModeAllowed() {
return true;
@@ -1094,6 +1122,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return true;
}
+ boolean isSetTransactionTagAllowed() {
+ // Transaction is read-only
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -1236,6 +1269,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
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 8e5ed22454..5337a9f2f9 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
@@ -27,6 +27,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Matchers.any;
@@ -66,6 +67,7 @@
import com.google.cloud.spanner.connection.ReadOnlyStalenessUtil.GetExactStaleness;
import com.google.cloud.spanner.connection.StatementParser.ParsedStatement;
import com.google.cloud.spanner.connection.StatementResult.ResultType;
+import com.google.cloud.spanner.connection.UnitOfWork.UnitOfWorkState;
import com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata;
import com.google.spanner.v1.ExecuteSqlRequest.QueryOptions;
import com.google.spanner.v1.ResultSetStats;
@@ -1443,4 +1445,139 @@ UnitOfWork getCurrentUnitOfWorkOrStartNewUnitOfWork() {
prefetchOption);
}
}
+
+ @Test
+ public void testStatementTagAlwaysAllowed() {
+ ConnectionOptions connectionOptions = mock(ConnectionOptions.class);
+ when(connectionOptions.isAutocommit()).thenReturn(true);
+ SpannerPool spannerPool = mock(SpannerPool.class);
+ DdlClient ddlClient = mock(DdlClient.class);
+ DatabaseClient dbClient = mock(DatabaseClient.class);
+ final UnitOfWork unitOfWork = mock(UnitOfWork.class);
+ when(unitOfWork.executeQueryAsync(
+ any(ParsedStatement.class), any(AnalyzeMode.class), Mockito.anyVararg()))
+ .thenReturn(ApiFutures.immediateFuture(mock(ResultSet.class)));
+ try (ConnectionImpl connection =
+ new ConnectionImpl(connectionOptions, spannerPool, ddlClient, dbClient) {
+ @Override
+ UnitOfWork getCurrentUnitOfWorkOrStartNewUnitOfWork() {
+ return unitOfWork;
+ }
+ }) {
+ assertTrue(connection.isAutocommit());
+
+ assertNull(connection.getStatementTag());
+ connection.setStatementTag("tag");
+ assertEquals("tag", connection.getStatementTag());
+ connection.setStatementTag(null);
+ assertNull(connection.getStatementTag());
+
+ connection.setAutocommit(false);
+
+ connection.setStatementTag("tag");
+ assertEquals("tag", connection.getStatementTag());
+ connection.setStatementTag(null);
+ assertNull(connection.getStatementTag());
+
+ // Start a transaction
+ connection.execute(Statement.of("SELECT FOO FROM BAR"));
+ connection.setStatementTag("tag");
+ assertEquals("tag", connection.getStatementTag());
+ connection.setStatementTag(null);
+ assertNull(connection.getStatementTag());
+ }
+ }
+
+ @Test
+ public void testTransactionTagAllowedInTransaction() {
+ ConnectionOptions connectionOptions = mock(ConnectionOptions.class);
+ when(connectionOptions.isAutocommit()).thenReturn(false);
+ SpannerPool spannerPool = mock(SpannerPool.class);
+ DdlClient ddlClient = mock(DdlClient.class);
+ DatabaseClient dbClient = mock(DatabaseClient.class);
+ try (ConnectionImpl connection =
+ new ConnectionImpl(connectionOptions, spannerPool, ddlClient, dbClient)) {
+ assertFalse(connection.isAutocommit());
+
+ assertNull(connection.getTransactionTag());
+ connection.setTransactionTag("tag");
+ assertEquals("tag", connection.getTransactionTag());
+ connection.setTransactionTag(null);
+ assertNull(connection.getTransactionTag());
+
+ // Committing or rolling back a transaction should clear the transaction tag for the next
+ // transaction.
+ connection.setTransactionTag("tag");
+ assertEquals("tag", connection.getTransactionTag());
+ connection.commit();
+ assertNull(connection.getTransactionTag());
+
+ connection.setTransactionTag("tag");
+ assertEquals("tag", connection.getTransactionTag());
+ connection.rollback();
+ assertNull(connection.getTransactionTag());
+
+ // Temporary transactions should also allow transaction tags.
+ connection.setAutocommit(false);
+ connection.beginTransaction();
+ assertNull(connection.getTransactionTag());
+ connection.setTransactionTag("tag");
+ assertEquals("tag", connection.getTransactionTag());
+ connection.commit();
+ assertNull(connection.getTransactionTag());
+ }
+ }
+
+ @Test
+ public void testTransactionTagNotAllowedWithoutTransaction() {
+ ConnectionOptions connectionOptions = mock(ConnectionOptions.class);
+ when(connectionOptions.isAutocommit()).thenReturn(true);
+ SpannerPool spannerPool = mock(SpannerPool.class);
+ DdlClient ddlClient = mock(DdlClient.class);
+ DatabaseClient dbClient = mock(DatabaseClient.class);
+ try (ConnectionImpl connection =
+ new ConnectionImpl(connectionOptions, spannerPool, ddlClient, dbClient)) {
+ assertTrue(connection.isAutocommit());
+
+ try {
+ connection.setTransactionTag("tag");
+ fail("missing expected exception");
+ } catch (SpannerException e) {
+ assertEquals(ErrorCode.FAILED_PRECONDITION, e.getErrorCode());
+ }
+ }
+ }
+
+ @Test
+ public void testTransactionTagNotAllowedAfterTransactionStarted() {
+ ConnectionOptions connectionOptions = mock(ConnectionOptions.class);
+ when(connectionOptions.isAutocommit()).thenReturn(false);
+ SpannerPool spannerPool = mock(SpannerPool.class);
+ DdlClient ddlClient = mock(DdlClient.class);
+ DatabaseClient dbClient = mock(DatabaseClient.class);
+ final UnitOfWork unitOfWork = mock(UnitOfWork.class);
+ // Indicate that a transaction has been started.
+ when(unitOfWork.getState()).thenReturn(UnitOfWorkState.STARTED);
+ when(unitOfWork.executeQueryAsync(
+ any(ParsedStatement.class), any(AnalyzeMode.class), Mockito.anyVararg()))
+ .thenReturn(ApiFutures.immediateFuture(mock(ResultSet.class)));
+ when(unitOfWork.rollbackAsync()).thenReturn(ApiFutures.immediateFuture(null));
+ try (ConnectionImpl connection =
+ new ConnectionImpl(connectionOptions, spannerPool, ddlClient, dbClient) {
+ @Override
+ UnitOfWork createNewUnitOfWork() {
+ return unitOfWork;
+ }
+ }) {
+ // Start a transaction
+ connection.execute(Statement.of("SELECT FOO FROM BAR"));
+ try {
+ connection.setTransactionTag("tag");
+ fail("missing expected exception");
+ } catch (SpannerException e) {
+ assertEquals(ErrorCode.FAILED_PRECONDITION, e.getErrorCode());
+ }
+ assertNull(connection.getTransactionTag());
+ }
+ }
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplTransactionalReadOnlyTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplTransactionalReadOnlyTest.java
index 004f50eaba..c94b73926d 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplTransactionalReadOnlyTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplTransactionalReadOnlyTest.java
@@ -85,6 +85,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return mode == TransactionMode.READ_ONLY_TRANSACTION;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -230,6 +234,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -378,6 +386,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -524,6 +536,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return mode == TransactionMode.READ_ONLY_TRANSACTION;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -674,6 +690,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return mode == TransactionMode.READ_ONLY_TRANSACTION;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -823,6 +843,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return mode == TransactionMode.READ_ONLY_TRANSACTION;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -971,6 +995,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return mode == TransactionMode.READ_ONLY_TRANSACTION;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -1114,6 +1142,10 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return mode == TransactionMode.READ_ONLY_TRANSACTION;
}
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplTransactionalReadWriteTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplTransactionalReadWriteTest.java
index 9935cdd695..3aa3e9fdd4 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplTransactionalReadWriteTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionImplTransactionalReadWriteTest.java
@@ -85,6 +85,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return true;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return true;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -232,6 +237,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -381,6 +391,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -528,6 +543,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return true;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return true;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -680,6 +700,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return true;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return true;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -830,6 +855,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return true;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return true;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -979,6 +1009,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return true;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return true;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -1124,6 +1159,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return true;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -1273,6 +1313,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return true;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return true;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -1418,6 +1463,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
@@ -1563,6 +1613,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return false;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return false;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return false;
@@ -1709,6 +1764,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return true;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return true;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
@@ -1853,6 +1913,11 @@ boolean isSetTransactionModeAllowed(TransactionMode mode) {
return true;
}
+ @Override
+ boolean isSetTransactionTagAllowed() {
+ return true;
+ }
+
@Override
boolean isGetTransactionModeAllowed() {
return true;
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/TaggingTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/TaggingTest.java
new file mode 100644
index 0000000000..ada17bca21
--- /dev/null
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/TaggingTest.java
@@ -0,0 +1,738 @@
+/*
+ * Copyright 2021 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.assertTrue;
+import static org.junit.Assert.fail;
+
+import com.google.cloud.spanner.ErrorCode;
+import com.google.cloud.spanner.ResultSet;
+import com.google.cloud.spanner.SpannerException;
+import com.google.cloud.spanner.Statement;
+import com.google.spanner.v1.CommitRequest;
+import com.google.spanner.v1.ExecuteBatchDmlRequest;
+import com.google.spanner.v1.ExecuteSqlRequest;
+import java.util.Arrays;
+import org.junit.After;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@RunWith(JUnit4.class)
+public class TaggingTest extends AbstractMockServerTest {
+
+ @After
+ public void clearRequests() {
+ mockSpanner.clearRequests();
+ }
+
+ @Test
+ public void testStatementTagNotAllowedForCommit() {
+ try (Connection connection = createConnection()) {
+ connection.setStatementTag("tag-1");
+ try {
+ connection.commit();
+ fail("missing expected exception");
+ } catch (SpannerException e) {
+ assertEquals(ErrorCode.FAILED_PRECONDITION, e.getErrorCode());
+ }
+ }
+ }
+
+ @Test
+ public void testStatementTagNotAllowedForRollback() {
+ try (Connection connection = createConnection()) {
+ connection.setStatementTag("tag-1");
+ try {
+ connection.rollback();
+ fail("missing expected exception");
+ } catch (SpannerException e) {
+ assertEquals(ErrorCode.FAILED_PRECONDITION, e.getErrorCode());
+ }
+ }
+ }
+
+ @Test
+ public void testStatementTagNotAllowedInsideBatch() {
+ try (Connection connection = createConnection()) {
+ for (boolean autocommit : new boolean[] {true, false}) {
+ connection.setAutocommit(autocommit);
+ connection.startBatchDml();
+ try {
+ connection.setStatementTag("tag-1");
+ fail("missing expected exception");
+ } catch (SpannerException e) {
+ assertEquals(ErrorCode.FAILED_PRECONDITION, e.getErrorCode());
+ }
+ connection.abortBatch();
+ }
+ }
+ }
+
+ @Test
+ public void testQuery_NoTags() {
+ try (Connection connection = createConnection()) {
+ for (boolean autocommit : new boolean[] {true, false}) {
+ connection.setAutocommit(autocommit);
+ try (ResultSet rs = connection.executeQuery(SELECT_COUNT_STATEMENT)) {}
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+ }
+
+ @Test
+ public void testUpdate_NoTags() {
+ try (Connection connection = createConnection()) {
+ for (boolean autocommit : new boolean[] {true, false}) {
+ connection.setAutocommit(autocommit);
+ connection.executeUpdate(INSERT_STATEMENT);
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+ }
+
+ @Test
+ public void testPartitionedUpdate_NoTags() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ connection.setAutocommitDmlMode(AutocommitDmlMode.PARTITIONED_NON_ATOMIC);
+ connection.executeUpdate(INSERT_STATEMENT);
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+
+ @Test
+ public void testBatchUpdate_NoTags() {
+ try (Connection connection = createConnection()) {
+ for (boolean autocommit : new boolean[] {true, false}) {
+ connection.setAutocommit(autocommit);
+ connection.executeBatchUpdate(Arrays.asList(INSERT_STATEMENT));
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteBatchDmlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+ }
+
+ @Test
+ public void testQuery_StatementTag() {
+ try (Connection connection = createConnection()) {
+ for (boolean autocommit : new boolean[] {true, false}) {
+ connection.setAutocommit(autocommit);
+ connection.setStatementTag("tag-1");
+ try (ResultSet rs = connection.executeQuery(SELECT_COUNT_STATEMENT)) {}
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "tag-1",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+
+ // The tag should automatically be cleared after a statement.
+ try (ResultSet rs = connection.executeQuery(SELECT_COUNT_STATEMENT)) {}
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+ }
+
+ @Test
+ public void testUpdate_StatementTag() {
+ try (Connection connection = createConnection()) {
+ for (boolean autocommit : new boolean[] {true, false}) {
+ connection.setAutocommit(autocommit);
+ connection.setStatementTag("tag-2");
+ connection.executeUpdate(INSERT_STATEMENT);
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "tag-2",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+
+ connection.executeUpdate(INSERT_STATEMENT);
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+ }
+
+ @Test
+ public void testPartitionedUpdate_StatementTag() {
+ try (Connection connection = createConnection()) {
+ connection.setAutocommit(true);
+ connection.setAutocommitDmlMode(AutocommitDmlMode.PARTITIONED_NON_ATOMIC);
+ connection.setStatementTag("tag-4");
+ connection.executeUpdate(INSERT_STATEMENT);
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "tag-4",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+
+ connection.executeUpdate(INSERT_STATEMENT);
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+
+ @Test
+ public void testBatchUpdate_StatementTag() {
+ try (Connection connection = createConnection()) {
+ for (boolean autocommit : new boolean[] {true, false}) {
+ connection.setAutocommit(autocommit);
+ connection.setStatementTag("tag-3");
+ connection.executeBatchUpdate(Arrays.asList(INSERT_STATEMENT));
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteBatchDmlRequest.class));
+ assertEquals(
+ "tag-3",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+
+ connection.executeBatchUpdate(Arrays.asList(INSERT_STATEMENT));
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteBatchDmlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+ }
+
+ @Test
+ public void testQuery_TransactionTag() {
+ try (Connection connection = createConnection()) {
+ connection.setTransactionTag("tag-1");
+ try (ResultSet rs = connection.executeQuery(SELECT_COUNT_STATEMENT)) {}
+ connection.commit();
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "tag-1",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "tag-1",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+
+ // The tag should automatically be cleared after a statement.
+ try (ResultSet rs = connection.executeQuery(SELECT_COUNT_STATEMENT)) {}
+ connection.commit();
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+
+ @Test
+ public void testUpdate_TransactionTag() {
+ try (Connection connection = createConnection()) {
+ connection.setTransactionTag("tag-2");
+ connection.executeUpdate(INSERT_STATEMENT);
+ connection.commit();
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "tag-2",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "tag-2",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+
+ connection.executeUpdate(INSERT_STATEMENT);
+ connection.commit();
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteSqlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+
+ @Test
+ public void testBatchUpdate_TransactionTag() {
+ try (Connection connection = createConnection()) {
+ connection.setTransactionTag("tag-3");
+ connection.executeBatchUpdate(Arrays.asList(INSERT_STATEMENT));
+ connection.commit();
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteBatchDmlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "tag-3",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "tag-3",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+
+ connection.executeBatchUpdate(Arrays.asList(INSERT_STATEMENT));
+ connection.commit();
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteBatchDmlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+
+ @Test
+ public void testDmlBatch_StatementTag() {
+ try (Connection connection = createConnection()) {
+ for (boolean autocommit : new boolean[] {true, false}) {
+ connection.setAutocommit(autocommit);
+
+ connection.setStatementTag("batch-tag");
+ connection.startBatchDml();
+ connection.execute(INSERT_STATEMENT);
+ connection.execute(INSERT_STATEMENT);
+ connection.runBatch();
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteBatchDmlRequest.class));
+ assertEquals(
+ "batch-tag",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+ }
+
+ @Test
+ public void testRunBatch_TransactionTag() {
+ try (Connection connection = createConnection()) {
+ connection.setTransactionTag("batch-tag");
+ connection.startBatchDml();
+ connection.execute(INSERT_STATEMENT);
+ connection.execute(INSERT_STATEMENT);
+ connection.runBatch();
+ connection.commit();
+
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteBatchDmlRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "batch-tag",
+ mockSpanner
+ .getRequestsOfType(ExecuteBatchDmlRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ assertEquals(
+ "",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getRequestTag());
+ assertEquals(
+ "batch-tag",
+ mockSpanner
+ .getRequestsOfType(CommitRequest.class)
+ .get(0)
+ .getRequestOptions()
+ .getTransactionTag());
+
+ mockSpanner.clearRequests();
+ }
+ }
+
+ @Test
+ public void testShowSetTags() {
+ try (Connection connection = createConnection()) {
+ connection.execute(Statement.of("SET STATEMENT_TAG='tag1'"));
+ try (ResultSet rs =
+ connection.execute(Statement.of("SHOW VARIABLE STATEMENT_TAG")).getResultSet()) {
+ assertTrue(rs.next());
+ assertEquals("tag1", rs.getString("STATEMENT_TAG"));
+ assertFalse(rs.next());
+ }
+ connection.execute(Statement.of("SET STATEMENT_TAG=''"));
+ try (ResultSet rs =
+ connection.execute(Statement.of("SHOW VARIABLE STATEMENT_TAG")).getResultSet()) {
+ assertTrue(rs.next());
+ assertEquals("", rs.getString("STATEMENT_TAG"));
+ assertFalse(rs.next());
+ }
+ connection.execute(Statement.of("SET TRANSACTION_TAG='tag2'"));
+ try (ResultSet rs =
+ connection.execute(Statement.of("SHOW VARIABLE TRANSACTION_TAG")).getResultSet()) {
+ assertTrue(rs.next());
+ assertEquals("tag2", rs.getString("TRANSACTION_TAG"));
+ assertFalse(rs.next());
+ }
+ connection.execute(Statement.of("SET TRANSACTION_TAG=''"));
+ try (ResultSet rs =
+ connection.execute(Statement.of("SHOW VARIABLE TRANSACTION_TAG")).getResultSet()) {
+ assertTrue(rs.next());
+ assertEquals("", rs.getString("TRANSACTION_TAG"));
+ assertFalse(rs.next());
+ }
+ }
+ }
+}
diff --git a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ClientSideStatementsTest.sql b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ClientSideStatementsTest.sql
index 3d2522f21e..c4b00f7fb4 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
@@ -2596,10340 +2596,12130 @@ update foo set bar=1;
@EXPECT EXCEPTION INVALID_ARGUMENT
show variable/-commit_response;
NEW_CONNECTION;
-begin;
+show variable statement_tag;
NEW_CONNECTION;
-BEGIN;
+SHOW VARIABLE STATEMENT_TAG;
NEW_CONNECTION;
-begin;
+show variable statement_tag;
NEW_CONNECTION;
- begin;
+ show variable statement_tag;
NEW_CONNECTION;
- begin;
+ show variable statement_tag;
NEW_CONNECTION;
-begin;
+show variable statement_tag;
NEW_CONNECTION;
-begin ;
+show variable statement_tag ;
NEW_CONNECTION;
-begin ;
+show variable statement_tag ;
NEW_CONNECTION;
-begin
+show variable statement_tag
;
NEW_CONNECTION;
-begin;
+show variable statement_tag;
NEW_CONNECTION;
-begin;
+show variable statement_tag;
NEW_CONNECTION;
-begin;
+show
+variable
+statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo begin;
+foo show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin bar;
+show variable statement_tag bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%begin;
+%show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin%;
+show variable statement_tag%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin%;
+show variable%statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_begin;
+_show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin_;
+show variable statement_tag_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin_;
+show variable_statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&begin;
+&show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin&;
+show variable statement_tag&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin&;
+show variable&statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$begin;
+$show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin$;
+show variable statement_tag$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin$;
+show variable$statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@begin;
+@show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin@;
+show variable statement_tag@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin@;
+show variable@statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!begin;
+!show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin!;
+show variable statement_tag!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin!;
+show variable!statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*begin;
+*show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin*;
+show variable statement_tag*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin*;
+show variable*statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(begin;
+(show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin(;
+show variable statement_tag(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin(;
+show variable(statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)begin;
+)show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin);
+show variable statement_tag);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin);
+show variable)statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--begin;
+-show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-;
+show variable statement_tag-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-;
+show variable-statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+begin;
++show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin+;
+show variable statement_tag+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin+;
+show variable+statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#begin;
+-#show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-#;
+show variable statement_tag-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-#;
+show variable-#statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/begin;
+/show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/;
+show variable statement_tag/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/;
+show variable/statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\begin;
+\show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin\;
+show variable statement_tag\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin\;
+show variable\statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?begin;
+?show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin?;
+show variable statement_tag?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin?;
+show variable?statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/begin;
+-/show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-/;
+show variable statement_tag-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-/;
+show variable-/statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#begin;
+/#show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/#;
+show variable statement_tag/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/#;
+show variable/#statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-begin;
+/-show variable statement_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/-;
+show variable statement_tag/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/-;
+show variable/-statement_tag;
NEW_CONNECTION;
-start;
+show variable transaction_tag;
NEW_CONNECTION;
-START;
+SHOW VARIABLE TRANSACTION_TAG;
NEW_CONNECTION;
-start;
+show variable transaction_tag;
NEW_CONNECTION;
- start;
+ show variable transaction_tag;
NEW_CONNECTION;
- start;
+ show variable transaction_tag;
NEW_CONNECTION;
-start;
+show variable transaction_tag;
NEW_CONNECTION;
-start ;
+show variable transaction_tag ;
NEW_CONNECTION;
-start ;
+show variable transaction_tag ;
NEW_CONNECTION;
-start
+show variable transaction_tag
;
NEW_CONNECTION;
-start;
+show variable transaction_tag;
NEW_CONNECTION;
-start;
+show variable transaction_tag;
NEW_CONNECTION;
-start;
+show
+variable
+transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo start;
+foo show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start bar;
+show variable transaction_tag bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%start;
+%show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start%;
+show variable transaction_tag%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start%;
+show variable%transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_start;
+_show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start_;
+show variable transaction_tag_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start_;
+show variable_transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&start;
+&show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start&;
+show variable transaction_tag&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start&;
+show variable&transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$start;
+$show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start$;
+show variable transaction_tag$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start$;
+show variable$transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@start;
+@show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start@;
+show variable transaction_tag@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start@;
+show variable@transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!start;
+!show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start!;
+show variable transaction_tag!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start!;
+show variable!transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*start;
+*show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start*;
+show variable transaction_tag*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start*;
+show variable*transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(start;
+(show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start(;
+show variable transaction_tag(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start(;
+show variable(transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)start;
+)show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start);
+show variable transaction_tag);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start);
+show variable)transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--start;
+-show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-;
+show variable transaction_tag-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-;
+show variable-transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+start;
++show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start+;
+show variable transaction_tag+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start+;
+show variable+transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#start;
+-#show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-#;
+show variable transaction_tag-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-#;
+show variable-#transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/start;
+/show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/;
+show variable transaction_tag/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/;
+show variable/transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\start;
+\show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start\;
+show variable transaction_tag\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start\;
+show variable\transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?start;
+?show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start?;
+show variable transaction_tag?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start?;
+show variable?transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/start;
+-/show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-/;
+show variable transaction_tag-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-/;
+show variable-/transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#start;
+/#show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/#;
+show variable transaction_tag/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/#;
+show variable/#transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-start;
+/-show variable transaction_tag;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/-;
+show variable transaction_tag/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/-;
+show variable/-transaction_tag;
NEW_CONNECTION;
-begin transaction;
+begin;
NEW_CONNECTION;
-BEGIN TRANSACTION;
+BEGIN;
NEW_CONNECTION;
-begin transaction;
+begin;
NEW_CONNECTION;
- begin transaction;
+ begin;
NEW_CONNECTION;
- begin transaction;
+ begin;
NEW_CONNECTION;
-begin transaction;
+begin;
NEW_CONNECTION;
-begin transaction ;
+begin ;
NEW_CONNECTION;
-begin transaction ;
+begin ;
NEW_CONNECTION;
-begin transaction
+begin
;
NEW_CONNECTION;
-begin transaction;
+begin;
NEW_CONNECTION;
-begin transaction;
+begin;
NEW_CONNECTION;
-begin
-transaction;
+begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo begin transaction;
+foo begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction bar;
+begin bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%begin transaction;
+%begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction%;
+begin%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin%transaction;
+begin%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_begin transaction;
+_begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction_;
+begin_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin_transaction;
+begin_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&begin transaction;
+&begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction&;
+begin&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin&transaction;
+begin&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$begin transaction;
+$begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction$;
+begin$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin$transaction;
+begin$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@begin transaction;
+@begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction@;
+begin@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin@transaction;
+begin@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!begin transaction;
+!begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction!;
+begin!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin!transaction;
+begin!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*begin transaction;
+*begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction*;
+begin*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin*transaction;
+begin*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(begin transaction;
+(begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction(;
+begin(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin(transaction;
+begin(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)begin transaction;
+)begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction);
+begin);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin)transaction;
+begin);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--begin transaction;
+-begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction-;
+begin-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-transaction;
+begin-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+begin transaction;
++begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction+;
+begin+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin+transaction;
+begin+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#begin transaction;
+-#begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction-#;
+begin-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-#transaction;
+begin-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/begin transaction;
+/begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction/;
+begin/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/transaction;
+begin/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\begin transaction;
+\begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction\;
+begin\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin\transaction;
+begin\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?begin transaction;
+?begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction?;
+begin?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin?transaction;
+begin?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/begin transaction;
+-/begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction-/;
+begin-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin-/transaction;
+begin-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#begin transaction;
+/#begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction/#;
+begin/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/#transaction;
+begin/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-begin transaction;
+/-begin;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin transaction/-;
+begin/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-begin/-transaction;
+begin/-;
NEW_CONNECTION;
-start transaction;
+start;
NEW_CONNECTION;
-START TRANSACTION;
+START;
NEW_CONNECTION;
-start transaction;
+start;
NEW_CONNECTION;
- start transaction;
+ start;
NEW_CONNECTION;
- start transaction;
+ start;
NEW_CONNECTION;
-start transaction;
+start;
NEW_CONNECTION;
-start transaction ;
+start ;
NEW_CONNECTION;
-start transaction ;
+start ;
NEW_CONNECTION;
-start transaction
+start
;
NEW_CONNECTION;
-start transaction;
+start;
NEW_CONNECTION;
-start transaction;
+start;
NEW_CONNECTION;
-start
-transaction;
+start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo start transaction;
+foo start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction bar;
+start bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%start transaction;
+%start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction%;
+start%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start%transaction;
+start%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_start transaction;
+_start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction_;
+start_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start_transaction;
+start_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&start transaction;
+&start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction&;
+start&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start&transaction;
+start&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$start transaction;
+$start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction$;
+start$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start$transaction;
+start$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@start transaction;
+@start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction@;
+start@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start@transaction;
+start@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!start transaction;
+!start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction!;
+start!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start!transaction;
+start!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*start transaction;
+*start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction*;
+start*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start*transaction;
+start*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(start transaction;
+(start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction(;
+start(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start(transaction;
+start(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)start transaction;
+)start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction);
+start);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start)transaction;
+start);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--start transaction;
+-start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction-;
+start-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-transaction;
+start-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+start transaction;
++start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction+;
+start+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start+transaction;
+start+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#start transaction;
+-#start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction-#;
+start-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-#transaction;
+start-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/start transaction;
+/start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction/;
+start/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/transaction;
+start/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\start transaction;
+\start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction\;
+start\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start\transaction;
+start\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?start transaction;
+?start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction?;
+start?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start?transaction;
+start?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/start transaction;
+-/start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction-/;
+start-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start-/transaction;
+start-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#start transaction;
+/#start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction/#;
+start/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/#transaction;
+start/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-start transaction;
+/-start;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start transaction/-;
+start/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start/-transaction;
+start/-;
NEW_CONNECTION;
begin transaction;
-commit;
NEW_CONNECTION;
-begin transaction;
-COMMIT;
+BEGIN TRANSACTION;
NEW_CONNECTION;
begin transaction;
-commit;
NEW_CONNECTION;
-begin transaction;
- commit;
+ begin transaction;
NEW_CONNECTION;
-begin transaction;
- commit;
+ begin transaction;
NEW_CONNECTION;
-begin transaction;
-commit;
-NEW_CONNECTION;
begin transaction;
-commit ;
NEW_CONNECTION;
-begin transaction;
-commit ;
+begin transaction ;
NEW_CONNECTION;
-begin transaction;
-commit
+begin transaction ;
+NEW_CONNECTION;
+begin transaction
;
NEW_CONNECTION;
-begin transaction;
-commit;
+begin transaction;
NEW_CONNECTION;
-begin transaction;
-commit;
+begin transaction;
NEW_CONNECTION;
-begin transaction;
-commit;
+begin
+transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo commit;
+foo begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit bar;
+begin transaction bar;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%commit;
+%begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit%;
+begin transaction%;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit%;
+begin%transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_commit;
+_begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit_;
+begin transaction_;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit_;
+begin_transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&commit;
+&begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit&;
+begin transaction&;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit&;
+begin&transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$commit;
+$begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit$;
+begin transaction$;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit$;
+begin$transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@commit;
+@begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit@;
+begin transaction@;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit@;
+begin@transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!commit;
+!begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit!;
+begin transaction!;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit!;
+begin!transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*commit;
+*begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit*;
+begin transaction*;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit*;
+begin*transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(commit;
+(begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit(;
+begin transaction(;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit(;
+begin(transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)commit;
+)begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit);
+begin transaction);
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit);
+begin)transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--commit;
+-begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-;
+begin transaction-;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-;
+begin-transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+commit;
++begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit+;
+begin transaction+;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit+;
+begin+transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#commit;
+-#begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-#;
+begin transaction-#;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-#;
+begin-#transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/commit;
+/begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/;
+begin transaction/;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/;
+begin/transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\commit;
+\begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit\;
+begin transaction\;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit\;
+begin\transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?commit;
+?begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit?;
+begin transaction?;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit?;
+begin?transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/commit;
+-/begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-/;
+begin transaction-/;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-/;
+begin-/transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#commit;
+/#begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/#;
+begin transaction/#;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/#;
+begin/#transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-commit;
+/-begin transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/-;
+begin transaction/-;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/-;
+begin/-transaction;
NEW_CONNECTION;
-begin transaction;
-commit transaction;
+start transaction;
NEW_CONNECTION;
-begin transaction;
-COMMIT TRANSACTION;
+START TRANSACTION;
NEW_CONNECTION;
-begin transaction;
-commit transaction;
+start transaction;
NEW_CONNECTION;
-begin transaction;
- commit transaction;
+ start transaction;
NEW_CONNECTION;
-begin transaction;
- commit transaction;
+ start transaction;
NEW_CONNECTION;
-begin transaction;
-commit transaction;
+start transaction;
NEW_CONNECTION;
-begin transaction;
-commit transaction ;
+start transaction ;
NEW_CONNECTION;
-begin transaction;
-commit transaction ;
+start transaction ;
NEW_CONNECTION;
-begin transaction;
-commit transaction
+start transaction
;
NEW_CONNECTION;
-begin transaction;
-commit transaction;
+start transaction;
NEW_CONNECTION;
-begin transaction;
-commit transaction;
+start transaction;
NEW_CONNECTION;
-begin transaction;
-commit
+start
transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo commit transaction;
+foo start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction bar;
+start transaction bar;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%commit transaction;
+%start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction%;
+start transaction%;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit%transaction;
+start%transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_commit transaction;
+_start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction_;
+start transaction_;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit_transaction;
+start_transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&commit transaction;
+&start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction&;
+start transaction&;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit&transaction;
+start&transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$commit transaction;
+$start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction$;
+start transaction$;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit$transaction;
+start$transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@commit transaction;
+@start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction@;
+start transaction@;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit@transaction;
+start@transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!commit transaction;
+!start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction!;
+start transaction!;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit!transaction;
+start!transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*commit transaction;
+*start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction*;
+start transaction*;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit*transaction;
+start*transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(commit transaction;
+(start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction(;
+start transaction(;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit(transaction;
+start(transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)commit transaction;
+)start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction);
+start transaction);
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit)transaction;
+start)transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--commit transaction;
+-start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction-;
+start transaction-;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-transaction;
+start-transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+commit transaction;
++start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction+;
+start transaction+;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit+transaction;
+start+transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#commit transaction;
+-#start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction-#;
+start transaction-#;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-#transaction;
+start-#transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/commit transaction;
+/start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction/;
+start transaction/;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/transaction;
+start/transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\commit transaction;
+\start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction\;
+start transaction\;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit\transaction;
+start\transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?commit transaction;
+?start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction?;
+start transaction?;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit?transaction;
+start?transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/commit transaction;
+-/start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction-/;
+start transaction-/;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit-/transaction;
+start-/transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#commit transaction;
+/#start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction/#;
+start transaction/#;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/#transaction;
+start/#transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-commit transaction;
+/-start transaction;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit transaction/-;
+start transaction/-;
NEW_CONNECTION;
-begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-commit/-transaction;
+start/-transaction;
NEW_CONNECTION;
begin transaction;
-rollback;
+commit;
NEW_CONNECTION;
begin transaction;
-ROLLBACK;
+COMMIT;
NEW_CONNECTION;
begin transaction;
-rollback;
+commit;
NEW_CONNECTION;
begin transaction;
- rollback;
+ commit;
NEW_CONNECTION;
begin transaction;
- rollback;
+ commit;
NEW_CONNECTION;
begin transaction;
-rollback;
+commit;
NEW_CONNECTION;
begin transaction;
-rollback ;
+commit ;
NEW_CONNECTION;
begin transaction;
-rollback ;
+commit ;
NEW_CONNECTION;
begin transaction;
-rollback
+commit
;
NEW_CONNECTION;
begin transaction;
-rollback;
+commit;
NEW_CONNECTION;
begin transaction;
-rollback;
+commit;
NEW_CONNECTION;
begin transaction;
-rollback;
+commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo rollback;
+foo commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback bar;
+commit bar;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%rollback;
+%commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback%;
+commit%;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback%;
+commit%;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_rollback;
+_commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback_;
+commit_;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback_;
+commit_;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&rollback;
+&commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback&;
+commit&;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback&;
+commit&;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$rollback;
+$commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback$;
+commit$;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback$;
+commit$;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@rollback;
+@commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback@;
+commit@;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback@;
+commit@;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!rollback;
+!commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback!;
+commit!;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback!;
+commit!;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*rollback;
+*commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback*;
+commit*;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback*;
+commit*;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(rollback;
+(commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback(;
+commit(;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback(;
+commit(;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)rollback;
+)commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback);
+commit);
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback);
+commit);
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--rollback;
+-commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-;
+commit-;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-;
+commit-;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+rollback;
++commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback+;
+commit+;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback+;
+commit+;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#rollback;
+-#commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-#;
+commit-#;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-#;
+commit-#;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/rollback;
+/commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/;
+commit/;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/;
+commit/;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\rollback;
+\commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback\;
+commit\;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback\;
+commit\;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?rollback;
+?commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback?;
+commit?;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback?;
+commit?;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/rollback;
+-/commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-/;
+commit-/;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-/;
+commit-/;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#rollback;
+/#commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/#;
+commit/#;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/#;
+commit/#;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-rollback;
+/-commit;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/-;
+commit/-;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/-;
+commit/-;
NEW_CONNECTION;
begin transaction;
-rollback transaction;
+commit transaction;
NEW_CONNECTION;
begin transaction;
-ROLLBACK TRANSACTION;
+COMMIT TRANSACTION;
NEW_CONNECTION;
begin transaction;
-rollback transaction;
+commit transaction;
NEW_CONNECTION;
begin transaction;
- rollback transaction;
+ commit transaction;
NEW_CONNECTION;
begin transaction;
- rollback transaction;
+ commit transaction;
NEW_CONNECTION;
begin transaction;
-rollback transaction;
+commit transaction;
NEW_CONNECTION;
begin transaction;
-rollback transaction ;
+commit transaction ;
NEW_CONNECTION;
begin transaction;
-rollback transaction ;
+commit transaction ;
NEW_CONNECTION;
begin transaction;
-rollback transaction
+commit transaction
;
NEW_CONNECTION;
begin transaction;
-rollback transaction;
+commit transaction;
NEW_CONNECTION;
begin transaction;
-rollback transaction;
+commit transaction;
NEW_CONNECTION;
begin transaction;
-rollback
+commit
transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo rollback transaction;
+foo commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction bar;
+commit transaction bar;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%rollback transaction;
+%commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction%;
+commit transaction%;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback%transaction;
+commit%transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_rollback transaction;
+_commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction_;
+commit transaction_;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback_transaction;
+commit_transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&rollback transaction;
+&commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction&;
+commit transaction&;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback&transaction;
+commit&transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$rollback transaction;
+$commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction$;
+commit transaction$;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback$transaction;
+commit$transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@rollback transaction;
+@commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction@;
+commit transaction@;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback@transaction;
+commit@transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!rollback transaction;
+!commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction!;
+commit transaction!;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback!transaction;
+commit!transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*rollback transaction;
+*commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction*;
+commit transaction*;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback*transaction;
+commit*transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(rollback transaction;
+(commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction(;
+commit transaction(;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback(transaction;
+commit(transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)rollback transaction;
+)commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction);
+commit transaction);
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback)transaction;
+commit)transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--rollback transaction;
+-commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction-;
+commit transaction-;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-transaction;
+commit-transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+rollback transaction;
++commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction+;
+commit transaction+;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback+transaction;
+commit+transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#rollback transaction;
+-#commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction-#;
+commit transaction-#;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-#transaction;
+commit-#transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/rollback transaction;
+/commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction/;
+commit transaction/;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/transaction;
+commit/transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\rollback transaction;
+\commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction\;
+commit transaction\;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback\transaction;
+commit\transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?rollback transaction;
+?commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction?;
+commit transaction?;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback?transaction;
+commit?transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/rollback transaction;
+-/commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction-/;
+commit transaction-/;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback-/transaction;
+commit-/transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#rollback transaction;
+/#commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction/#;
+commit transaction/#;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/#transaction;
+commit/#transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-rollback transaction;
+/-commit transaction;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback transaction/-;
+commit transaction/-;
NEW_CONNECTION;
begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-rollback/-transaction;
+commit/-transaction;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
+rollback;
NEW_CONNECTION;
-START BATCH DDL;
+begin transaction;
+ROLLBACK;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
+rollback;
NEW_CONNECTION;
- start batch ddl;
+begin transaction;
+ rollback;
NEW_CONNECTION;
- start batch ddl;
+begin transaction;
+ rollback;
NEW_CONNECTION;
+begin transaction;
-start batch ddl;
+rollback;
NEW_CONNECTION;
-start batch ddl ;
+begin transaction;
+rollback ;
NEW_CONNECTION;
-start batch ddl ;
+begin transaction;
+rollback ;
NEW_CONNECTION;
-start batch ddl
+begin transaction;
+rollback
;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
+rollback;
NEW_CONNECTION;
-start batch ddl;
+begin transaction;
+rollback;
NEW_CONNECTION;
-start
-batch
-ddl;
+begin transaction;
+rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo start batch ddl;
+foo rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl bar;
+rollback bar;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%start batch ddl;
+%rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl%;
+rollback%;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch%ddl;
+rollback%;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_start batch ddl;
+_rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl_;
+rollback_;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch_ddl;
+rollback_;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&start batch ddl;
+&rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl&;
+rollback&;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch&ddl;
+rollback&;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$start batch ddl;
+$rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl$;
+rollback$;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch$ddl;
+rollback$;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@start batch ddl;
+@rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl@;
+rollback@;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch@ddl;
+rollback@;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!start batch ddl;
+!rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl!;
+rollback!;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch!ddl;
+rollback!;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*start batch ddl;
+*rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl*;
+rollback*;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch*ddl;
+rollback*;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(start batch ddl;
+(rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl(;
+rollback(;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch(ddl;
+rollback(;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)start batch ddl;
+)rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl);
+rollback);
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch)ddl;
+rollback);
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--start batch ddl;
+-rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl-;
+rollback-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-ddl;
+rollback-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+start batch ddl;
++rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl+;
+rollback+;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch+ddl;
+rollback+;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#start batch ddl;
+-#rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl-#;
+rollback-#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-#ddl;
+rollback-#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/start batch ddl;
+/rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl/;
+rollback/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/ddl;
+rollback/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\start batch ddl;
+\rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl\;
+rollback\;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch\ddl;
+rollback\;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?start batch ddl;
+?rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl?;
+rollback?;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch?ddl;
+rollback?;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/start batch ddl;
+-/rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl-/;
+rollback-/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-/ddl;
+rollback-/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#start batch ddl;
+/#rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl/#;
+rollback/#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/#ddl;
+rollback/#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-start batch ddl;
+/-rollback;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch ddl/-;
+rollback/-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/-ddl;
+rollback/-;
NEW_CONNECTION;
-start batch dml;
+begin transaction;
+rollback transaction;
NEW_CONNECTION;
-START BATCH DML;
+begin transaction;
+ROLLBACK TRANSACTION;
NEW_CONNECTION;
-start batch dml;
+begin transaction;
+rollback transaction;
NEW_CONNECTION;
- start batch dml;
+begin transaction;
+ rollback transaction;
NEW_CONNECTION;
- start batch dml;
+begin transaction;
+ rollback transaction;
NEW_CONNECTION;
+begin transaction;
-start batch dml;
+rollback transaction;
NEW_CONNECTION;
-start batch dml ;
+begin transaction;
+rollback transaction ;
NEW_CONNECTION;
-start batch dml ;
+begin transaction;
+rollback transaction ;
NEW_CONNECTION;
-start batch dml
+begin transaction;
+rollback transaction
;
NEW_CONNECTION;
-start batch dml;
+begin transaction;
+rollback transaction;
NEW_CONNECTION;
-start batch dml;
+begin transaction;
+rollback transaction;
NEW_CONNECTION;
-start
-batch
-dml;
+begin transaction;
+rollback
+transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo start batch dml;
+foo rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml bar;
+rollback transaction bar;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%start batch dml;
+%rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml%;
+rollback transaction%;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch%dml;
+rollback%transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_start batch dml;
+_rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml_;
+rollback transaction_;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch_dml;
+rollback_transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&start batch dml;
+&rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml&;
+rollback transaction&;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch&dml;
+rollback&transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$start batch dml;
+$rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml$;
+rollback transaction$;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch$dml;
+rollback$transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@start batch dml;
+@rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml@;
+rollback transaction@;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch@dml;
+rollback@transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!start batch dml;
+!rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml!;
+rollback transaction!;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch!dml;
+rollback!transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*start batch dml;
+*rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml*;
+rollback transaction*;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch*dml;
+rollback*transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(start batch dml;
+(rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml(;
+rollback transaction(;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch(dml;
+rollback(transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)start batch dml;
+)rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml);
+rollback transaction);
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch)dml;
+rollback)transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--start batch dml;
+-rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml-;
+rollback transaction-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-dml;
+rollback-transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+start batch dml;
++rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml+;
+rollback transaction+;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch+dml;
+rollback+transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#start batch dml;
+-#rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml-#;
+rollback transaction-#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-#dml;
+rollback-#transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/start batch dml;
+/rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml/;
+rollback transaction/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/dml;
+rollback/transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\start batch dml;
+\rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml\;
+rollback transaction\;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch\dml;
+rollback\transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?start batch dml;
+?rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml?;
+rollback transaction?;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch?dml;
+rollback?transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/start batch dml;
+-/rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml-/;
+rollback transaction-/;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch-/dml;
+rollback-/transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#start batch dml;
+/#rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml/#;
+rollback transaction/#;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/#dml;
+rollback/#transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-start batch dml;
+/-rollback transaction;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch dml/-;
+rollback transaction/-;
NEW_CONNECTION;
+begin transaction;
@EXPECT EXCEPTION INVALID_ARGUMENT
-start batch/-dml;
+rollback/-transaction;
NEW_CONNECTION;
start batch ddl;
-run batch;
NEW_CONNECTION;
-start batch ddl;
-RUN BATCH;
+START BATCH DDL;
NEW_CONNECTION;
start batch ddl;
-run batch;
NEW_CONNECTION;
-start batch ddl;
- run batch;
+ start batch ddl;
NEW_CONNECTION;
-start batch ddl;
- run batch;
+ start batch ddl;
NEW_CONNECTION;
-start batch ddl;
-run batch;
-NEW_CONNECTION;
start batch ddl;
-run batch ;
NEW_CONNECTION;
-start batch ddl;
-run batch ;
+start batch ddl ;
NEW_CONNECTION;
-start batch ddl;
-run batch
+start batch ddl ;
+NEW_CONNECTION;
+start batch ddl
;
NEW_CONNECTION;
-start batch ddl;
-run batch;
+start batch ddl;
NEW_CONNECTION;
-start batch ddl;
-run batch;
+start batch ddl;
NEW_CONNECTION;
-start batch ddl;
-run
-batch;
+start
+batch
+ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo run batch;
+foo start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch bar;
+start batch ddl bar;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%run batch;
+%start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch%;
+start batch ddl%;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run%batch;
+start batch%ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_run batch;
+_start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch_;
+start batch ddl_;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run_batch;
+start batch_ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&run batch;
+&start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch&;
+start batch ddl&;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run&batch;
+start batch&ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$run batch;
+$start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch$;
+start batch ddl$;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run$batch;
+start batch$ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@run batch;
+@start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch@;
+start batch ddl@;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run@batch;
+start batch@ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!run batch;
+!start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch!;
+start batch ddl!;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run!batch;
+start batch!ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*run batch;
+*start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch*;
+start batch ddl*;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run*batch;
+start batch*ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(run batch;
+(start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch(;
+start batch ddl(;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run(batch;
+start batch(ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)run batch;
+)start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch);
+start batch ddl);
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run)batch;
+start batch)ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--run batch;
+-start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch-;
+start batch ddl-;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run-batch;
+start batch-ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+run batch;
++start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch+;
+start batch ddl+;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run+batch;
+start batch+ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#run batch;
+-#start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch-#;
+start batch ddl-#;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run-#batch;
+start batch-#ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/run batch;
+/start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch/;
+start batch ddl/;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run/batch;
+start batch/ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\run batch;
+\start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch\;
+start batch ddl\;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run\batch;
+start batch\ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?run batch;
+?start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch?;
+start batch ddl?;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run?batch;
+start batch?ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/run batch;
+-/start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch-/;
+start batch ddl-/;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run-/batch;
+start batch-/ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#run batch;
+/#start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch/#;
+start batch ddl/#;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run/#batch;
+start batch/#ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-run batch;
+/-start batch ddl;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run batch/-;
+start batch ddl/-;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-run/-batch;
+start batch/-ddl;
NEW_CONNECTION;
-start batch ddl;
-abort batch;
+start batch dml;
NEW_CONNECTION;
-start batch ddl;
-ABORT BATCH;
+START BATCH DML;
NEW_CONNECTION;
-start batch ddl;
-abort batch;
+start batch dml;
NEW_CONNECTION;
-start batch ddl;
- abort batch;
+ start batch dml;
NEW_CONNECTION;
-start batch ddl;
- abort batch;
+ start batch dml;
NEW_CONNECTION;
-start batch ddl;
-abort batch;
+start batch dml;
NEW_CONNECTION;
-start batch ddl;
-abort batch ;
+start batch dml ;
NEW_CONNECTION;
-start batch ddl;
-abort batch ;
+start batch dml ;
NEW_CONNECTION;
-start batch ddl;
-abort batch
+start batch dml
;
NEW_CONNECTION;
-start batch ddl;
-abort batch;
+start batch dml;
NEW_CONNECTION;
-start batch ddl;
-abort batch;
+start batch dml;
NEW_CONNECTION;
-start batch ddl;
-abort
-batch;
+start
+batch
+dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo abort batch;
+foo start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch bar;
+start batch dml bar;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%abort batch;
+%start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch%;
+start batch dml%;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort%batch;
+start batch%dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_abort batch;
+_start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch_;
+start batch dml_;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort_batch;
+start batch_dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&abort batch;
+&start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch&;
+start batch dml&;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort&batch;
+start batch&dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$abort batch;
+$start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch$;
+start batch dml$;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort$batch;
+start batch$dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@abort batch;
+@start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch@;
+start batch dml@;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort@batch;
+start batch@dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!abort batch;
+!start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch!;
+start batch dml!;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort!batch;
+start batch!dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*abort batch;
+*start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch*;
+start batch dml*;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort*batch;
+start batch*dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(abort batch;
+(start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch(;
+start batch dml(;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort(batch;
+start batch(dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)abort batch;
+)start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch);
+start batch dml);
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort)batch;
+start batch)dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--abort batch;
+-start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch-;
+start batch dml-;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort-batch;
+start batch-dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+abort batch;
++start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch+;
+start batch dml+;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort+batch;
+start batch+dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#abort batch;
+-#start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch-#;
+start batch dml-#;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort-#batch;
+start batch-#dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/abort batch;
+/start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch/;
+start batch dml/;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort/batch;
+start batch/dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\abort batch;
+\start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch\;
+start batch dml\;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort\batch;
+start batch\dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?abort batch;
+?start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch?;
+start batch dml?;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort?batch;
+start batch?dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/abort batch;
+-/start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch-/;
+start batch dml-/;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort-/batch;
+start batch-/dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#abort batch;
+/#start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch/#;
+start batch dml/#;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort/#batch;
+start batch/#dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-abort batch;
+/-start batch dml;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort batch/-;
+start batch dml/-;
NEW_CONNECTION;
-start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-abort/-batch;
+start batch/-dml;
NEW_CONNECTION;
-set autocommit = true;
+start batch ddl;
+run batch;
NEW_CONNECTION;
-SET AUTOCOMMIT = TRUE;
+start batch ddl;
+RUN BATCH;
NEW_CONNECTION;
-set autocommit = true;
+start batch ddl;
+run batch;
NEW_CONNECTION;
- set autocommit = true;
+start batch ddl;
+ run batch;
NEW_CONNECTION;
- set autocommit = true;
+start batch ddl;
+ run batch;
NEW_CONNECTION;
+start batch ddl;
-set autocommit = true;
+run batch;
NEW_CONNECTION;
-set autocommit = true ;
+start batch ddl;
+run batch ;
NEW_CONNECTION;
-set autocommit = true ;
+start batch ddl;
+run batch ;
NEW_CONNECTION;
-set autocommit = true
+start batch ddl;
+run batch
;
NEW_CONNECTION;
-set autocommit = true;
+start batch ddl;
+run batch;
NEW_CONNECTION;
-set autocommit = true;
+start batch ddl;
+run batch;
NEW_CONNECTION;
-set
-autocommit
-=
-true;
+start batch ddl;
+run
+batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set autocommit = true;
+foo run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true bar;
+run batch bar;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set autocommit = true;
+%run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true%;
+run batch%;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =%true;
+run%batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set autocommit = true;
+_run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true_;
+run batch_;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =_true;
+run_batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set autocommit = true;
+&run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true&;
+run batch&;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =&true;
+run&batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set autocommit = true;
+$run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true$;
+run batch$;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =$true;
+run$batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set autocommit = true;
+@run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true@;
+run batch@;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =@true;
+run@batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set autocommit = true;
+!run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true!;
+run batch!;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =!true;
+run!batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set autocommit = true;
+*run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true*;
+run batch*;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =*true;
+run*batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set autocommit = true;
+(run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true(;
+run batch(;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =(true;
+run(batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set autocommit = true;
+)run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true);
+run batch);
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =)true;
+run)batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set autocommit = true;
+-run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true-;
+run batch-;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-true;
+run-batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set autocommit = true;
++run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true+;
+run batch+;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =+true;
+run+batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set autocommit = true;
+-#run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true-#;
+run batch-#;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-#true;
+run-#batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set autocommit = true;
+/run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true/;
+run batch/;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/true;
+run/batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set autocommit = true;
+\run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true\;
+run batch\;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =\true;
+run\batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set autocommit = true;
+?run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true?;
+run batch?;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =?true;
+run?batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set autocommit = true;
+-/run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true-/;
+run batch-/;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-/true;
+run-/batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set autocommit = true;
+/#run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true/#;
+run batch/#;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/#true;
+run/#batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set autocommit = true;
+/-run batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = true/-;
+run batch/-;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/-true;
+run/-batch;
NEW_CONNECTION;
-set autocommit = false;
+start batch ddl;
+abort batch;
NEW_CONNECTION;
-SET AUTOCOMMIT = FALSE;
+start batch ddl;
+ABORT BATCH;
NEW_CONNECTION;
-set autocommit = false;
+start batch ddl;
+abort batch;
NEW_CONNECTION;
- set autocommit = false;
+start batch ddl;
+ abort batch;
NEW_CONNECTION;
- set autocommit = false;
+start batch ddl;
+ abort batch;
NEW_CONNECTION;
+start batch ddl;
-set autocommit = false;
+abort batch;
NEW_CONNECTION;
-set autocommit = false ;
+start batch ddl;
+abort batch ;
NEW_CONNECTION;
-set autocommit = false ;
+start batch ddl;
+abort batch ;
NEW_CONNECTION;
-set autocommit = false
+start batch ddl;
+abort batch
;
NEW_CONNECTION;
-set autocommit = false;
+start batch ddl;
+abort batch;
NEW_CONNECTION;
-set autocommit = false;
+start batch ddl;
+abort batch;
NEW_CONNECTION;
-set
-autocommit
-=
-false;
+start batch ddl;
+abort
+batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set autocommit = false;
+foo abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false bar;
+abort batch bar;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set autocommit = false;
+%abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false%;
+abort batch%;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =%false;
+abort%batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set autocommit = false;
+_abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false_;
+abort batch_;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =_false;
+abort_batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set autocommit = false;
+&abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false&;
+abort batch&;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =&false;
+abort&batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set autocommit = false;
+$abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false$;
+abort batch$;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =$false;
+abort$batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set autocommit = false;
+@abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false@;
+abort batch@;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =@false;
+abort@batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set autocommit = false;
+!abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false!;
+abort batch!;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =!false;
+abort!batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set autocommit = false;
+*abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false*;
+abort batch*;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =*false;
+abort*batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set autocommit = false;
+(abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false(;
+abort batch(;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =(false;
+abort(batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set autocommit = false;
+)abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false);
+abort batch);
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =)false;
+abort)batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set autocommit = false;
+-abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false-;
+abort batch-;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-false;
+abort-batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set autocommit = false;
++abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false+;
+abort batch+;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =+false;
+abort+batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set autocommit = false;
+-#abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false-#;
+abort batch-#;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-#false;
+abort-#batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set autocommit = false;
+/abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false/;
+abort batch/;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/false;
+abort/batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set autocommit = false;
+\abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false\;
+abort batch\;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =\false;
+abort\batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set autocommit = false;
+?abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false?;
+abort batch?;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =?false;
+abort?batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set autocommit = false;
+-/abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false-/;
+abort batch-/;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =-/false;
+abort-/batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set autocommit = false;
+/#abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false/#;
+abort batch/#;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/#false;
+abort/#batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set autocommit = false;
+/-abort batch;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit = false/-;
+abort batch/-;
NEW_CONNECTION;
+start batch ddl;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit =/-false;
+abort/-batch;
NEW_CONNECTION;
-set readonly = true;
+set autocommit = true;
NEW_CONNECTION;
-SET READONLY = TRUE;
+SET AUTOCOMMIT = TRUE;
NEW_CONNECTION;
-set readonly = true;
+set autocommit = true;
NEW_CONNECTION;
- set readonly = true;
+ set autocommit = true;
NEW_CONNECTION;
- set readonly = true;
+ set autocommit = true;
NEW_CONNECTION;
-set readonly = true;
+set autocommit = true;
NEW_CONNECTION;
-set readonly = true ;
+set autocommit = true ;
NEW_CONNECTION;
-set readonly = true ;
+set autocommit = true ;
NEW_CONNECTION;
-set readonly = true
+set autocommit = true
;
NEW_CONNECTION;
-set readonly = true;
+set autocommit = true;
NEW_CONNECTION;
-set readonly = true;
+set autocommit = true;
NEW_CONNECTION;
set
-readonly
+autocommit
=
true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set readonly = true;
+foo set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true bar;
+set autocommit = true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set readonly = true;
+%set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true%;
+set autocommit = true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =%true;
+set autocommit =%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set readonly = true;
+_set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true_;
+set autocommit = true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =_true;
+set autocommit =_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set readonly = true;
+&set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true&;
+set autocommit = true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =&true;
+set autocommit =&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set readonly = true;
+$set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true$;
+set autocommit = true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =$true;
+set autocommit =$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set readonly = true;
+@set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true@;
+set autocommit = true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =@true;
+set autocommit =@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set readonly = true;
+!set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true!;
+set autocommit = true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =!true;
+set autocommit =!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set readonly = true;
+*set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true*;
+set autocommit = true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =*true;
+set autocommit =*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set readonly = true;
+(set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true(;
+set autocommit = true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =(true;
+set autocommit =(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set readonly = true;
+)set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true);
+set autocommit = true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =)true;
+set autocommit =)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set readonly = true;
+-set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true-;
+set autocommit = true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =-true;
+set autocommit =-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set readonly = true;
++set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true+;
+set autocommit = true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =+true;
+set autocommit =+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set readonly = true;
+-#set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true-#;
+set autocommit = true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =-#true;
+set autocommit =-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set readonly = true;
+/set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true/;
+set autocommit = true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =/true;
+set autocommit =/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set readonly = true;
+\set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true\;
+set autocommit = true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =\true;
+set autocommit =\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set readonly = true;
+?set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true?;
+set autocommit = true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =?true;
+set autocommit =?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set readonly = true;
+-/set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true-/;
+set autocommit = true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =-/true;
+set autocommit =-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set readonly = true;
+/#set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true/#;
+set autocommit = true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =/#true;
+set autocommit =/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set readonly = true;
+/-set autocommit = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = true/-;
+set autocommit = true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =/-true;
+set autocommit =/-true;
NEW_CONNECTION;
-set readonly = false;
+set autocommit = false;
NEW_CONNECTION;
-SET READONLY = FALSE;
+SET AUTOCOMMIT = FALSE;
NEW_CONNECTION;
-set readonly = false;
+set autocommit = false;
NEW_CONNECTION;
- set readonly = false;
+ set autocommit = false;
NEW_CONNECTION;
- set readonly = false;
+ set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
+set autocommit = false;
NEW_CONNECTION;
-set readonly = false ;
+set autocommit = false ;
NEW_CONNECTION;
-set readonly = false ;
+set autocommit = false ;
NEW_CONNECTION;
-set readonly = false
+set autocommit = false
;
NEW_CONNECTION;
-set readonly = false;
+set autocommit = false;
NEW_CONNECTION;
-set readonly = false;
+set autocommit = false;
NEW_CONNECTION;
set
-readonly
+autocommit
=
false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set readonly = false;
+foo set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false bar;
+set autocommit = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set readonly = false;
+%set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false%;
+set autocommit = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =%false;
+set autocommit =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set readonly = false;
+_set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false_;
+set autocommit = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =_false;
+set autocommit =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set readonly = false;
+&set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false&;
+set autocommit = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =&false;
+set autocommit =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set readonly = false;
+$set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false$;
+set autocommit = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =$false;
+set autocommit =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set readonly = false;
+@set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false@;
+set autocommit = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =@false;
+set autocommit =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set readonly = false;
+!set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false!;
+set autocommit = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =!false;
+set autocommit =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set readonly = false;
+*set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false*;
+set autocommit = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =*false;
+set autocommit =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set readonly = false;
+(set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false(;
+set autocommit = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =(false;
+set autocommit =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set readonly = false;
+)set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false);
+set autocommit = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =)false;
+set autocommit =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set readonly = false;
+-set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false-;
+set autocommit = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =-false;
+set autocommit =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set readonly = false;
++set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false+;
+set autocommit = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =+false;
+set autocommit =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set readonly = false;
+-#set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false-#;
+set autocommit = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =-#false;
+set autocommit =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set readonly = false;
+/set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false/;
+set autocommit = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =/false;
+set autocommit =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set readonly = false;
+\set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false\;
+set autocommit = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =\false;
+set autocommit =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set readonly = false;
+?set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false?;
+set autocommit = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =?false;
+set autocommit =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set readonly = false;
+-/set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false-/;
+set autocommit = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =-/false;
+set autocommit =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set readonly = false;
+/#set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false/#;
+set autocommit = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =/#false;
+set autocommit =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set readonly = false;
+/-set autocommit = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly = false/-;
+set autocommit = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set readonly =/-false;
+set autocommit =/-false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true;
+set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-SET RETRY_ABORTS_INTERNALLY = TRUE;
+SET READONLY = TRUE;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true;
+set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
- set retry_aborts_internally = true;
+ set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
- set retry_aborts_internally = true;
+ set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true;
+set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true ;
+set readonly = true ;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true ;
+set readonly = true ;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true
+set readonly = true
;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true;
+set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = true;
+set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
set
-retry_aborts_internally
+readonly
=
true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set retry_aborts_internally = true;
+foo set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true bar;
+set readonly = true bar;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set retry_aborts_internally = true;
+%set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true%;
+set readonly = true%;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =%true;
+set readonly =%true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set retry_aborts_internally = true;
+_set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true_;
+set readonly = true_;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =_true;
+set readonly =_true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set retry_aborts_internally = true;
+&set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true&;
+set readonly = true&;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =&true;
+set readonly =&true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set retry_aborts_internally = true;
+$set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true$;
+set readonly = true$;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =$true;
+set readonly =$true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set retry_aborts_internally = true;
+@set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true@;
+set readonly = true@;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =@true;
+set readonly =@true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set retry_aborts_internally = true;
+!set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true!;
+set readonly = true!;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =!true;
+set readonly =!true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set retry_aborts_internally = true;
+*set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true*;
+set readonly = true*;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =*true;
+set readonly =*true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set retry_aborts_internally = true;
+(set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true(;
+set readonly = true(;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =(true;
+set readonly =(true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set retry_aborts_internally = true;
+)set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true);
+set readonly = true);
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =)true;
+set readonly =)true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set retry_aborts_internally = true;
+-set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true-;
+set readonly = true-;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =-true;
+set readonly =-true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set retry_aborts_internally = true;
++set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true+;
+set readonly = true+;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =+true;
+set readonly =+true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set retry_aborts_internally = true;
+-#set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true-#;
+set readonly = true-#;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =-#true;
+set readonly =-#true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set retry_aborts_internally = true;
+/set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true/;
+set readonly = true/;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =/true;
+set readonly =/true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set retry_aborts_internally = true;
+\set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true\;
+set readonly = true\;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =\true;
+set readonly =\true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set retry_aborts_internally = true;
+?set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true?;
+set readonly = true?;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =?true;
+set readonly =?true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set retry_aborts_internally = true;
+-/set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true-/;
+set readonly = true-/;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =-/true;
+set readonly =-/true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set retry_aborts_internally = true;
+/#set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true/#;
+set readonly = true/#;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =/#true;
+set readonly =/#true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set retry_aborts_internally = true;
+/-set readonly = true;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = true/-;
+set readonly = true/-;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =/-true;
+set readonly =/-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;
+SET READONLY = 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;
+ set readonly = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
- set retry_aborts_internally = false;
+ set readonly = 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 ;
+set readonly = false ;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = false
+set readonly = false ;
+NEW_CONNECTION;
+set readonly = false
;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = false;
+set readonly = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
-set retry_aborts_internally = false;
+set readonly = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
set
-retry_aborts_internally
+readonly
=
false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set retry_aborts_internally = false;
+foo set readonly = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false bar;
+set readonly = false bar;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set retry_aborts_internally = false;
+%set readonly = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false%;
+set readonly = false%;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =%false;
+set readonly =%false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set retry_aborts_internally = false;
+_set readonly = false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false_;
+set readonly = false_;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =_false;
+set readonly =_false;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set retry_aborts_internally = false;
+&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;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false&;
+set statement_timeout='10000us'&;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =&false;
+set&statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set retry_aborts_internally = false;
+$set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false$;
+set statement_timeout='10000us'$;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =$false;
+set$statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set retry_aborts_internally = false;
+@set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false@;
+set statement_timeout='10000us'@;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =@false;
+set@statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set retry_aborts_internally = false;
+!set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false!;
+set statement_timeout='10000us'!;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =!false;
+set!statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set retry_aborts_internally = false;
+*set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false*;
+set statement_timeout='10000us'*;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =*false;
+set*statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set retry_aborts_internally = false;
+(set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false(;
+set statement_timeout='10000us'(;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =(false;
+set(statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set retry_aborts_internally = false;
+)set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false);
+set statement_timeout='10000us');
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =)false;
+set)statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set retry_aborts_internally = false;
+-set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false-;
+set statement_timeout='10000us'-;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =-false;
+set-statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set retry_aborts_internally = false;
++set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false+;
+set statement_timeout='10000us'+;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =+false;
+set+statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set retry_aborts_internally = false;
+-#set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false-#;
+set statement_timeout='10000us'-#;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =-#false;
+set-#statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set retry_aborts_internally = false;
+/set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false/;
+set statement_timeout='10000us'/;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =/false;
+set/statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set retry_aborts_internally = false;
+\set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false\;
+set statement_timeout='10000us'\;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =\false;
+set\statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set retry_aborts_internally = false;
+?set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false?;
+set statement_timeout='10000us'?;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =?false;
+set?statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set retry_aborts_internally = false;
+-/set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false-/;
+set statement_timeout='10000us'-/;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =-/false;
+set-/statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set retry_aborts_internally = false;
+/#set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false/#;
+set statement_timeout='10000us'/#;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =/#false;
+set/#statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set retry_aborts_internally = false;
+/-set statement_timeout='10000us';
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally = false/-;
+set statement_timeout='10000us'/-;
NEW_CONNECTION;
-set readonly = false;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set retry_aborts_internally =/-false;
+set/-statement_timeout='10000us';
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
-SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+SET STATEMENT_TIMEOUT='9223372036854775807NS';
NEW_CONNECTION;
-set autocommit_dml_mode='partitioned_non_atomic';
+set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
- set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+ set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
- set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+ set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC' ;
+set statement_timeout='9223372036854775807ns' ;
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC' ;
+set statement_timeout='9223372036854775807ns' ;
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'
+set statement_timeout='9223372036854775807ns'
;
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
set
-autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+foo set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC' bar;
+set statement_timeout='9223372036854775807ns' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+%set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'%;
+set statement_timeout='9223372036854775807ns'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set%statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+_set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'_;
+set statement_timeout='9223372036854775807ns'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set_statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+&set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'&;
+set statement_timeout='9223372036854775807ns'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set&statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+$set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'$;
+set statement_timeout='9223372036854775807ns'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set$statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+@set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'@;
+set statement_timeout='9223372036854775807ns'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set@statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+!set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'!;
+set statement_timeout='9223372036854775807ns'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set!statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+*set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'*;
+set statement_timeout='9223372036854775807ns'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set*statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+(set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'(;
+set statement_timeout='9223372036854775807ns'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set(statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+)set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC');
+set statement_timeout='9223372036854775807ns');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set)statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+-set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-;
+set statement_timeout='9223372036854775807ns'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set-statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
++set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'+;
+set statement_timeout='9223372036854775807ns'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set+statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+-#set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-#;
+set statement_timeout='9223372036854775807ns'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set-#statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+/set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/;
+set statement_timeout='9223372036854775807ns'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set/statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+\set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'\;
+set statement_timeout='9223372036854775807ns'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set\statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+?set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'?;
+set statement_timeout='9223372036854775807ns'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set?statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+-/set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'-/;
+set statement_timeout='9223372036854775807ns'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set-/statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+/#set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/#;
+set statement_timeout='9223372036854775807ns'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set/#statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+/-set statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='PARTITIONED_NON_ATOMIC'/-;
+set statement_timeout='9223372036854775807ns'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-autocommit_dml_mode='PARTITIONED_NON_ATOMIC';
+set/-statement_timeout='9223372036854775807ns';
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL';
+set autocommit = false;
+set transaction read only;
NEW_CONNECTION;
-SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+set autocommit = false;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-set autocommit_dml_mode='transactional';
+set autocommit = false;
+set transaction read only;
NEW_CONNECTION;
- set autocommit_dml_mode='TRANSACTIONAL';
+set autocommit = false;
+ set transaction read only;
NEW_CONNECTION;
- set autocommit_dml_mode='TRANSACTIONAL';
+set autocommit = false;
+ set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
-set autocommit_dml_mode='TRANSACTIONAL';
+set transaction read only;
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL' ;
+set autocommit = false;
+set transaction read only ;
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL' ;
+set autocommit = false;
+set transaction read only ;
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL'
+set autocommit = false;
+set transaction read only
;
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL';
+set autocommit = false;
+set transaction read only;
NEW_CONNECTION;
-set autocommit_dml_mode='TRANSACTIONAL';
+set autocommit = false;
+set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
set
-autocommit_dml_mode='TRANSACTIONAL';
+transaction
+read
+only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set autocommit_dml_mode='TRANSACTIONAL';
+foo set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL' bar;
+set transaction read only bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set autocommit_dml_mode='TRANSACTIONAL';
+%set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'%;
+set transaction read only%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%autocommit_dml_mode='TRANSACTIONAL';
+set transaction read%only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set autocommit_dml_mode='TRANSACTIONAL';
+_set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'_;
+set transaction read only_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_autocommit_dml_mode='TRANSACTIONAL';
+set transaction read_only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set autocommit_dml_mode='TRANSACTIONAL';
+&set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'&;
+set transaction read only&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&autocommit_dml_mode='TRANSACTIONAL';
+set transaction read&only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set autocommit_dml_mode='TRANSACTIONAL';
+$set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'$;
+set transaction read only$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$autocommit_dml_mode='TRANSACTIONAL';
+set transaction read$only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set autocommit_dml_mode='TRANSACTIONAL';
+@set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'@;
+set transaction read only@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@autocommit_dml_mode='TRANSACTIONAL';
+set transaction read@only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set autocommit_dml_mode='TRANSACTIONAL';
+!set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'!;
+set transaction read only!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!autocommit_dml_mode='TRANSACTIONAL';
+set transaction read!only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set autocommit_dml_mode='TRANSACTIONAL';
+*set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'*;
+set transaction read only*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*autocommit_dml_mode='TRANSACTIONAL';
+set transaction read*only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set autocommit_dml_mode='TRANSACTIONAL';
+(set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'(;
+set transaction read only(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(autocommit_dml_mode='TRANSACTIONAL';
+set transaction read(only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set autocommit_dml_mode='TRANSACTIONAL';
+)set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL');
+set transaction read only);
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)autocommit_dml_mode='TRANSACTIONAL';
+set transaction read)only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set autocommit_dml_mode='TRANSACTIONAL';
+-set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'-;
+set transaction read only-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-autocommit_dml_mode='TRANSACTIONAL';
+set transaction read-only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set autocommit_dml_mode='TRANSACTIONAL';
++set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'+;
+set transaction read only+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+autocommit_dml_mode='TRANSACTIONAL';
+set transaction read+only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set autocommit_dml_mode='TRANSACTIONAL';
+-#set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'-#;
+set transaction read only-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#autocommit_dml_mode='TRANSACTIONAL';
+set transaction read-#only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set autocommit_dml_mode='TRANSACTIONAL';
+/set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'/;
+set transaction read only/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/autocommit_dml_mode='TRANSACTIONAL';
+set transaction read/only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set autocommit_dml_mode='TRANSACTIONAL';
+\set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'\;
+set transaction read only\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\autocommit_dml_mode='TRANSACTIONAL';
+set transaction read\only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set autocommit_dml_mode='TRANSACTIONAL';
+?set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'?;
+set transaction read only?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?autocommit_dml_mode='TRANSACTIONAL';
+set transaction read?only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set autocommit_dml_mode='TRANSACTIONAL';
+-/set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'-/;
+set transaction read only-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/autocommit_dml_mode='TRANSACTIONAL';
+set transaction read-/only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set autocommit_dml_mode='TRANSACTIONAL';
+/#set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'/#;
+set transaction read only/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#autocommit_dml_mode='TRANSACTIONAL';
+set transaction read/#only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set autocommit_dml_mode='TRANSACTIONAL';
+/-set transaction read only;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set autocommit_dml_mode='TRANSACTIONAL'/-;
+set transaction read only/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-autocommit_dml_mode='TRANSACTIONAL';
+set transaction read/-only;
NEW_CONNECTION;
-set statement_timeout=null;
+set autocommit = false;
+set transaction read write;
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT=NULL;
+set autocommit = false;
+SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-set statement_timeout=null;
+set autocommit = false;
+set transaction read write;
NEW_CONNECTION;
- set statement_timeout=null;
+set autocommit = false;
+ set transaction read write;
NEW_CONNECTION;
- set statement_timeout=null;
+set autocommit = false;
+ set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
-set statement_timeout=null;
+set transaction read write;
NEW_CONNECTION;
-set statement_timeout=null ;
+set autocommit = false;
+set transaction read write ;
NEW_CONNECTION;
-set statement_timeout=null ;
+set autocommit = false;
+set transaction read write ;
NEW_CONNECTION;
-set statement_timeout=null
+set autocommit = false;
+set transaction read write
;
NEW_CONNECTION;
-set statement_timeout=null;
+set autocommit = false;
+set transaction read write;
NEW_CONNECTION;
-set statement_timeout=null;
+set autocommit = false;
+set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
set
-statement_timeout=null;
+transaction
+read
+write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout=null;
+foo set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null bar;
+set transaction read write bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout=null;
+%set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null%;
+set transaction read write%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout=null;
+set transaction read%write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout=null;
+_set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null_;
+set transaction read write_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout=null;
+set transaction read_write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout=null;
+&set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null&;
+set transaction read write&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout=null;
+set transaction read&write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout=null;
+$set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null$;
+set transaction read write$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout=null;
+set transaction read$write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout=null;
+@set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null@;
+set transaction read write@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout=null;
+set transaction read@write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout=null;
+!set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null!;
+set transaction read write!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout=null;
+set transaction read!write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout=null;
+*set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null*;
+set transaction read write*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout=null;
+set transaction read*write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout=null;
+(set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null(;
+set transaction read write(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout=null;
+set transaction read(write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout=null;
+)set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null);
+set transaction read write);
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout=null;
+set transaction read)write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout=null;
+-set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null-;
+set transaction read write-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout=null;
+set transaction read-write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout=null;
++set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null+;
+set transaction read write+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout=null;
+set transaction read+write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout=null;
+-#set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null-#;
+set transaction read write-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout=null;
+set transaction read-#write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout=null;
+/set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null/;
+set transaction read write/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout=null;
+set transaction read/write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout=null;
+\set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null\;
+set transaction read write\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout=null;
+set transaction read\write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout=null;
+?set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null?;
+set transaction read write?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout=null;
+set transaction read?write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout=null;
+-/set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null-/;
+set transaction read write-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout=null;
+set transaction read-/write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout=null;
+/#set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null/#;
+set transaction read write/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout=null;
+set transaction read/#write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout=null;
+/-set transaction read write;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout=null/-;
+set transaction read write/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout=null;
+set transaction read/-write;
NEW_CONNECTION;
-set statement_timeout='1s';
+set read_only_staleness='STRONG';
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT='1S';
+SET READ_ONLY_STALENESS='STRONG';
NEW_CONNECTION;
-set statement_timeout='1s';
+set read_only_staleness='strong';
NEW_CONNECTION;
- set statement_timeout='1s';
+ set read_only_staleness='STRONG';
NEW_CONNECTION;
- set statement_timeout='1s';
+ set read_only_staleness='STRONG';
NEW_CONNECTION;
-set statement_timeout='1s';
+set read_only_staleness='STRONG';
NEW_CONNECTION;
-set statement_timeout='1s' ;
+set read_only_staleness='STRONG' ;
NEW_CONNECTION;
-set statement_timeout='1s' ;
+set read_only_staleness='STRONG' ;
NEW_CONNECTION;
-set statement_timeout='1s'
+set read_only_staleness='STRONG'
;
NEW_CONNECTION;
-set statement_timeout='1s';
+set read_only_staleness='STRONG';
NEW_CONNECTION;
-set statement_timeout='1s';
+set read_only_staleness='STRONG';
NEW_CONNECTION;
set
-statement_timeout='1s';
+read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout='1s';
+foo set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s' bar;
+set read_only_staleness='STRONG' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout='1s';
+%set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'%;
+set read_only_staleness='STRONG'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout='1s';
+set%read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout='1s';
+_set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'_;
+set read_only_staleness='STRONG'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout='1s';
+set_read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout='1s';
+&set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'&;
+set read_only_staleness='STRONG'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout='1s';
+set&read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout='1s';
+$set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'$;
+set read_only_staleness='STRONG'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout='1s';
+set$read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout='1s';
+@set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'@;
+set read_only_staleness='STRONG'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout='1s';
+set@read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout='1s';
+!set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'!;
+set read_only_staleness='STRONG'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout='1s';
+set!read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout='1s';
+*set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'*;
+set read_only_staleness='STRONG'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout='1s';
+set*read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout='1s';
+(set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'(;
+set read_only_staleness='STRONG'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout='1s';
+set(read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout='1s';
+)set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s');
+set read_only_staleness='STRONG');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout='1s';
+set)read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout='1s';
+-set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'-;
+set read_only_staleness='STRONG'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout='1s';
+set-read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout='1s';
++set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'+;
+set read_only_staleness='STRONG'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout='1s';
+set+read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout='1s';
+-#set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'-#;
+set read_only_staleness='STRONG'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout='1s';
+set-#read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout='1s';
+/set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'/;
+set read_only_staleness='STRONG'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout='1s';
+set/read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout='1s';
+\set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'\;
+set read_only_staleness='STRONG'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout='1s';
+set\read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout='1s';
+?set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'?;
+set read_only_staleness='STRONG'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout='1s';
+set?read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout='1s';
+-/set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'-/;
+set read_only_staleness='STRONG'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout='1s';
+set-/read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout='1s';
+/#set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'/#;
+set read_only_staleness='STRONG'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout='1s';
+set/#read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout='1s';
+/-set read_only_staleness='STRONG';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='1s'/-;
+set read_only_staleness='STRONG'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout='1s';
+set/-read_only_staleness='STRONG';
NEW_CONNECTION;
-set statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT='100MS';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set statement_timeout='100ms';
+set read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123-08:00';
NEW_CONNECTION;
- set statement_timeout='100ms';
+ set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
- set statement_timeout='100ms';
+ set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set statement_timeout='100ms' ;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
NEW_CONNECTION;
-set statement_timeout='100ms' ;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
NEW_CONNECTION;
-set statement_timeout='100ms'
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'
;
NEW_CONNECTION;
-set statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
set
-statement_timeout='100ms';
+read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout='100ms';
+foo set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms' bar;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout='100ms';
+%set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'%;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout='100ms';
+_set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'_;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout='100ms';
+&set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'&;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout='100ms';
+$set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'$;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout='100ms';
+@set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'@;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout='100ms';
+!set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'!;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout='100ms';
+*set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'*;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout='100ms';
+(set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'(;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout='100ms';
+)set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms');
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout='100ms';
+-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'-;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout='100ms';
++set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'+;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout='100ms';
+-#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'-#;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout='100ms';
+/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'/;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout='100ms';
+\set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'\;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout='100ms';
+?set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'?;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout='100ms';
+-/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'-/;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout='100ms';
+/#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'/#;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout='100ms';
+/-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='100ms'/-;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout='100ms';
+set read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123-08:00';
NEW_CONNECTION;
-set statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT='10000US';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set statement_timeout='10000us';
+set read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123z';
NEW_CONNECTION;
- set statement_timeout='10000us';
+ set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
- set statement_timeout='10000us';
+ set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set statement_timeout='10000us' ;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
NEW_CONNECTION;
-set statement_timeout='10000us' ;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
NEW_CONNECTION;
-set statement_timeout='10000us'
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'
;
NEW_CONNECTION;
-set statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
set
-statement_timeout='10000us';
+read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout='10000us';
+foo set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us' bar;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout='10000us';
+%set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'%;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout='10000us';
+_set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'_;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout='10000us';
+&set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'&;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout='10000us';
+$set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'$;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout='10000us';
+@set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'@;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout='10000us';
+!set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'!;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout='10000us';
+*set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'*;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout='10000us';
+(set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'(;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout='10000us';
+)set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us');
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout='10000us';
+-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'-;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout='10000us';
++set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'+;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout='10000us';
+-#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'-#;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout='10000us';
+/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'/;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout='10000us';
+\set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'\;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout='10000us';
+?set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'?;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout='10000us';
+-/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'-/;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout='10000us';
+/#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'/#;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout='10000us';
+/-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='10000us'/-;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout='10000us';
+set read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123Z';
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-SET STATEMENT_TIMEOUT='9223372036854775807NS';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123+07:45';
NEW_CONNECTION;
- set statement_timeout='9223372036854775807ns';
+ set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
- set statement_timeout='9223372036854775807ns';
+ set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns' ;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns' ;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns'
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'
;
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
set
-statement_timeout='9223372036854775807ns';
+read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set statement_timeout='9223372036854775807ns';
+foo set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns' bar;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set statement_timeout='9223372036854775807ns';
+%set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'%;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set statement_timeout='9223372036854775807ns';
+_set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'_;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set statement_timeout='9223372036854775807ns';
+&set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'&;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set statement_timeout='9223372036854775807ns';
+$set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'$;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set statement_timeout='9223372036854775807ns';
+@set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'@;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set statement_timeout='9223372036854775807ns';
+!set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'!;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set statement_timeout='9223372036854775807ns';
+*set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'*;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set statement_timeout='9223372036854775807ns';
+(set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'(;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set statement_timeout='9223372036854775807ns';
+)set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns');
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set statement_timeout='9223372036854775807ns';
+-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'-;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set statement_timeout='9223372036854775807ns';
++set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'+;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set statement_timeout='9223372036854775807ns';
+-#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'-#;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set statement_timeout='9223372036854775807ns';
+/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'/;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set statement_timeout='9223372036854775807ns';
+\set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'\;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set statement_timeout='9223372036854775807ns';
+?set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'?;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set statement_timeout='9223372036854775807ns';
+-/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'-/;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set statement_timeout='9223372036854775807ns';
+/#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'/#;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set statement_timeout='9223372036854775807ns';
+/-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set statement_timeout='9223372036854775807ns'/-;
+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-statement_timeout='9223372036854775807ns';
+set read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123+07:45';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
-SET TRANSACTION READ ONLY;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
- set transaction read only;
+ set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
- set transaction read only;
+ set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only ;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only ;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'
;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read only;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
set
-transaction
-read
-only;
+read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set transaction read only;
+foo set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only bar;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set transaction read only;
+%set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only%;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read%only;
+set read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set transaction read only;
+_set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only_;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read_only;
+set read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set transaction read only;
+&set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only&;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read&only;
+set read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set transaction read only;
+$set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only$;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read$only;
+set read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set transaction read only;
+@set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only@;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read@only;
+set read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set transaction read only;
+!set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only!;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read!only;
+set read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set transaction read only;
+*set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only*;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read*only;
+set read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set transaction read only;
+(set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only(;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read(only;
+set read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set transaction read only;
+)set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only);
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00');
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read)only;
+set read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set transaction read only;
+-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only-;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-only;
+set read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set transaction read only;
++set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only+;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read+only;
+set read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set transaction read only;
+-#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only-#;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-#only;
+set read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set transaction read only;
+/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only/;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/only;
+set read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set transaction read only;
+\set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only\;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read\only;
+set read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set transaction read only;
+?set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only?;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read?only;
+set read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set transaction read only;
+-/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only-/;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-/only;
+set read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set transaction read only;
+/#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only/#;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/#only;
+set read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set transaction read only;
+/-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read only/-;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/-only;
+set read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321-07:00';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
-SET TRANSACTION READ WRITE;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321z';
NEW_CONNECTION;
-set autocommit = false;
- set transaction read write;
+ set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
- set transaction read write;
+ set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write ;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write ;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'
;
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
-set transaction read write;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
set
-transaction
-read
-write;
+read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set transaction read write;
+foo set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write bar;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' bar;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set transaction read write;
+%set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write%;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'%;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read%write;
+set read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set transaction read write;
+_set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write_;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'_;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read_write;
+set read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set transaction read write;
+&set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write&;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'&;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read&write;
+set read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set transaction read write;
+$set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write$;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'$;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read$write;
+set read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set transaction read write;
+@set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write@;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'@;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read@write;
+set read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set transaction read write;
+!set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write!;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'!;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read!write;
+set read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set transaction read write;
+*set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write*;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'*;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read*write;
+set read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set transaction read write;
+(set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write(;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'(;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read(write;
+set read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set transaction read write;
+)set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write);
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z');
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read)write;
+set read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set transaction read write;
+-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write-;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-write;
+set read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set transaction read write;
++set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write+;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'+;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read+write;
+set read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set transaction read write;
+-#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write-#;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-#write;
+set read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set transaction read write;
+/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write/;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/write;
+set read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set transaction read write;
+\set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write\;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'\;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read\write;
+set read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set transaction read write;
+?set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write?;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'?;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read?write;
+set read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set transaction read write;
+-/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write-/;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-/;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read-/write;
+set read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set transaction read write;
+/#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write/#;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/#;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/#write;
+set read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set transaction read write;
+/-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read write/-;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/-;
NEW_CONNECTION;
-set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set transaction read/-write;
+set read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321Z';
NEW_CONNECTION;
-set read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='STRONG';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set read_only_staleness='strong';
+set read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321+05:30';
NEW_CONNECTION;
- set read_only_staleness='STRONG';
+ set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
- set read_only_staleness='STRONG';
+ set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set read_only_staleness='STRONG' ;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
NEW_CONNECTION;
-set read_only_staleness='STRONG' ;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
NEW_CONNECTION;
-set read_only_staleness='STRONG'
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'
;
NEW_CONNECTION;
-set read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
set
-read_only_staleness='STRONG';
+read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='STRONG';
+foo set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG' bar;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='STRONG';
+%set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'%;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='STRONG';
+_set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'_;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='STRONG';
+&set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'&;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='STRONG';
+$set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'$;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='STRONG';
+@set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'@;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='STRONG';
+!set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'!;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='STRONG';
+*set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'*;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='STRONG';
+(set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'(;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='STRONG';
+)set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG');
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='STRONG';
+-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'-;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='STRONG';
++set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'+;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='STRONG';
+-#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'-#;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='STRONG';
+/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'/;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='STRONG';
+\set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'\;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='STRONG';
+?set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'?;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='STRONG';
+-/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'-/;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='STRONG';
+/#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'/#;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='STRONG';
+/-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='STRONG'/-;
+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-read_only_staleness='STRONG';
+set read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321+05:30';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+SET READ_ONLY_STALENESS='MAX_STALENESS 12S';
NEW_CONNECTION;
-set read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123-08:00';
+set read_only_staleness='max_staleness 12s';
NEW_CONNECTION;
- set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+ set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
- set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+ set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
+set read_only_staleness='MAX_STALENESS 12s' ;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00' ;
+set read_only_staleness='MAX_STALENESS 12s' ;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00'
+set read_only_staleness='MAX_STALENESS 12s'
;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+set read_only_staleness='MAX_STALENESS 12s';
NEW_CONNECTION;
set
-read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123-08:00';
+read_only_staleness='MAX_STALENESS 12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s' 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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'%;
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='MAX_STALENESS%12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'_;
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='MAX_STALENESS_12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'&;
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='MAX_STALENESS&12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'$;
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='MAX_STALENESS$12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'@;
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='MAX_STALENESS@12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'!;
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='MAX_STALENESS!12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'*;
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='MAX_STALENESS*12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'(;
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='MAX_STALENESS(12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s');
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='MAX_STALENESS)12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'-;
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='MAX_STALENESS-12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'+;
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='MAX_STALENESS+12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'-#;
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='MAX_STALENESS-#12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'/;
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='MAX_STALENESS/12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'\;
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='MAX_STALENESS\12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'?;
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='MAX_STALENESS?12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'-/;
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='MAX_STALENESS-/12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'/#;
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='MAX_STALENESS/#12s';
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='MAX_STALENESS 12s';
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='MAX_STALENESS 12s'/-;
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='MAX_STALENESS/-12s';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+SET READ_ONLY_STALENESS='MAX_STALENESS 100MS';
NEW_CONNECTION;
-set read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123z';
+set read_only_staleness='max_staleness 100ms';
NEW_CONNECTION;
- set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+ set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
- set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+ set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
+set read_only_staleness='MAX_STALENESS 100ms' ;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' ;
+set read_only_staleness='MAX_STALENESS 100ms' ;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'
+set read_only_staleness='MAX_STALENESS 100ms'
;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
set
-read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+foo set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z' bar;
+set read_only_staleness='MAX_STALENESS 100ms' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+%set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'%;
+set read_only_staleness='MAX_STALENESS 100ms'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS%100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+_set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'_;
+set read_only_staleness='MAX_STALENESS 100ms'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS_100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+&set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'&;
+set read_only_staleness='MAX_STALENESS 100ms'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS&100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+$set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'$;
+set read_only_staleness='MAX_STALENESS 100ms'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS$100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+@set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'@;
+set read_only_staleness='MAX_STALENESS 100ms'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS@100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+!set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'!;
+set read_only_staleness='MAX_STALENESS 100ms'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS!100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+*set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'*;
+set read_only_staleness='MAX_STALENESS 100ms'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS*100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+(set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'(;
+set read_only_staleness='MAX_STALENESS 100ms'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS(100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+)set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z');
+set read_only_staleness='MAX_STALENESS 100ms');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS)100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+-set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-;
+set read_only_staleness='MAX_STALENESS 100ms'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS-100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
++set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'+;
+set read_only_staleness='MAX_STALENESS 100ms'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS+100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+-#set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-#;
+set read_only_staleness='MAX_STALENESS 100ms'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS-#100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+/set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/;
+set read_only_staleness='MAX_STALENESS 100ms'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS/100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+\set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'\;
+set read_only_staleness='MAX_STALENESS 100ms'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS\100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+?set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'?;
+set read_only_staleness='MAX_STALENESS 100ms'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS?100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+-/set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'-/;
+set read_only_staleness='MAX_STALENESS 100ms'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS-/100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+/#set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/#;
+set read_only_staleness='MAX_STALENESS 100ms'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS/#100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z';
+/-set read_only_staleness='MAX_STALENESS 100ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123Z'/-;
+set read_only_staleness='MAX_STALENESS 100ms'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123Z';
+set read_only_staleness='MAX_STALENESS/-100ms';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+SET READ_ONLY_STALENESS='MAX_STALENESS 99999US';
NEW_CONNECTION;
-set read_only_staleness='min_read_timestamp 2018-01-02t03:04:05.123+07:45';
+set read_only_staleness='max_staleness 99999us';
NEW_CONNECTION;
- set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+ set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
- set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+ set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
+set read_only_staleness='MAX_STALENESS 99999us' ;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' ;
+set read_only_staleness='MAX_STALENESS 99999us' ;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'
+set read_only_staleness='MAX_STALENESS 99999us'
;
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
set
-read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+foo set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45' bar;
+set read_only_staleness='MAX_STALENESS 99999us' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+%set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'%;
+set read_only_staleness='MAX_STALENESS 99999us'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP%2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS%99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+_set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'_;
+set read_only_staleness='MAX_STALENESS 99999us'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP_2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS_99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+&set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'&;
+set read_only_staleness='MAX_STALENESS 99999us'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP&2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS&99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+$set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'$;
+set read_only_staleness='MAX_STALENESS 99999us'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP$2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS$99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+@set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'@;
+set read_only_staleness='MAX_STALENESS 99999us'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP@2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS@99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+!set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'!;
+set read_only_staleness='MAX_STALENESS 99999us'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP!2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS!99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+*set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'*;
+set read_only_staleness='MAX_STALENESS 99999us'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP*2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS*99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+(set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'(;
+set read_only_staleness='MAX_STALENESS 99999us'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP(2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS(99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+)set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45');
+set read_only_staleness='MAX_STALENESS 99999us');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP)2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS)99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+-set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-;
+set read_only_staleness='MAX_STALENESS 99999us'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS-99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
++set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'+;
+set read_only_staleness='MAX_STALENESS 99999us'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP+2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS+99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+-#set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-#;
+set read_only_staleness='MAX_STALENESS 99999us'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-#2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS-#99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+/set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/;
+set read_only_staleness='MAX_STALENESS 99999us'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS/99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+\set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'\;
+set read_only_staleness='MAX_STALENESS 99999us'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP\2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS\99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+?set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'?;
+set read_only_staleness='MAX_STALENESS 99999us'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP?2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS?99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+-/set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'-/;
+set read_only_staleness='MAX_STALENESS 99999us'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP-/2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS-/99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+/#set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/#;
+set read_only_staleness='MAX_STALENESS 99999us'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/#2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS/#99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45';
+/-set read_only_staleness='MAX_STALENESS 99999us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP 2018-01-02T03:04:05.123+07:45'/-;
+set read_only_staleness='MAX_STALENESS 99999us'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MIN_READ_TIMESTAMP/-2018-01-02T03:04:05.123+07:45';
+set read_only_staleness='MAX_STALENESS/-99999us';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+SET READ_ONLY_STALENESS='MAX_STALENESS 10NS';
NEW_CONNECTION;
-set read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321-07:00';
+set read_only_staleness='max_staleness 10ns';
NEW_CONNECTION;
- set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+ set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
- set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+ set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
+set read_only_staleness='MAX_STALENESS 10ns' ;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' ;
+set read_only_staleness='MAX_STALENESS 10ns' ;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'
+set read_only_staleness='MAX_STALENESS 10ns'
;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
set
-read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+foo set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00' bar;
+set read_only_staleness='MAX_STALENESS 10ns' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+%set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'%;
+set read_only_staleness='MAX_STALENESS 10ns'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS%10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+_set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'_;
+set read_only_staleness='MAX_STALENESS 10ns'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS_10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+&set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'&;
+set read_only_staleness='MAX_STALENESS 10ns'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS&10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+$set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'$;
+set read_only_staleness='MAX_STALENESS 10ns'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS$10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+@set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'@;
+set read_only_staleness='MAX_STALENESS 10ns'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS@10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+!set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'!;
+set read_only_staleness='MAX_STALENESS 10ns'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS!10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+*set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'*;
+set read_only_staleness='MAX_STALENESS 10ns'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS*10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+(set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'(;
+set read_only_staleness='MAX_STALENESS 10ns'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS(10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+)set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00');
+set read_only_staleness='MAX_STALENESS 10ns');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS)10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+-set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-;
+set read_only_staleness='MAX_STALENESS 10ns'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS-10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
++set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'+;
+set read_only_staleness='MAX_STALENESS 10ns'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS+10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+-#set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-#;
+set read_only_staleness='MAX_STALENESS 10ns'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS-#10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+/set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/;
+set read_only_staleness='MAX_STALENESS 10ns'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS/10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+\set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'\;
+set read_only_staleness='MAX_STALENESS 10ns'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS\10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+?set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'?;
+set read_only_staleness='MAX_STALENESS 10ns'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS?10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+-/set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'-/;
+set read_only_staleness='MAX_STALENESS 10ns'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS-/10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+/#set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/#;
+set read_only_staleness='MAX_STALENESS 10ns'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS/#10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00';
+/-set read_only_staleness='MAX_STALENESS 10ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321-07:00'/-;
+set read_only_staleness='MAX_STALENESS 10ns'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321-07:00';
+set read_only_staleness='MAX_STALENESS/-10ns';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+SET READ_ONLY_STALENESS='EXACT_STALENESS 15S';
NEW_CONNECTION;
-set read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321z';
+set read_only_staleness='exact_staleness 15s';
NEW_CONNECTION;
- set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+ set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
- set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+ set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
+set read_only_staleness='EXACT_STALENESS 15s' ;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' ;
+set read_only_staleness='EXACT_STALENESS 15s' ;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'
+set read_only_staleness='EXACT_STALENESS 15s'
;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
set
-read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+foo set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z' bar;
+set read_only_staleness='EXACT_STALENESS 15s' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+%set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'%;
+set read_only_staleness='EXACT_STALENESS 15s'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS%15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+_set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'_;
+set read_only_staleness='EXACT_STALENESS 15s'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS_15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+&set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'&;
+set read_only_staleness='EXACT_STALENESS 15s'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS&15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+$set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'$;
+set read_only_staleness='EXACT_STALENESS 15s'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS$15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+@set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'@;
+set read_only_staleness='EXACT_STALENESS 15s'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS@15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+!set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'!;
+set read_only_staleness='EXACT_STALENESS 15s'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS!15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+*set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'*;
+set read_only_staleness='EXACT_STALENESS 15s'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS*15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+(set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'(;
+set read_only_staleness='EXACT_STALENESS 15s'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS(15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+)set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z');
+set read_only_staleness='EXACT_STALENESS 15s');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS)15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+-set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-;
+set read_only_staleness='EXACT_STALENESS 15s'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS-15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
++set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'+;
+set read_only_staleness='EXACT_STALENESS 15s'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS+15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+-#set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-#;
+set read_only_staleness='EXACT_STALENESS 15s'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS-#15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+/set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/;
+set read_only_staleness='EXACT_STALENESS 15s'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS/15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+\set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'\;
+set read_only_staleness='EXACT_STALENESS 15s'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS\15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+?set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'?;
+set read_only_staleness='EXACT_STALENESS 15s'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS?15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+-/set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'-/;
+set read_only_staleness='EXACT_STALENESS 15s'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS-/15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+/#set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/#;
+set read_only_staleness='EXACT_STALENESS 15s'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS/#15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z';
+/-set read_only_staleness='EXACT_STALENESS 15s';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321Z'/-;
+set read_only_staleness='EXACT_STALENESS 15s'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321Z';
+set read_only_staleness='EXACT_STALENESS/-15s';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+SET READ_ONLY_STALENESS='EXACT_STALENESS 1500MS';
NEW_CONNECTION;
-set read_only_staleness='read_timestamp 2018-01-02t03:04:05.54321+05:30';
+set read_only_staleness='exact_staleness 1500ms';
NEW_CONNECTION;
- set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+ set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
- set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+ set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
+set read_only_staleness='EXACT_STALENESS 1500ms' ;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' ;
+set read_only_staleness='EXACT_STALENESS 1500ms' ;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'
+set read_only_staleness='EXACT_STALENESS 1500ms'
;
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
set
-read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+foo set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30' bar;
+set read_only_staleness='EXACT_STALENESS 1500ms' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+%set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'%;
+set read_only_staleness='EXACT_STALENESS 1500ms'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP%2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS%1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+_set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'_;
+set read_only_staleness='EXACT_STALENESS 1500ms'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP_2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS_1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+&set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'&;
+set read_only_staleness='EXACT_STALENESS 1500ms'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP&2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS&1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+$set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'$;
+set read_only_staleness='EXACT_STALENESS 1500ms'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP$2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS$1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+@set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'@;
+set read_only_staleness='EXACT_STALENESS 1500ms'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP@2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS@1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+!set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'!;
+set read_only_staleness='EXACT_STALENESS 1500ms'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP!2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS!1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+*set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'*;
+set read_only_staleness='EXACT_STALENESS 1500ms'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP*2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS*1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+(set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'(;
+set read_only_staleness='EXACT_STALENESS 1500ms'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP(2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS(1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+)set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30');
+set read_only_staleness='EXACT_STALENESS 1500ms');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP)2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS)1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+-set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-;
+set read_only_staleness='EXACT_STALENESS 1500ms'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS-1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
++set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'+;
+set read_only_staleness='EXACT_STALENESS 1500ms'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP+2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS+1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+-#set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-#;
+set read_only_staleness='EXACT_STALENESS 1500ms'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-#2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS-#1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+/set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/;
+set read_only_staleness='EXACT_STALENESS 1500ms'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS/1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+\set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'\;
+set read_only_staleness='EXACT_STALENESS 1500ms'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP\2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS\1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+?set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'?;
+set read_only_staleness='EXACT_STALENESS 1500ms'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP?2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS?1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+-/set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'-/;
+set read_only_staleness='EXACT_STALENESS 1500ms'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP-/2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS-/1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+/#set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/#;
+set read_only_staleness='EXACT_STALENESS 1500ms'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/#2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS/#1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30';
+/-set read_only_staleness='EXACT_STALENESS 1500ms';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP 2018-01-02T03:04:05.54321+05:30'/-;
+set read_only_staleness='EXACT_STALENESS 1500ms'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='READ_TIMESTAMP/-2018-01-02T03:04:05.54321+05:30';
+set read_only_staleness='EXACT_STALENESS/-1500ms';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s';
+set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MAX_STALENESS 12S';
+SET READ_ONLY_STALENESS='EXACT_STALENESS 15000000US';
NEW_CONNECTION;
-set read_only_staleness='max_staleness 12s';
+set read_only_staleness='exact_staleness 15000000us';
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 12s';
+ set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 12s';
+ set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s';
+set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s' ;
+set read_only_staleness='EXACT_STALENESS 15000000us' ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s' ;
+set read_only_staleness='EXACT_STALENESS 15000000us' ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s'
+set read_only_staleness='EXACT_STALENESS 15000000us'
;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s';
+set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 12s';
+set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
set
-read_only_staleness='MAX_STALENESS 12s';
+read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MAX_STALENESS 12s';
+foo set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s' bar;
+set read_only_staleness='EXACT_STALENESS 15000000us' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MAX_STALENESS 12s';
+%set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'%;
+set read_only_staleness='EXACT_STALENESS 15000000us'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS%12s';
+set read_only_staleness='EXACT_STALENESS%15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MAX_STALENESS 12s';
+_set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'_;
+set read_only_staleness='EXACT_STALENESS 15000000us'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS_12s';
+set read_only_staleness='EXACT_STALENESS_15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MAX_STALENESS 12s';
+&set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'&;
+set read_only_staleness='EXACT_STALENESS 15000000us'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS&12s';
+set read_only_staleness='EXACT_STALENESS&15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MAX_STALENESS 12s';
+$set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'$;
+set read_only_staleness='EXACT_STALENESS 15000000us'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS$12s';
+set read_only_staleness='EXACT_STALENESS$15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MAX_STALENESS 12s';
+@set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'@;
+set read_only_staleness='EXACT_STALENESS 15000000us'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS@12s';
+set read_only_staleness='EXACT_STALENESS@15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MAX_STALENESS 12s';
+!set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'!;
+set read_only_staleness='EXACT_STALENESS 15000000us'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS!12s';
+set read_only_staleness='EXACT_STALENESS!15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MAX_STALENESS 12s';
+*set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'*;
+set read_only_staleness='EXACT_STALENESS 15000000us'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS*12s';
+set read_only_staleness='EXACT_STALENESS*15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MAX_STALENESS 12s';
+(set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'(;
+set read_only_staleness='EXACT_STALENESS 15000000us'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS(12s';
+set read_only_staleness='EXACT_STALENESS(15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MAX_STALENESS 12s';
+)set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s');
+set read_only_staleness='EXACT_STALENESS 15000000us');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS)12s';
+set read_only_staleness='EXACT_STALENESS)15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MAX_STALENESS 12s';
+-set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'-;
+set read_only_staleness='EXACT_STALENESS 15000000us'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-12s';
+set read_only_staleness='EXACT_STALENESS-15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MAX_STALENESS 12s';
++set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'+;
+set read_only_staleness='EXACT_STALENESS 15000000us'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS+12s';
+set read_only_staleness='EXACT_STALENESS+15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MAX_STALENESS 12s';
+-#set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'-#;
+set read_only_staleness='EXACT_STALENESS 15000000us'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-#12s';
+set read_only_staleness='EXACT_STALENESS-#15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MAX_STALENESS 12s';
+/set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'/;
+set read_only_staleness='EXACT_STALENESS 15000000us'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/12s';
+set read_only_staleness='EXACT_STALENESS/15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MAX_STALENESS 12s';
+\set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'\;
+set read_only_staleness='EXACT_STALENESS 15000000us'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS\12s';
+set read_only_staleness='EXACT_STALENESS\15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MAX_STALENESS 12s';
+?set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'?;
+set read_only_staleness='EXACT_STALENESS 15000000us'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS?12s';
+set read_only_staleness='EXACT_STALENESS?15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MAX_STALENESS 12s';
+-/set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'-/;
+set read_only_staleness='EXACT_STALENESS 15000000us'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-/12s';
+set read_only_staleness='EXACT_STALENESS-/15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MAX_STALENESS 12s';
+/#set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'/#;
+set read_only_staleness='EXACT_STALENESS 15000000us'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/#12s';
+set read_only_staleness='EXACT_STALENESS/#15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MAX_STALENESS 12s';
+/-set read_only_staleness='EXACT_STALENESS 15000000us';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 12s'/-;
+set read_only_staleness='EXACT_STALENESS 15000000us'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/-12s';
+set read_only_staleness='EXACT_STALENESS/-15000000us';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms';
+set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MAX_STALENESS 100MS';
+SET READ_ONLY_STALENESS='EXACT_STALENESS 9999NS';
NEW_CONNECTION;
-set read_only_staleness='max_staleness 100ms';
+set read_only_staleness='exact_staleness 9999ns';
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 100ms';
+ set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 100ms';
+ set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms';
+set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms' ;
+set read_only_staleness='EXACT_STALENESS 9999ns' ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms' ;
+set read_only_staleness='EXACT_STALENESS 9999ns' ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms'
+set read_only_staleness='EXACT_STALENESS 9999ns'
;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms';
+set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 100ms';
+set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
set
-read_only_staleness='MAX_STALENESS 100ms';
+read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MAX_STALENESS 100ms';
+foo set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms' bar;
+set read_only_staleness='EXACT_STALENESS 9999ns' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MAX_STALENESS 100ms';
+%set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'%;
+set read_only_staleness='EXACT_STALENESS 9999ns'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS%100ms';
+set read_only_staleness='EXACT_STALENESS%9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MAX_STALENESS 100ms';
+_set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'_;
+set read_only_staleness='EXACT_STALENESS 9999ns'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS_100ms';
+set read_only_staleness='EXACT_STALENESS_9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MAX_STALENESS 100ms';
+&set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'&;
+set read_only_staleness='EXACT_STALENESS 9999ns'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS&100ms';
+set read_only_staleness='EXACT_STALENESS&9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MAX_STALENESS 100ms';
+$set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'$;
+set read_only_staleness='EXACT_STALENESS 9999ns'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS$100ms';
+set read_only_staleness='EXACT_STALENESS$9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MAX_STALENESS 100ms';
+@set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'@;
+set read_only_staleness='EXACT_STALENESS 9999ns'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS@100ms';
+set read_only_staleness='EXACT_STALENESS@9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MAX_STALENESS 100ms';
+!set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'!;
+set read_only_staleness='EXACT_STALENESS 9999ns'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS!100ms';
+set read_only_staleness='EXACT_STALENESS!9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MAX_STALENESS 100ms';
+*set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'*;
+set read_only_staleness='EXACT_STALENESS 9999ns'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS*100ms';
+set read_only_staleness='EXACT_STALENESS*9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MAX_STALENESS 100ms';
+(set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'(;
+set read_only_staleness='EXACT_STALENESS 9999ns'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS(100ms';
+set read_only_staleness='EXACT_STALENESS(9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MAX_STALENESS 100ms';
+)set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms');
+set read_only_staleness='EXACT_STALENESS 9999ns');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS)100ms';
+set read_only_staleness='EXACT_STALENESS)9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MAX_STALENESS 100ms';
+-set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'-;
+set read_only_staleness='EXACT_STALENESS 9999ns'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-100ms';
+set read_only_staleness='EXACT_STALENESS-9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MAX_STALENESS 100ms';
++set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'+;
+set read_only_staleness='EXACT_STALENESS 9999ns'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS+100ms';
+set read_only_staleness='EXACT_STALENESS+9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MAX_STALENESS 100ms';
+-#set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'-#;
+set read_only_staleness='EXACT_STALENESS 9999ns'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-#100ms';
+set read_only_staleness='EXACT_STALENESS-#9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MAX_STALENESS 100ms';
+/set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'/;
+set read_only_staleness='EXACT_STALENESS 9999ns'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/100ms';
+set read_only_staleness='EXACT_STALENESS/9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MAX_STALENESS 100ms';
+\set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'\;
+set read_only_staleness='EXACT_STALENESS 9999ns'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS\100ms';
+set read_only_staleness='EXACT_STALENESS\9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MAX_STALENESS 100ms';
+?set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'?;
+set read_only_staleness='EXACT_STALENESS 9999ns'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS?100ms';
+set read_only_staleness='EXACT_STALENESS?9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MAX_STALENESS 100ms';
+-/set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'-/;
+set read_only_staleness='EXACT_STALENESS 9999ns'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-/100ms';
+set read_only_staleness='EXACT_STALENESS-/9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MAX_STALENESS 100ms';
+/#set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'/#;
+set read_only_staleness='EXACT_STALENESS 9999ns'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/#100ms';
+set read_only_staleness='EXACT_STALENESS/#9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MAX_STALENESS 100ms';
+/-set read_only_staleness='EXACT_STALENESS 9999ns';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 100ms'/-;
+set read_only_staleness='EXACT_STALENESS 9999ns'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/-100ms';
+set read_only_staleness='EXACT_STALENESS/-9999ns';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us';
+set optimizer_version='1';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MAX_STALENESS 99999US';
+SET OPTIMIZER_VERSION='1';
NEW_CONNECTION;
-set read_only_staleness='max_staleness 99999us';
+set optimizer_version='1';
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 99999us';
+ set optimizer_version='1';
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 99999us';
+ set optimizer_version='1';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us';
+set optimizer_version='1';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us' ;
+set optimizer_version='1' ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us' ;
+set optimizer_version='1' ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us'
+set optimizer_version='1'
;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us';
+set optimizer_version='1';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 99999us';
+set optimizer_version='1';
NEW_CONNECTION;
set
-read_only_staleness='MAX_STALENESS 99999us';
+optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MAX_STALENESS 99999us';
+foo set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us' bar;
+set optimizer_version='1' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MAX_STALENESS 99999us';
+%set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'%;
+set optimizer_version='1'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS%99999us';
+set%optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MAX_STALENESS 99999us';
+_set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'_;
+set optimizer_version='1'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS_99999us';
+set_optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MAX_STALENESS 99999us';
+&set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'&;
+set optimizer_version='1'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS&99999us';
+set&optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MAX_STALENESS 99999us';
+$set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'$;
+set optimizer_version='1'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS$99999us';
+set$optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MAX_STALENESS 99999us';
+@set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'@;
+set optimizer_version='1'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS@99999us';
+set@optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MAX_STALENESS 99999us';
+!set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'!;
+set optimizer_version='1'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS!99999us';
+set!optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MAX_STALENESS 99999us';
+*set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'*;
+set optimizer_version='1'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS*99999us';
+set*optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MAX_STALENESS 99999us';
+(set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'(;
+set optimizer_version='1'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS(99999us';
+set(optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MAX_STALENESS 99999us';
+)set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us');
+set optimizer_version='1');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS)99999us';
+set)optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MAX_STALENESS 99999us';
+-set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'-;
+set optimizer_version='1'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-99999us';
+set-optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MAX_STALENESS 99999us';
++set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'+;
+set optimizer_version='1'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS+99999us';
+set+optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MAX_STALENESS 99999us';
+-#set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'-#;
+set optimizer_version='1'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-#99999us';
+set-#optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MAX_STALENESS 99999us';
+/set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'/;
+set optimizer_version='1'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/99999us';
+set/optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MAX_STALENESS 99999us';
+\set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'\;
+set optimizer_version='1'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS\99999us';
+set\optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MAX_STALENESS 99999us';
+?set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'?;
+set optimizer_version='1'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS?99999us';
+set?optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MAX_STALENESS 99999us';
+-/set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'-/;
+set optimizer_version='1'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-/99999us';
+set-/optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MAX_STALENESS 99999us';
+/#set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'/#;
+set optimizer_version='1'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/#99999us';
+set/#optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MAX_STALENESS 99999us';
+/-set optimizer_version='1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 99999us'/-;
+set optimizer_version='1'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/-99999us';
+set/-optimizer_version='1';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns';
+set optimizer_version='200';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10NS';
+SET OPTIMIZER_VERSION='200';
NEW_CONNECTION;
-set read_only_staleness='max_staleness 10ns';
+set optimizer_version='200';
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 10ns';
+ set optimizer_version='200';
NEW_CONNECTION;
- set read_only_staleness='MAX_STALENESS 10ns';
+ set optimizer_version='200';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns';
+set optimizer_version='200';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns' ;
+set optimizer_version='200' ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns' ;
+set optimizer_version='200' ;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns'
+set optimizer_version='200'
;
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns';
+set optimizer_version='200';
NEW_CONNECTION;
-set read_only_staleness='MAX_STALENESS 10ns';
+set optimizer_version='200';
NEW_CONNECTION;
set
-read_only_staleness='MAX_STALENESS 10ns';
+optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='MAX_STALENESS 10ns';
+foo set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns' bar;
+set optimizer_version='200' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='MAX_STALENESS 10ns';
+%set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'%;
+set optimizer_version='200'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS%10ns';
+set%optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='MAX_STALENESS 10ns';
+_set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'_;
+set optimizer_version='200'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS_10ns';
+set_optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='MAX_STALENESS 10ns';
+&set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'&;
+set optimizer_version='200'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS&10ns';
+set&optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='MAX_STALENESS 10ns';
+$set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'$;
+set optimizer_version='200'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS$10ns';
+set$optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='MAX_STALENESS 10ns';
+@set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'@;
+set optimizer_version='200'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS@10ns';
+set@optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='MAX_STALENESS 10ns';
+!set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'!;
+set optimizer_version='200'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS!10ns';
+set!optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='MAX_STALENESS 10ns';
+*set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'*;
+set optimizer_version='200'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS*10ns';
+set*optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='MAX_STALENESS 10ns';
+(set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'(;
+set optimizer_version='200'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS(10ns';
+set(optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='MAX_STALENESS 10ns';
+)set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns');
+set optimizer_version='200');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS)10ns';
+set)optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='MAX_STALENESS 10ns';
+-set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'-;
+set optimizer_version='200'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-10ns';
+set-optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='MAX_STALENESS 10ns';
++set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'+;
+set optimizer_version='200'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS+10ns';
+set+optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='MAX_STALENESS 10ns';
+-#set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'-#;
+set optimizer_version='200'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-#10ns';
+set-#optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='MAX_STALENESS 10ns';
+/set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'/;
+set optimizer_version='200'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/10ns';
+set/optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='MAX_STALENESS 10ns';
+\set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'\;
+set optimizer_version='200'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS\10ns';
+set\optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='MAX_STALENESS 10ns';
+?set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'?;
+set optimizer_version='200'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS?10ns';
+set?optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='MAX_STALENESS 10ns';
+-/set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'-/;
+set optimizer_version='200'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS-/10ns';
+set-/optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='MAX_STALENESS 10ns';
+/#set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'/#;
+set optimizer_version='200'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/#10ns';
+set/#optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='MAX_STALENESS 10ns';
+/-set optimizer_version='200';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS 10ns'/-;
+set optimizer_version='200'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='MAX_STALENESS/-10ns';
+set/-optimizer_version='200';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s';
+set optimizer_version='LATEST';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 15S';
+SET OPTIMIZER_VERSION='LATEST';
NEW_CONNECTION;
-set read_only_staleness='exact_staleness 15s';
+set optimizer_version='latest';
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 15s';
+ set optimizer_version='LATEST';
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 15s';
+ set optimizer_version='LATEST';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s';
+set optimizer_version='LATEST';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s' ;
+set optimizer_version='LATEST' ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s' ;
+set optimizer_version='LATEST' ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s'
+set optimizer_version='LATEST'
;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s';
+set optimizer_version='LATEST';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15s';
+set optimizer_version='LATEST';
NEW_CONNECTION;
set
-read_only_staleness='EXACT_STALENESS 15s';
+optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='EXACT_STALENESS 15s';
+foo set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s' bar;
+set optimizer_version='LATEST' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='EXACT_STALENESS 15s';
+%set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'%;
+set optimizer_version='LATEST'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS%15s';
+set%optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='EXACT_STALENESS 15s';
+_set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'_;
+set optimizer_version='LATEST'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS_15s';
+set_optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='EXACT_STALENESS 15s';
+&set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'&;
+set optimizer_version='LATEST'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS&15s';
+set&optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='EXACT_STALENESS 15s';
+$set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'$;
+set optimizer_version='LATEST'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS$15s';
+set$optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='EXACT_STALENESS 15s';
+@set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'@;
+set optimizer_version='LATEST'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS@15s';
+set@optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='EXACT_STALENESS 15s';
+!set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'!;
+set optimizer_version='LATEST'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS!15s';
+set!optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='EXACT_STALENESS 15s';
+*set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'*;
+set optimizer_version='LATEST'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS*15s';
+set*optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='EXACT_STALENESS 15s';
+(set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'(;
+set optimizer_version='LATEST'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS(15s';
+set(optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='EXACT_STALENESS 15s';
+)set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s');
+set optimizer_version='LATEST');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS)15s';
+set)optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='EXACT_STALENESS 15s';
+-set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'-;
+set optimizer_version='LATEST'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-15s';
+set-optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='EXACT_STALENESS 15s';
++set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'+;
+set optimizer_version='LATEST'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS+15s';
+set+optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='EXACT_STALENESS 15s';
+-#set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'-#;
+set optimizer_version='LATEST'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-#15s';
+set-#optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='EXACT_STALENESS 15s';
+/set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'/;
+set optimizer_version='LATEST'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/15s';
+set/optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='EXACT_STALENESS 15s';
+\set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'\;
+set optimizer_version='LATEST'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS\15s';
+set\optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='EXACT_STALENESS 15s';
+?set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'?;
+set optimizer_version='LATEST'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS?15s';
+set?optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='EXACT_STALENESS 15s';
+-/set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'-/;
+set optimizer_version='LATEST'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-/15s';
+set-/optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='EXACT_STALENESS 15s';
+/#set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'/#;
+set optimizer_version='LATEST'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/#15s';
+set/#optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='EXACT_STALENESS 15s';
+/-set optimizer_version='LATEST';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15s'/-;
+set optimizer_version='LATEST'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/-15s';
+set/-optimizer_version='LATEST';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms';
+set optimizer_version='';
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 1500MS';
+SET OPTIMIZER_VERSION='';
NEW_CONNECTION;
-set read_only_staleness='exact_staleness 1500ms';
+set optimizer_version='';
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 1500ms';
+ set optimizer_version='';
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 1500ms';
+ set optimizer_version='';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms';
+set optimizer_version='';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms' ;
+set optimizer_version='' ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms' ;
+set optimizer_version='' ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms'
+set optimizer_version=''
;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms';
+set optimizer_version='';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 1500ms';
+set optimizer_version='';
NEW_CONNECTION;
set
-read_only_staleness='EXACT_STALENESS 1500ms';
+optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='EXACT_STALENESS 1500ms';
+foo set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms' bar;
+set optimizer_version='' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='EXACT_STALENESS 1500ms';
+%set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'%;
+set optimizer_version=''%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS%1500ms';
+set%optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='EXACT_STALENESS 1500ms';
+_set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'_;
+set optimizer_version=''_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS_1500ms';
+set_optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='EXACT_STALENESS 1500ms';
+&set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'&;
+set optimizer_version=''&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS&1500ms';
+set&optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='EXACT_STALENESS 1500ms';
+$set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'$;
+set optimizer_version=''$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS$1500ms';
+set$optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='EXACT_STALENESS 1500ms';
+@set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'@;
+set optimizer_version=''@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS@1500ms';
+set@optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='EXACT_STALENESS 1500ms';
+!set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'!;
+set optimizer_version=''!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS!1500ms';
+set!optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='EXACT_STALENESS 1500ms';
+*set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'*;
+set optimizer_version=''*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS*1500ms';
+set*optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='EXACT_STALENESS 1500ms';
+(set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'(;
+set optimizer_version=''(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS(1500ms';
+set(optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='EXACT_STALENESS 1500ms';
+)set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms');
+set optimizer_version='');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS)1500ms';
+set)optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='EXACT_STALENESS 1500ms';
+-set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'-;
+set optimizer_version=''-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-1500ms';
+set-optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='EXACT_STALENESS 1500ms';
++set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'+;
+set optimizer_version=''+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS+1500ms';
+set+optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='EXACT_STALENESS 1500ms';
+-#set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'-#;
+set optimizer_version=''-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-#1500ms';
+set-#optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='EXACT_STALENESS 1500ms';
+/set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'/;
+set optimizer_version=''/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/1500ms';
+set/optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='EXACT_STALENESS 1500ms';
+\set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'\;
+set optimizer_version=''\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS\1500ms';
+set\optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='EXACT_STALENESS 1500ms';
+?set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'?;
+set optimizer_version=''?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS?1500ms';
+set?optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='EXACT_STALENESS 1500ms';
+-/set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'-/;
+set optimizer_version=''-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-/1500ms';
+set-/optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='EXACT_STALENESS 1500ms';
+/#set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'/#;
+set optimizer_version=''/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/#1500ms';
+set/#optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='EXACT_STALENESS 1500ms';
+/-set optimizer_version='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 1500ms'/-;
+set optimizer_version=''/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/-1500ms';
+set/-optimizer_version='';
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us';
+set return_commit_stats = true;
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 15000000US';
+SET RETURN_COMMIT_STATS = TRUE;
NEW_CONNECTION;
-set read_only_staleness='exact_staleness 15000000us';
+set return_commit_stats = true;
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 15000000us';
+ set return_commit_stats = true;
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 15000000us';
+ set return_commit_stats = true;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us';
+set return_commit_stats = true;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us' ;
+set return_commit_stats = true ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us' ;
+set return_commit_stats = true ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us'
+set return_commit_stats = true
;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us';
+set return_commit_stats = true;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 15000000us';
+set return_commit_stats = true;
NEW_CONNECTION;
set
-read_only_staleness='EXACT_STALENESS 15000000us';
+return_commit_stats
+=
+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='EXACT_STALENESS 15000000us';
+foo set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us' bar;
+set return_commit_stats = true bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='EXACT_STALENESS 15000000us';
+%set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'%;
+set return_commit_stats = true%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS%15000000us';
+set return_commit_stats =%true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='EXACT_STALENESS 15000000us';
+_set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'_;
+set return_commit_stats = true_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS_15000000us';
+set return_commit_stats =_true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='EXACT_STALENESS 15000000us';
+&set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'&;
+set return_commit_stats = true&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS&15000000us';
+set return_commit_stats =&true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='EXACT_STALENESS 15000000us';
+$set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'$;
+set return_commit_stats = true$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS$15000000us';
+set return_commit_stats =$true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='EXACT_STALENESS 15000000us';
+@set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'@;
+set return_commit_stats = true@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS@15000000us';
+set return_commit_stats =@true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='EXACT_STALENESS 15000000us';
+!set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'!;
+set return_commit_stats = true!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS!15000000us';
+set return_commit_stats =!true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='EXACT_STALENESS 15000000us';
+*set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'*;
+set return_commit_stats = true*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS*15000000us';
+set return_commit_stats =*true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='EXACT_STALENESS 15000000us';
+(set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'(;
+set return_commit_stats = true(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS(15000000us';
+set return_commit_stats =(true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='EXACT_STALENESS 15000000us';
+)set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us');
+set return_commit_stats = true);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS)15000000us';
+set return_commit_stats =)true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='EXACT_STALENESS 15000000us';
+-set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'-;
+set return_commit_stats = true-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-15000000us';
+set return_commit_stats =-true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='EXACT_STALENESS 15000000us';
++set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'+;
+set return_commit_stats = true+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS+15000000us';
+set return_commit_stats =+true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='EXACT_STALENESS 15000000us';
+-#set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'-#;
+set return_commit_stats = true-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-#15000000us';
+set return_commit_stats =-#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='EXACT_STALENESS 15000000us';
+/set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'/;
+set return_commit_stats = true/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/15000000us';
+set return_commit_stats =/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='EXACT_STALENESS 15000000us';
+\set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'\;
+set return_commit_stats = true\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS\15000000us';
+set return_commit_stats =\true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='EXACT_STALENESS 15000000us';
+?set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'?;
+set return_commit_stats = true?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS?15000000us';
+set return_commit_stats =?true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='EXACT_STALENESS 15000000us';
+-/set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'-/;
+set return_commit_stats = true-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-/15000000us';
+set return_commit_stats =-/true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='EXACT_STALENESS 15000000us';
+/#set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'/#;
+set return_commit_stats = true/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/#15000000us';
+set return_commit_stats =/#true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='EXACT_STALENESS 15000000us';
+/-set return_commit_stats = true;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 15000000us'/-;
+set return_commit_stats = true/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/-15000000us';
+set return_commit_stats =/-true;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns';
+set return_commit_stats = false;
NEW_CONNECTION;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 9999NS';
+SET RETURN_COMMIT_STATS = FALSE;
NEW_CONNECTION;
-set read_only_staleness='exact_staleness 9999ns';
+set return_commit_stats = false;
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 9999ns';
+ set return_commit_stats = false;
NEW_CONNECTION;
- set read_only_staleness='EXACT_STALENESS 9999ns';
+ set return_commit_stats = false;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns';
+set return_commit_stats = false;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns' ;
+set return_commit_stats = false ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns' ;
+set return_commit_stats = false ;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns'
+set return_commit_stats = false
;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns';
+set return_commit_stats = false;
NEW_CONNECTION;
-set read_only_staleness='EXACT_STALENESS 9999ns';
+set return_commit_stats = false;
NEW_CONNECTION;
set
-read_only_staleness='EXACT_STALENESS 9999ns';
+return_commit_stats
+=
+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set read_only_staleness='EXACT_STALENESS 9999ns';
+foo set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns' bar;
+set return_commit_stats = false bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set read_only_staleness='EXACT_STALENESS 9999ns';
+%set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'%;
+set return_commit_stats = false%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS%9999ns';
+set return_commit_stats =%false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set read_only_staleness='EXACT_STALENESS 9999ns';
+_set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'_;
+set return_commit_stats = false_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS_9999ns';
+set return_commit_stats =_false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set read_only_staleness='EXACT_STALENESS 9999ns';
+&set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'&;
+set return_commit_stats = false&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS&9999ns';
+set return_commit_stats =&false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set read_only_staleness='EXACT_STALENESS 9999ns';
+$set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'$;
+set return_commit_stats = false$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS$9999ns';
+set return_commit_stats =$false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set read_only_staleness='EXACT_STALENESS 9999ns';
+@set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'@;
+set return_commit_stats = false@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS@9999ns';
+set return_commit_stats =@false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set read_only_staleness='EXACT_STALENESS 9999ns';
+!set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'!;
+set return_commit_stats = false!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS!9999ns';
+set return_commit_stats =!false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set read_only_staleness='EXACT_STALENESS 9999ns';
+*set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'*;
+set return_commit_stats = false*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS*9999ns';
+set return_commit_stats =*false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set read_only_staleness='EXACT_STALENESS 9999ns';
+(set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'(;
+set return_commit_stats = false(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS(9999ns';
+set return_commit_stats =(false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set read_only_staleness='EXACT_STALENESS 9999ns';
+)set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns');
+set return_commit_stats = false);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS)9999ns';
+set return_commit_stats =)false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set read_only_staleness='EXACT_STALENESS 9999ns';
+-set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'-;
+set return_commit_stats = false-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-9999ns';
+set return_commit_stats =-false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set read_only_staleness='EXACT_STALENESS 9999ns';
++set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'+;
+set return_commit_stats = false+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS+9999ns';
+set return_commit_stats =+false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set read_only_staleness='EXACT_STALENESS 9999ns';
+-#set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'-#;
+set return_commit_stats = false-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-#9999ns';
+set return_commit_stats =-#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set read_only_staleness='EXACT_STALENESS 9999ns';
+/set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'/;
+set return_commit_stats = false/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/9999ns';
+set return_commit_stats =/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set read_only_staleness='EXACT_STALENESS 9999ns';
+\set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'\;
+set return_commit_stats = false\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS\9999ns';
+set return_commit_stats =\false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set read_only_staleness='EXACT_STALENESS 9999ns';
+?set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'?;
+set return_commit_stats = false?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS?9999ns';
+set return_commit_stats =?false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set read_only_staleness='EXACT_STALENESS 9999ns';
+-/set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'-/;
+set return_commit_stats = false-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS-/9999ns';
+set return_commit_stats =-/false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set read_only_staleness='EXACT_STALENESS 9999ns';
+/#set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'/#;
+set return_commit_stats = false/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/#9999ns';
+set return_commit_stats =/#false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set read_only_staleness='EXACT_STALENESS 9999ns';
+/-set return_commit_stats = false;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS 9999ns'/-;
+set return_commit_stats = false/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set read_only_staleness='EXACT_STALENESS/-9999ns';
+set return_commit_stats =/-false;
NEW_CONNECTION;
-set optimizer_version='1';
+set statement_tag='tag1';
NEW_CONNECTION;
-SET OPTIMIZER_VERSION='1';
+SET STATEMENT_TAG='TAG1';
NEW_CONNECTION;
-set optimizer_version='1';
+set statement_tag='tag1';
NEW_CONNECTION;
- set optimizer_version='1';
+ set statement_tag='tag1';
NEW_CONNECTION;
- set optimizer_version='1';
+ set statement_tag='tag1';
NEW_CONNECTION;
-set optimizer_version='1';
+set statement_tag='tag1';
NEW_CONNECTION;
-set optimizer_version='1' ;
+set statement_tag='tag1' ;
NEW_CONNECTION;
-set optimizer_version='1' ;
+set statement_tag='tag1' ;
NEW_CONNECTION;
-set optimizer_version='1'
+set statement_tag='tag1'
;
NEW_CONNECTION;
-set optimizer_version='1';
+set statement_tag='tag1';
NEW_CONNECTION;
-set optimizer_version='1';
+set statement_tag='tag1';
NEW_CONNECTION;
set
-optimizer_version='1';
+statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set optimizer_version='1';
+foo set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1' bar;
+set statement_tag='tag1' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set optimizer_version='1';
+%set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'%;
+set statement_tag='tag1'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%optimizer_version='1';
+set%statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set optimizer_version='1';
+_set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'_;
+set statement_tag='tag1'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_optimizer_version='1';
+set_statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set optimizer_version='1';
+&set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'&;
+set statement_tag='tag1'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&optimizer_version='1';
+set&statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set optimizer_version='1';
+$set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'$;
+set statement_tag='tag1'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$optimizer_version='1';
+set$statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set optimizer_version='1';
+@set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'@;
+set statement_tag='tag1'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@optimizer_version='1';
+set@statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set optimizer_version='1';
+!set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'!;
+set statement_tag='tag1'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!optimizer_version='1';
+set!statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set optimizer_version='1';
+*set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'*;
+set statement_tag='tag1'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*optimizer_version='1';
+set*statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set optimizer_version='1';
+(set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'(;
+set statement_tag='tag1'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(optimizer_version='1';
+set(statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set optimizer_version='1';
+)set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1');
+set statement_tag='tag1');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)optimizer_version='1';
+set)statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set optimizer_version='1';
+-set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'-;
+set statement_tag='tag1'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-optimizer_version='1';
+set-statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set optimizer_version='1';
++set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'+;
+set statement_tag='tag1'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+optimizer_version='1';
+set+statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set optimizer_version='1';
+-#set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'-#;
+set statement_tag='tag1'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#optimizer_version='1';
+set-#statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set optimizer_version='1';
+/set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'/;
+set statement_tag='tag1'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/optimizer_version='1';
+set/statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set optimizer_version='1';
+\set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'\;
+set statement_tag='tag1'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\optimizer_version='1';
+set\statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set optimizer_version='1';
+?set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'?;
+set statement_tag='tag1'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?optimizer_version='1';
+set?statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set optimizer_version='1';
+-/set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'-/;
+set statement_tag='tag1'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/optimizer_version='1';
+set-/statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set optimizer_version='1';
+/#set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'/#;
+set statement_tag='tag1'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#optimizer_version='1';
+set/#statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set optimizer_version='1';
+/-set statement_tag='tag1';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='1'/-;
+set statement_tag='tag1'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-optimizer_version='1';
+set/-statement_tag='tag1';
NEW_CONNECTION;
-set optimizer_version='200';
+set statement_tag='tag2';
NEW_CONNECTION;
-SET OPTIMIZER_VERSION='200';
+SET STATEMENT_TAG='TAG2';
NEW_CONNECTION;
-set optimizer_version='200';
+set statement_tag='tag2';
NEW_CONNECTION;
- set optimizer_version='200';
+ set statement_tag='tag2';
NEW_CONNECTION;
- set optimizer_version='200';
+ set statement_tag='tag2';
NEW_CONNECTION;
-set optimizer_version='200';
+set statement_tag='tag2';
NEW_CONNECTION;
-set optimizer_version='200' ;
+set statement_tag='tag2' ;
NEW_CONNECTION;
-set optimizer_version='200' ;
+set statement_tag='tag2' ;
NEW_CONNECTION;
-set optimizer_version='200'
+set statement_tag='tag2'
;
NEW_CONNECTION;
-set optimizer_version='200';
+set statement_tag='tag2';
NEW_CONNECTION;
-set optimizer_version='200';
+set statement_tag='tag2';
NEW_CONNECTION;
set
-optimizer_version='200';
+statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set optimizer_version='200';
+foo set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200' bar;
+set statement_tag='tag2' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set optimizer_version='200';
+%set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'%;
+set statement_tag='tag2'%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%optimizer_version='200';
+set%statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set optimizer_version='200';
+_set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'_;
+set statement_tag='tag2'_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_optimizer_version='200';
+set_statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set optimizer_version='200';
+&set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'&;
+set statement_tag='tag2'&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&optimizer_version='200';
+set&statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set optimizer_version='200';
+$set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'$;
+set statement_tag='tag2'$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$optimizer_version='200';
+set$statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set optimizer_version='200';
+@set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'@;
+set statement_tag='tag2'@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@optimizer_version='200';
+set@statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set optimizer_version='200';
+!set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'!;
+set statement_tag='tag2'!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!optimizer_version='200';
+set!statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set optimizer_version='200';
+*set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'*;
+set statement_tag='tag2'*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*optimizer_version='200';
+set*statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set optimizer_version='200';
+(set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'(;
+set statement_tag='tag2'(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(optimizer_version='200';
+set(statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set optimizer_version='200';
+)set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200');
+set statement_tag='tag2');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)optimizer_version='200';
+set)statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set optimizer_version='200';
+-set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'-;
+set statement_tag='tag2'-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-optimizer_version='200';
+set-statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set optimizer_version='200';
++set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'+;
+set statement_tag='tag2'+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+optimizer_version='200';
+set+statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set optimizer_version='200';
+-#set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'-#;
+set statement_tag='tag2'-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#optimizer_version='200';
+set-#statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set optimizer_version='200';
+/set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'/;
+set statement_tag='tag2'/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/optimizer_version='200';
+set/statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set optimizer_version='200';
+\set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'\;
+set statement_tag='tag2'\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\optimizer_version='200';
+set\statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set optimizer_version='200';
+?set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'?;
+set statement_tag='tag2'?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?optimizer_version='200';
+set?statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set optimizer_version='200';
+-/set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'-/;
+set statement_tag='tag2'-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/optimizer_version='200';
+set-/statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set optimizer_version='200';
+/#set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'/#;
+set statement_tag='tag2'/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#optimizer_version='200';
+set/#statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set optimizer_version='200';
+/-set statement_tag='tag2';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='200'/-;
+set statement_tag='tag2'/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-optimizer_version='200';
+set/-statement_tag='tag2';
NEW_CONNECTION;
-set optimizer_version='LATEST';
+set statement_tag='';
NEW_CONNECTION;
-SET OPTIMIZER_VERSION='LATEST';
+SET STATEMENT_TAG='';
NEW_CONNECTION;
-set optimizer_version='latest';
+set statement_tag='';
NEW_CONNECTION;
- set optimizer_version='LATEST';
+ set statement_tag='';
NEW_CONNECTION;
- set optimizer_version='LATEST';
+ set statement_tag='';
NEW_CONNECTION;
-set optimizer_version='LATEST';
+set statement_tag='';
NEW_CONNECTION;
-set optimizer_version='LATEST' ;
+set statement_tag='' ;
NEW_CONNECTION;
-set optimizer_version='LATEST' ;
+set statement_tag='' ;
NEW_CONNECTION;
-set optimizer_version='LATEST'
+set statement_tag=''
;
NEW_CONNECTION;
-set optimizer_version='LATEST';
+set statement_tag='';
NEW_CONNECTION;
-set optimizer_version='LATEST';
+set statement_tag='';
NEW_CONNECTION;
set
-optimizer_version='LATEST';
+statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set optimizer_version='LATEST';
+foo set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST' bar;
+set statement_tag='' bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set optimizer_version='LATEST';
+%set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'%;
+set statement_tag=''%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%optimizer_version='LATEST';
+set%statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set optimizer_version='LATEST';
+_set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'_;
+set statement_tag=''_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_optimizer_version='LATEST';
+set_statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set optimizer_version='LATEST';
+&set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'&;
+set statement_tag=''&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&optimizer_version='LATEST';
+set&statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set optimizer_version='LATEST';
+$set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'$;
+set statement_tag=''$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$optimizer_version='LATEST';
+set$statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set optimizer_version='LATEST';
+@set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'@;
+set statement_tag=''@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@optimizer_version='LATEST';
+set@statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set optimizer_version='LATEST';
+!set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'!;
+set statement_tag=''!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!optimizer_version='LATEST';
+set!statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set optimizer_version='LATEST';
+*set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'*;
+set statement_tag=''*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*optimizer_version='LATEST';
+set*statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set optimizer_version='LATEST';
+(set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'(;
+set statement_tag=''(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(optimizer_version='LATEST';
+set(statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set optimizer_version='LATEST';
+)set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST');
+set statement_tag='');
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)optimizer_version='LATEST';
+set)statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set optimizer_version='LATEST';
+-set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'-;
+set statement_tag=''-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-optimizer_version='LATEST';
+set-statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set optimizer_version='LATEST';
++set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'+;
+set statement_tag=''+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+optimizer_version='LATEST';
+set+statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set optimizer_version='LATEST';
+-#set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'-#;
+set statement_tag=''-#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#optimizer_version='LATEST';
+set-#statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set optimizer_version='LATEST';
+/set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'/;
+set statement_tag=''/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/optimizer_version='LATEST';
+set/statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set optimizer_version='LATEST';
+\set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'\;
+set statement_tag=''\;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\optimizer_version='LATEST';
+set\statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set optimizer_version='LATEST';
+?set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'?;
+set statement_tag=''?;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?optimizer_version='LATEST';
+set?statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set optimizer_version='LATEST';
+-/set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'-/;
+set statement_tag=''-/;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/optimizer_version='LATEST';
+set-/statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set optimizer_version='LATEST';
+/#set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'/#;
+set statement_tag=''/#;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#optimizer_version='LATEST';
+set/#statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set optimizer_version='LATEST';
+/-set statement_tag='';
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='LATEST'/-;
+set statement_tag=''/-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-optimizer_version='LATEST';
+set/-statement_tag='';
NEW_CONNECTION;
-set optimizer_version='';
+set autocommit = false;
+set transaction_tag='tag1';
NEW_CONNECTION;
-SET OPTIMIZER_VERSION='';
+set autocommit = false;
+SET TRANSACTION_TAG='TAG1';
NEW_CONNECTION;
-set optimizer_version='';
+set autocommit = false;
+set transaction_tag='tag1';
NEW_CONNECTION;
- set optimizer_version='';
+set autocommit = false;
+ set transaction_tag='tag1';
NEW_CONNECTION;
- set optimizer_version='';
+set autocommit = false;
+ set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
-set optimizer_version='';
+set transaction_tag='tag1';
NEW_CONNECTION;
-set optimizer_version='' ;
+set autocommit = false;
+set transaction_tag='tag1' ;
NEW_CONNECTION;
-set optimizer_version='' ;
+set autocommit = false;
+set transaction_tag='tag1' ;
NEW_CONNECTION;
-set optimizer_version=''
+set autocommit = false;
+set transaction_tag='tag1'
;
NEW_CONNECTION;
-set optimizer_version='';
+set autocommit = false;
+set transaction_tag='tag1';
NEW_CONNECTION;
-set optimizer_version='';
+set autocommit = false;
+set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
set
-optimizer_version='';
+transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set optimizer_version='';
+foo set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='' bar;
+set transaction_tag='tag1' bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set optimizer_version='';
+%set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''%;
+set transaction_tag='tag1'%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%optimizer_version='';
+set%transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set optimizer_version='';
+_set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''_;
+set transaction_tag='tag1'_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_optimizer_version='';
+set_transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set optimizer_version='';
+&set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''&;
+set transaction_tag='tag1'&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&optimizer_version='';
+set&transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set optimizer_version='';
+$set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''$;
+set transaction_tag='tag1'$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$optimizer_version='';
+set$transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set optimizer_version='';
+@set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''@;
+set transaction_tag='tag1'@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@optimizer_version='';
+set@transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set optimizer_version='';
+!set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''!;
+set transaction_tag='tag1'!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!optimizer_version='';
+set!transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set optimizer_version='';
+*set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''*;
+set transaction_tag='tag1'*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*optimizer_version='';
+set*transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set optimizer_version='';
+(set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''(;
+set transaction_tag='tag1'(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(optimizer_version='';
+set(transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set optimizer_version='';
+)set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version='');
+set transaction_tag='tag1');
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)optimizer_version='';
+set)transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set optimizer_version='';
+-set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''-;
+set transaction_tag='tag1'-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-optimizer_version='';
+set-transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set optimizer_version='';
++set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''+;
+set transaction_tag='tag1'+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+optimizer_version='';
+set+transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set optimizer_version='';
+-#set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''-#;
+set transaction_tag='tag1'-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-#optimizer_version='';
+set-#transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set optimizer_version='';
+/set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''/;
+set transaction_tag='tag1'/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/optimizer_version='';
+set/transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set optimizer_version='';
+\set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''\;
+set transaction_tag='tag1'\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set\optimizer_version='';
+set\transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set optimizer_version='';
+?set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''?;
+set transaction_tag='tag1'?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set?optimizer_version='';
+set?transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set optimizer_version='';
+-/set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''-/;
+set transaction_tag='tag1'-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-/optimizer_version='';
+set-/transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set optimizer_version='';
+/#set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''/#;
+set transaction_tag='tag1'/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/#optimizer_version='';
+set/#transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set optimizer_version='';
+/-set transaction_tag='tag1';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set optimizer_version=''/-;
+set transaction_tag='tag1'/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set/-optimizer_version='';
+set/-transaction_tag='tag1';
NEW_CONNECTION;
-set return_commit_stats = true;
+set autocommit = false;
+set transaction_tag='tag2';
NEW_CONNECTION;
-SET RETURN_COMMIT_STATS = TRUE;
+set autocommit = false;
+SET TRANSACTION_TAG='TAG2';
NEW_CONNECTION;
-set return_commit_stats = true;
+set autocommit = false;
+set transaction_tag='tag2';
NEW_CONNECTION;
- set return_commit_stats = true;
+set autocommit = false;
+ set transaction_tag='tag2';
NEW_CONNECTION;
- set return_commit_stats = true;
+set autocommit = false;
+ set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
-set return_commit_stats = true;
+set transaction_tag='tag2';
NEW_CONNECTION;
-set return_commit_stats = true ;
+set autocommit = false;
+set transaction_tag='tag2' ;
NEW_CONNECTION;
-set return_commit_stats = true ;
+set autocommit = false;
+set transaction_tag='tag2' ;
NEW_CONNECTION;
-set return_commit_stats = true
+set autocommit = false;
+set transaction_tag='tag2'
;
NEW_CONNECTION;
-set return_commit_stats = true;
+set autocommit = false;
+set transaction_tag='tag2';
NEW_CONNECTION;
-set return_commit_stats = true;
+set autocommit = false;
+set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
set
-return_commit_stats
-=
-true;
+transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set return_commit_stats = true;
+foo set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true bar;
+set transaction_tag='tag2' bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set return_commit_stats = true;
+%set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true%;
+set transaction_tag='tag2'%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =%true;
+set%transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set return_commit_stats = true;
+_set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true_;
+set transaction_tag='tag2'_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =_true;
+set_transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set return_commit_stats = true;
+&set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true&;
+set transaction_tag='tag2'&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =&true;
+set&transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set return_commit_stats = true;
+$set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true$;
+set transaction_tag='tag2'$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =$true;
+set$transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set return_commit_stats = true;
+@set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true@;
+set transaction_tag='tag2'@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =@true;
+set@transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set return_commit_stats = true;
+!set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true!;
+set transaction_tag='tag2'!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =!true;
+set!transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set return_commit_stats = true;
+*set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true*;
+set transaction_tag='tag2'*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =*true;
+set*transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set return_commit_stats = true;
+(set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true(;
+set transaction_tag='tag2'(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =(true;
+set(transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set return_commit_stats = true;
+)set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true);
+set transaction_tag='tag2');
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =)true;
+set)transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set return_commit_stats = true;
+-set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true-;
+set transaction_tag='tag2'-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =-true;
+set-transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set return_commit_stats = true;
++set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true+;
+set transaction_tag='tag2'+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =+true;
+set+transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set return_commit_stats = true;
+-#set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true-#;
+set transaction_tag='tag2'-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =-#true;
+set-#transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set return_commit_stats = true;
+/set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true/;
+set transaction_tag='tag2'/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =/true;
+set/transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set return_commit_stats = true;
+\set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true\;
+set transaction_tag='tag2'\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =\true;
+set\transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set return_commit_stats = true;
+?set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true?;
+set transaction_tag='tag2'?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =?true;
+set?transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set return_commit_stats = true;
+-/set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true-/;
+set transaction_tag='tag2'-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =-/true;
+set-/transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set return_commit_stats = true;
+/#set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true/#;
+set transaction_tag='tag2'/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =/#true;
+set/#transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set return_commit_stats = true;
+/-set transaction_tag='tag2';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = true/-;
+set transaction_tag='tag2'/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =/-true;
+set/-transaction_tag='tag2';
NEW_CONNECTION;
-set return_commit_stats = false;
+set autocommit = false;
+set transaction_tag='';
NEW_CONNECTION;
-SET RETURN_COMMIT_STATS = FALSE;
+set autocommit = false;
+SET TRANSACTION_TAG='';
NEW_CONNECTION;
-set return_commit_stats = false;
+set autocommit = false;
+set transaction_tag='';
NEW_CONNECTION;
- set return_commit_stats = false;
+set autocommit = false;
+ set transaction_tag='';
NEW_CONNECTION;
- set return_commit_stats = false;
+set autocommit = false;
+ set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
-set return_commit_stats = false;
+set transaction_tag='';
NEW_CONNECTION;
-set return_commit_stats = false ;
+set autocommit = false;
+set transaction_tag='' ;
NEW_CONNECTION;
-set return_commit_stats = false ;
+set autocommit = false;
+set transaction_tag='' ;
NEW_CONNECTION;
-set return_commit_stats = false
+set autocommit = false;
+set transaction_tag=''
;
NEW_CONNECTION;
-set return_commit_stats = false;
+set autocommit = false;
+set transaction_tag='';
NEW_CONNECTION;
-set return_commit_stats = false;
+set autocommit = false;
+set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
set
-return_commit_stats
-=
-false;
+transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set return_commit_stats = false;
+foo set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false bar;
+set transaction_tag='' bar;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set return_commit_stats = false;
+%set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false%;
+set transaction_tag=''%;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =%false;
+set%transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set return_commit_stats = false;
+_set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false_;
+set transaction_tag=''_;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =_false;
+set_transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set return_commit_stats = false;
+&set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false&;
+set transaction_tag=''&;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =&false;
+set&transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set return_commit_stats = false;
+$set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false$;
+set transaction_tag=''$;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =$false;
+set$transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set return_commit_stats = false;
+@set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false@;
+set transaction_tag=''@;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =@false;
+set@transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set return_commit_stats = false;
+!set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false!;
+set transaction_tag=''!;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =!false;
+set!transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set return_commit_stats = false;
+*set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false*;
+set transaction_tag=''*;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =*false;
+set*transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set return_commit_stats = false;
+(set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false(;
+set transaction_tag=''(;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =(false;
+set(transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set return_commit_stats = false;
+)set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false);
+set transaction_tag='');
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =)false;
+set)transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set return_commit_stats = false;
+-set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false-;
+set transaction_tag=''-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =-false;
+set-transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set return_commit_stats = false;
++set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false+;
+set transaction_tag=''+;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =+false;
+set+transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--#set return_commit_stats = false;
+-#set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false-#;
+set transaction_tag=''-#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =-#false;
+set-#transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/set return_commit_stats = false;
+/set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false/;
+set transaction_tag=''/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =/false;
+set/transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-\set return_commit_stats = false;
+\set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false\;
+set transaction_tag=''\;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =\false;
+set\transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-?set return_commit_stats = false;
+?set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false?;
+set transaction_tag=''?;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =?false;
+set?transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
--/set return_commit_stats = false;
+-/set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false-/;
+set transaction_tag=''-/;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =-/false;
+set-/transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/#set return_commit_stats = false;
+/#set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false/#;
+set transaction_tag=''/#;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =/#false;
+set/#transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-/-set return_commit_stats = false;
+/-set transaction_tag='';
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats = false/-;
+set transaction_tag=''/-;
NEW_CONNECTION;
+set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set return_commit_stats =/-false;
+set/-transaction_tag='';
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 b56c2b8906..e94bb6da31 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,194 +1,212 @@
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MAX_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=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MAX_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=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:39.999000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:39.999000000Z'
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:20.237000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:20.237000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:39.999000000Z';
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:20.237000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2021-04-13T18:14:20.237000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
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;
+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;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+NEW_CONNECTION;
+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;
@@ -204,29 +222,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -270,54 +288,75 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
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=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=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -327,124 +366,172 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@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;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@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;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@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
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -454,53 +541,77 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:40.104000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:40.104000000Z'
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:20.345000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:20.345000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:40.104000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2020-11-06T18:52:40.104000000Z'
+COMMIT;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:20.345000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2021-04-13T18:14:20.345000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
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;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
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 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;
+@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;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -516,29 +627,41 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@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 STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -582,29 +705,47 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@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;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -616,210 +757,206 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+@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=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+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;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+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;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+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;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+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
+BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+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=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+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 2020-11-06T18:52:40.202000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:40.202000000Z'
+BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:20.443000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:20.443000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:40.202000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2020-11-06T18:52:40.202000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:20.443000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+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;
+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;
+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;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -835,29 +972,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -901,61 +1038,60 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+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;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
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);
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -965,124 +1101,124 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+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 READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@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';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@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';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@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=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -1092,53 +1228,59 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+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=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:40.272000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:40.272000000Z'
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:20.529000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:20.529000000Z'
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 2020-11-06T18:52:40.272000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2020-11-06T18:52:40.272000000Z'
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:20.529000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2021-04-13T18:14:20.529000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+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=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+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=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+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=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
+@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';
+SELECT 1 AS TEST;
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -1154,29 +1296,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@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';
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -1220,29 +1362,35 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@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';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -1254,35 +1402,27 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -1292,172 +1432,124 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
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;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@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;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@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;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@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
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -1467,69 +1559,59 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
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;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:40.494000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:40.494000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:20.633000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:20.633000000Z'
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 2020-11-06T18:52:40.494000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2020-11-06T18:52:40.494000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:20.633000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2021-04-13T18:14:20.633000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
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;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
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 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;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -1545,41 +1627,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@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 STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -1623,39 +1693,35 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@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;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -1667,9 +1733,7 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
@@ -1804,14 +1868,14 @@ SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:40.575000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:40.575000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:20.712000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:20.712000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:40.575000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2020-11-06T18:52:40.575000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:20.712000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2021-04-13T18:14:20.712000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
@@ -1834,6 +1898,11 @@ SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
@@ -1930,6 +1999,11 @@ RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -1944,229 +2018,197 @@ SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@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
+START BATCH DDL;
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@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
+START BATCH DDL;
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;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@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;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+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;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:40.623000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:40.623000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:20.755000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:40.623000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:20.755000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+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;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+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;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -2182,35 +2224,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2254,191 +2290,215 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@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;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-BEGIN TRANSACTION;
+SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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;
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;
BEGIN TRANSACTION;
-@EXPECT UPDATE_COUNT 1
+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;
BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
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;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
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;
BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
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;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
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;
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;
@@ -2446,19 +2506,22 @@ NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:40.740000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:40.740000000Z'
+SET TRANSACTION READ ONLY;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:20.807000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:20.807000000Z'
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='MIN_READ_TIMESTAMP 2020-11-06T18:52:40.740000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:20.807000000Z';
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;
@@ -2466,12 +2529,14 @@ 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';
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;
@@ -2479,10 +2544,19 @@ 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;
@@ -2499,28 +2573,34 @@ 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;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2565,53 +2645,74 @@ 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;
BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
COMMIT;
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;
+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=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
@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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
@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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -2621,48 +2722,68 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
@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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
@@ -2672,57 +2793,79 @@ 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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
@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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+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=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
@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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
@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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+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=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -2734,7 +2877,9 @@ START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -2746,13 +2891,17 @@ START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -2762,53 +2911,77 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+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=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:40.836000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:40.836000000Z'
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:20.903000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:20.903000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:40.836000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2020-11-06T18:52:40.836000000Z'
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:20.903000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2021-04-13T18:14:20.903000000Z'
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);
+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=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
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);
+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=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
+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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -2824,29 +2997,41 @@ 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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2890,29 +3075,47 @@ 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);
+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=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
@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);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -2923,176 +3126,137 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+UPDATE foo SET bar=1;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@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;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+@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;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+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;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@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;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
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;
+BEGIN TRANSACTION;
+@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;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@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;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@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;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
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
+BEGIN TRANSACTION;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+BEGIN TRANSACTION;
+@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;
-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;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -3104,79 +3268,68 @@ START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+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=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+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;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:40.908000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:40.908000000Z'
+BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:20.957000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:20.957000000Z'
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 2020-11-06T18:52:40.908000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2020-11-06T18:52:40.908000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:20.957000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+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;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+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=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+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;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+@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;
+BEGIN TRANSACTION;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -3192,35 +3345,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@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;
+BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -3264,66 +3411,59 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@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;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-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);
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
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=TRUE;
-SELECT 1 AS TEST;
+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=TRUE;
-SELECT 1 AS TEST;
+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=TRUE;
-SELECT 1 AS TEST;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -3333,48 +3473,48 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+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=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=TRUE;
-SELECT 1 AS TEST;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
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=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=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=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=TRUE;
-SELECT 1 AS TEST;
+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;
@@ -3384,57 +3524,57 @@ SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
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=TRUE;
-SELECT 1 AS TEST;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
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=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=TRUE;
-SELECT 1 AS TEST;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
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=TRUE;
-SELECT 1 AS TEST;
+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=TRUE;
-SELECT 1 AS TEST;
+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=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=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+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=TRUE;
-SELECT 1 AS TEST;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -3446,7 +3586,7 @@ START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -3458,13 +3598,13 @@ START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+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=TRUE;
-SELECT 1 AS TEST;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -3474,53 +3614,59 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
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 2020-11-06T18:52:40.966000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:40.966000000Z'
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.041000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.041000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:40.966000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2020-11-06T18:52:40.966000000Z'
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.041000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2021-04-13T18:14:21.041000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
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;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
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;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
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;
+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=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=TRUE;
+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;
@@ -3536,29 +3682,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
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=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=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=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=TRUE;
-SELECT 1 AS TEST;
+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=TRUE;
-SELECT 1 AS TEST;
+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;
@@ -3602,29 +3748,35 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
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=TRUE;
-SELECT 1 AS TEST;
+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=TRUE;
-SELECT 1 AS TEST;
+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=TRUE;
-SELECT 1 AS TEST;
+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=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;
@@ -3635,195 +3787,230 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
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=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
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
+UPDATE foo SET bar=1;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+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=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
@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
+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;
+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=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.009000000Z';
+UPDATE foo SET bar=1;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.115000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.115000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.009000000Z';
+UPDATE foo SET bar=1;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.115000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2021-04-13T18:14:21.115000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
+SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -3839,29 +4026,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -3905,62 +4092,70 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
-BEGIN TRANSACTION;
+SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+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=TRUE;
-BEGIN TRANSACTION;
UPDATE foo SET bar=1;
-COMMIT;
NEW_CONNECTION;
SET READONLY=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=TRUE;
+@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;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -3970,68 +4165,58 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=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=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@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;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=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=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=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=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@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;
@@ -4041,79 +4226,68 @@ SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=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=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@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;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=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=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@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;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@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;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@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;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -4125,9 +4299,8 @@ START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -4139,17 +4312,15 @@ START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -4159,69 +4330,68 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+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=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.060000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.060000000Z'
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.186000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.186000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.060000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2020-11-06T18:52:41.060000000Z'
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.186000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2021-04-13T18:14:21.186000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+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=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+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=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+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=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@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;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@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 OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -4237,41 +4407,35 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=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=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=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=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=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
+@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;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -4315,39 +4479,41 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@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;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
-COMMIT;
+@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;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -4358,29 +4524,28 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=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=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+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;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -4390,48 +4555,48 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
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;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+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;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
@@ -4441,57 +4606,57 @@ SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+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;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+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;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+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;
+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;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -4503,7 +4668,7 @@ START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -4515,13 +4680,13 @@ START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -4531,53 +4696,59 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+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=TRUE;
-UPDATE foo SET bar=1;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.132000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.132000000Z'
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.257000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.257000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.132000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2020-11-06T18:52:41.132000000Z'
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.257000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2021-04-13T18:14:21.257000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+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=TRUE;
-UPDATE foo SET bar=1;
+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=TRUE;
-UPDATE foo SET bar=1;
+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=TRUE;
-UPDATE foo SET bar=1;
+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;
+SELECT 1 AS TEST;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -4593,29 +4764,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
+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;
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -4659,29 +4830,35 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+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;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
+@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;
@@ -4692,7 +4869,7 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
@@ -4841,14 +5018,14 @@ SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.178000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.178000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.313000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.313000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.178000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2020-11-06T18:52:41.178000000Z'
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.313000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2021-04-13T18:14:21.313000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
@@ -4871,6 +5048,11 @@ SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
@@ -4967,6 +5149,11 @@ RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+@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;
@@ -4980,131 +5167,141 @@ SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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;
-BEGIN TRANSACTION;
+COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -5116,62 +5313,72 @@ START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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;
-BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.209000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.209000000Z'
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.357000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.357000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.209000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.357000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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;
-BEGIN TRANSACTION;
+COMMIT;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -5187,29 +5394,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5253,66 +5460,72 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+COMMIT;
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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;
@@ -5322,166 +5535,145 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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 UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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 WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -5493,10 +5685,9 @@ START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -5508,18 +5699,16 @@ START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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;
@@ -5529,75 +5718,75 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.254000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.254000000Z'
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.419000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.419000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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 2020-11-06T18:52:41.254000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.419000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
+SET AUTOCOMMIT=FALSE;
+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;
@@ -5613,47 +5802,41 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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;
@@ -5697,43 +5880,45 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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_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;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -5744,219 +5929,240 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-@EXPECT UPDATE_COUNT 1
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-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;
-COMMIT;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+START BATCH DDL;
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;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.287000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.287000000Z'
-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 2021-04-13T18:14:21.477000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 2020-11-06T18:52:41.287000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.477000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+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);
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -5972,29 +6178,35 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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;
@@ -6038,320 +6250,241 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-@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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
+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=FALSE;
+SET AUTOCOMMIT=FALSE;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+START BATCH DDL;
+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;
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;
@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;
-@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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
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;
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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
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;
-@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;
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;
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
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;
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;
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;
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;
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;
@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;
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;
-@EXPECT RESULT_SET 'TEST',1
+@EXPECT EXCEPTION FAILED_PRECONDITION
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;
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;
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;
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
+@EXPECT EXCEPTION FAILED_PRECONDITION
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;
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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
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;
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;
@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);
@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;
-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;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+@EXPECT EXCEPTION FAILED_PRECONDITION
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 READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
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;
+@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;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.323000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.323000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.520000000Z';
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;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.323000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.520000000Z';
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;
+@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;
-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=FALSE;
SET AUTOCOMMIT=FALSE;
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='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;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+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 OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -6368,40 +6501,28 @@ 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;
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;
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;
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;
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;
@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 STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -6446,82 +6567,71 @@ 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;
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
+@EXPECT EXCEPTION FAILED_PRECONDITION
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;
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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
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;
-@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;
-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_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@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;
NEW_CONNECTION;
SET READONLY=FALSE;
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=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -6531,166 +6641,166 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@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=FALSE;
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=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
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=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=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=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=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@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=FALSE;
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=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
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=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=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@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=FALSE;
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=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
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=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+COMMIT;
+@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -6702,10 +6812,10 @@ START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -6717,18 +6827,18 @@ START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -6738,75 +6848,84 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.379000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.379000000Z'
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.566000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.566000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.379000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.566000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@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=FALSE;
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=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;
@@ -6822,47 +6941,47 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
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=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=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=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=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@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;
@@ -6906,43 +7025,51 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@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=FALSE;
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=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
+COMMIT;
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+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;
@@ -6953,239 +7080,206 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT UPDATE_COUNT 1
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@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
-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 TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.431000000Z';
+SET TRANSACTION READ ONLY;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.620000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.620000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.431000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.620000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -7201,35 +7295,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -7273,170 +7361,178 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+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=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+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=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+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=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@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';
+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;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7448,58 +7544,72 @@ START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.485000000Z';
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.679000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.679000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.485000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.679000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=FALSE;
-SELECT 1 AS TEST;
+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=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -7515,29 +7625,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -7581,54 +7691,76 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+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=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=FALSE;
+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=FALSE;
-SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -7638,103 +7770,166 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7746,7 +7941,10 @@ START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7758,12 +7956,18 @@ START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -7773,51 +7977,84 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.537000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.537000000Z'
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.778000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.778000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.537000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.778000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+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;
@@ -7833,29 +8070,47 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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;
@@ -7899,28 +8154,51 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+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;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -7931,197 +8209,336 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+@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;
+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 TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+@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;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@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=FALSE;
-SET TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.561000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.561000000Z'
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.885000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.885000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.561000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.885000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@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=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+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;
@@ -8137,29 +8554,47 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+BEGIN TRANSACTION;
+@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=FALSE;
-SET TRANSACTION READ ONLY;
+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;
@@ -8203,222 +8638,266 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+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 TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@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=FALSE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+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;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+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;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.592000000Z';
+BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:21.950000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:21.950000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.592000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:21.950000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -8434,29 +8913,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -8500,250 +8979,195 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
+SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
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=FALSE;
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=FALSE;
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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
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;
-COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@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;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-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;
-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;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@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=FALSE;
-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;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -8755,96 +9179,75 @@ START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
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;
-COMMIT;
+@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;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.648000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.648000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:22.004000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.648000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:22.004000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@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;
-BEGIN TRANSACTION;
@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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@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;
-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=FALSE;
+SET AUTOCOMMIT=FALSE;
+@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;
-COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -8860,47 +9263,35 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-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;
-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;
@@ -8944,281 +9335,246 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
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=FALSE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
@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);
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@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;
-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);
+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);
+SELECT 1 AS TEST;
@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);
+SELECT 1 AS TEST;
+@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);
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
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);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
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);
+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;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+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);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@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);
+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);
+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);
+SET AUTOCOMMIT=FALSE;
+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);
+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);
+SELECT 1 AS TEST;
@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);
+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);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@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);
+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);
+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);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@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);
+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);
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
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);
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
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);
+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);
+SELECT 1 AS TEST;
@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);
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+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;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
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);
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.697000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:22.065000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.697000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:22.065000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SELECT 1 AS TEST;
@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);
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SELECT 1 AS TEST;
+@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);
+SELECT 1 AS TEST;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -9234,35 +9590,29 @@ 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);
+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);
+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);
+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);
+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);
+SELECT 1 AS TEST;
@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);
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -9306,40 +9656,40 @@ 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);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@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);
+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);
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
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);
+SELECT 1 AS TEST;
+@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);
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@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);
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -9482,14 +9832,14 @@ SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.734000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.734000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:22.116000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:22.116000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.734000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:22.116000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -9510,6 +9860,11 @@ SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
@@ -9605,6 +9960,10 @@ RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -9618,194 +9977,208 @@ SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@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 AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@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 AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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=FALSE;
-BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.758000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.758000000Z'
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:22.181000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:22.181000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.758000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:22.181000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+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=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=FALSE;
+COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -9821,29 +10194,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -9887,54 +10260,66 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+COMMIT;
+@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;
-BEGIN TRANSACTION;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -9944,122 +10329,122 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -10069,51 +10454,57 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.790000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.790000000Z'
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:22.221000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:22.221000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.790000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:22.221000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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;
-COMMIT;
+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;
-COMMIT;
+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;
-COMMIT;
+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;
-COMMIT;
+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;
@@ -10129,29 +10520,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -10195,28 +10586,34 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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
@@ -10228,7 +10625,7 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -10481,8 +10878,8 @@ BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
ROLLBACK;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.834000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.834000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:22.271000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:22.271000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
@@ -10492,7 +10889,7 @@ BEGIN TRANSACTION;
SELECT 1 AS TEST;
ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.834000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:22.271000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -10529,6 +10926,15 @@ 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=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -10672,6 +11078,15 @@ 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=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -10690,227 +11105,319 @@ ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=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=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=FALSE;
+BEGIN TRANSACTION;
@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 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=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=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=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=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=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=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=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=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=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=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=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=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=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=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=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=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=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=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@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 AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@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 AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.873000000Z';
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:22.325000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:22.325000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.873000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:22.325000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@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 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';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@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 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=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=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;
@@ -10926,35 +11433,47 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=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=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;
@@ -10998,228 +11517,264 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=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=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
+COMMIT;
NEW_CONNECTION;
SET READONLY=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=FALSE;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-RUN BATCH;
+SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=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
+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;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+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=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.911000000Z';
+BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:22.371000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:22.371000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.911000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:22.371000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -11235,29 +11790,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -11301,233 +11856,271 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+BEGIN TRANSACTION;
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';
+@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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@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;
+@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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@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=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';
+@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=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';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
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';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@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=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';
+@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=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';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@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=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';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
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';
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+@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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
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;
+@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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.936000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.936000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:22.416000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.936000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:22.416000000Z';
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;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@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';
+@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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@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=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;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -11543,29 +12136,35 @@ SHOW VARIABLE OPTIMIZER_VERSION;
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';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
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';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -11609,347 +12208,241 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@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=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';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-BEGIN TRANSACTION;
+@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);
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
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;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=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=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=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=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=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=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=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=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=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=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=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=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=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=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=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=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=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=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=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=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=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@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;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.962000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.962000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:22.473000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.962000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:22.473000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@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;
-BEGIN TRANSACTION;
-@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 AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@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;
-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=FALSE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=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;
@@ -11965,47 +12458,29 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=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=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;
@@ -12049,58 +12524,40 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=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=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-COMMIT;
NEW_CONNECTION;
SET READONLY=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=FALSE;
-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);
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -12233,14 +12690,14 @@ SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2020-11-06T18:52:41.990000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2020-11-06T18:52:41.990000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2021-04-13T18:14:22.517000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2021-04-13T18:14:22.517000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2020-11-06T18:52:41.990000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2021-04-13T18:14:22.517000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -12261,6 +12718,11 @@ SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SHOW VARIABLE COMMIT_RESPONSE;
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
@@ -12356,6 +12818,11 @@ RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET TRANSACTION_TAG = 'some-tag';
+NEW_CONNECTION;
+SET READONLY=TRUE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION