diff --git a/google-cloud-spanner/clirr-ignored-differences.xml b/google-cloud-spanner/clirr-ignored-differences.xml
index 637ca06280a..aa248f2b872 100644
--- a/google-cloud-spanner/clirr-ignored-differences.xml
+++ b/google-cloud-spanner/clirr-ignored-differences.xml
@@ -222,4 +222,24 @@
com/google/cloud/spanner/connection/Connection
com.google.cloud.spanner.ResultSet analyzeUpdateStatement(com.google.cloud.spanner.Statement, com.google.cloud.spanner.ReadContext$QueryAnalyzeMode, com.google.cloud.spanner.Options$UpdateOption[])
+
+ 7012
+ com/google/cloud/spanner/connection/Connection
+ com.google.cloud.spanner.connection.IsolationLevel getDefaultIsolationLevel()
+
+
+ 7012
+ com/google/cloud/spanner/connection/Connection
+ void setDefaultIsolationLevel(com.google.cloud.spanner.connection.IsolationLevel)
+
+
+ 7012
+ com/google/cloud/spanner/connection/Connection
+ com.google.cloud.spanner.connection.IsolationLevel getTransactionIsolationLevel()
+
+
+ 7012
+ com/google/cloud/spanner/connection/Connection
+ void setTransactionIsolationLevel(com.google.cloud.spanner.connection.IsolationLevel)
+
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractMultiUseTransaction.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractMultiUseTransaction.java
index 88dabb7763b..25b6daf2a2c 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractMultiUseTransaction.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/AbstractMultiUseTransaction.java
@@ -53,7 +53,7 @@ public boolean isActive() {
* Check that the current transaction actually has a valid underlying transaction. If not, the
* method will throw a {@link SpannerException}.
*/
- abstract void checkValidTransaction();
+ abstract void checkValidTransaction(ParsedStatement statement);
/** Returns the {@link ReadContext} that can be used for queries on this transaction. */
abstract ReadContext getReadContext();
@@ -63,7 +63,7 @@ public ApiFuture executeQueryAsync(
final AnalyzeMode analyzeMode,
final QueryOption... options) {
Preconditions.checkArgument(statement.isQuery(), "Statement is not a query");
- checkValidTransaction();
+ checkValidTransaction(statement);
return executeStatementAsync(
statement,
() -> {
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementValueConverters.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementValueConverters.java
index 1c834ada10c..3569f08638c 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementValueConverters.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ClientSideStatementValueConverters.java
@@ -401,6 +401,11 @@ public PgTransactionMode convert(String value) {
.startsWith("isolation level serializable")) {
currentIndex += "isolation level serializable".length();
mode.setIsolationLevel(IsolationLevel.ISOLATION_LEVEL_SERIALIZABLE);
+ } else if (valueWithSingleSpaces
+ .substring(currentIndex)
+ .startsWith("isolation level read committed")) {
+ currentIndex += "isolation level read committed".length();
+ mode.setIsolationLevel(IsolationLevel.ISOLATION_LEVEL_READ_COMMITTED);
} else if (valueWithSingleSpaces
.substring(currentIndex)
.startsWith("isolation level default")) {
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 beb36f1b564..e45ad1dd97f 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
@@ -200,6 +200,33 @@ public interface Connection extends AutoCloseable {
/** @return true if this connection is in read-only mode */
boolean isReadOnly();
+ /** Sets the default isolation level to use for new read/write transactions. */
+ default void setDefaultIsolationLevel(IsolationLevel isolationLevel) {
+ throw new UnsupportedOperationException();
+ }
+
+ /** Returns the default isolation level that is used for new read/write transactions. */
+ default IsolationLevel getDefaultIsolationLevel() {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * Sets the isolation level to use for current transaction. This method may only be called when in
+ * a transaction, and before the transaction is actually started, i.e. before any statements have
+ * been executed in the transaction.
+ */
+ default void setTransactionIsolationLevel(IsolationLevel isolationLevel) {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @return the transaction isolation level of the current transaction. This method may only be
+ * called when the connection is in a transaction.
+ */
+ default IsolationLevel getTransactionIsolationLevel() {
+ throw new UnsupportedOperationException();
+ }
+
/**
* Sets the duration the connection should wait before automatically aborting the execution of a
* statement. The default is no timeout. Statement timeouts are applied all types of statements,
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 ad52cc5da64..3c57fa98e24 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
@@ -190,6 +190,8 @@ static UnitOfWorkType of(TransactionMode transactionMode) {
private DatabaseClient dbClient;
private boolean autocommit;
private boolean readOnly;
+ private IsolationLevel defaultIsolationLevel = IsolationLevel.SERIALIZABLE;
+ private IsolationLevel transactionIsolationLevel = IsolationLevel.SERIALIZABLE;
private boolean returnCommitStats;
private UnitOfWork currentUnitOfWork = null;
@@ -230,6 +232,7 @@ static UnitOfWorkType of(TransactionMode transactionMode) {
this.dbClient = spanner.getDatabaseClient(options.getDatabaseId());
this.retryAbortsInternally = options.isRetryAbortsInternally();
this.readOnly = options.isReadOnly();
+ this.defaultIsolationLevel = options.getDefaultIsolationLevel();
this.autocommit = options.isAutocommit();
this.queryOptions = this.queryOptions.toBuilder().mergeFrom(options.getQueryOptions()).build();
this.rpcPriority = options.getRPCPriority();
@@ -256,6 +259,7 @@ static UnitOfWorkType of(TransactionMode transactionMode) {
this.ddlClient = ddlClient;
this.dbClient = dbClient;
setReadOnly(options.isReadOnly());
+ setDefaultIsolationLevel(options.getDefaultIsolationLevel());
setAutocommit(options.isAutocommit());
setReturnCommitStats(options.isReturnCommitStats());
setDefaultTransactionOptions();
@@ -398,23 +402,69 @@ private boolean internalIsAutocommit() {
@Override
public void setReadOnly(boolean readOnly) {
+ checkValidStateForChangingDefaultTransactionOptions("read-only");
+ this.readOnly = readOnly;
+ clearLastTransactionAndSetDefaultTransactionOptions();
+ }
+
+ @Override
+ public boolean isReadOnly() {
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ return this.readOnly;
+ }
+
+ @Override
+ public void setDefaultIsolationLevel(IsolationLevel defaultIsolationLevel) {
+ checkValidStateForChangingDefaultTransactionOptions("default isolation level");
+ checkSupportedIsolationLevel(Preconditions.checkNotNull(defaultIsolationLevel));
+ this.defaultIsolationLevel = defaultIsolationLevel;
+ clearLastTransactionAndSetDefaultTransactionOptions();
+ }
+
+ @Override
+ public IsolationLevel getDefaultIsolationLevel() {
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ return this.defaultIsolationLevel;
+ }
+
+ private void checkSupportedIsolationLevel(IsolationLevel isolationLevel) {
+ if (!(isolationLevel == IsolationLevel.READ_COMMITTED
+ || isolationLevel == IsolationLevel.SERIALIZABLE)) {
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.INVALID_ARGUMENT,
+ String.format(
+ "Only isolation levels %s and %s are supported",
+ IsolationLevel.READ_COMMITTED, IsolationLevel.SERIALIZABLE));
+ }
+ }
+
+ private void checkValidStateForChangingDefaultTransactionOptions(String property) {
ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
- ConnectionPreconditions.checkState(!isBatchActive(), "Cannot set read-only while in a batch");
ConnectionPreconditions.checkState(
- !isTransactionStarted(), "Cannot set read-only while a transaction is active");
+ !isBatchActive(), String.format("Cannot set %s while in a batch", property));
+ ConnectionPreconditions.checkState(
+ !isTransactionStarted(),
+ String.format("Cannot set %s while a transaction is active", property));
ConnectionPreconditions.checkState(
!(isAutocommit() && isInTransaction()),
- "Cannot set read-only while in a temporary transaction");
+ String.format("Cannot set default %s in a temporary transaction", property));
ConnectionPreconditions.checkState(
- !transactionBeginMarked, "Cannot set read-only when a transaction has begun");
- this.readOnly = readOnly;
- clearLastTransactionAndSetDefaultTransactionOptions();
+ !transactionBeginMarked,
+ String.format("Cannot set %s when a transaction has begun", property));
}
@Override
- public boolean isReadOnly() {
+ public void setTransactionIsolationLevel(IsolationLevel isolationLevel) {
+ checkValidStateForSetTransactionOption("isolation level");
+ checkSupportedIsolationLevel(Preconditions.checkNotNull(defaultIsolationLevel));
+ this.transactionBeginMarked = true;
+ this.transactionIsolationLevel = isolationLevel;
+ }
+
+ @Override
+ public IsolationLevel getTransactionIsolationLevel() {
ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
- return this.readOnly;
+ return this.transactionIsolationLevel;
}
private void clearLastTransactionAndSetDefaultTransactionOptions() {
@@ -558,13 +608,7 @@ public TransactionMode getTransactionMode() {
@Override
public void setTransactionMode(TransactionMode transactionMode) {
Preconditions.checkNotNull(transactionMode);
- ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
- ConnectionPreconditions.checkState(
- !isBatchActive(), "Cannot set transaction mode while in a batch");
- ConnectionPreconditions.checkState(isInTransaction(), "This connection has no transaction");
- ConnectionPreconditions.checkState(
- !isTransactionStarted(),
- "The transaction mode cannot be set after the transaction has started");
+ checkValidStateForSetTransactionOption("transaction mode");
ConnectionPreconditions.checkState(
!isReadOnly() || transactionMode == TransactionMode.READ_ONLY_TRANSACTION,
"The transaction mode can only be READ_ONLY when the connection is in read_only mode");
@@ -582,13 +626,7 @@ public String getTransactionTag() {
@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");
+ checkValidStateForSetTransactionOption("transaction tag");
ConnectionPreconditions.checkState(
getTransactionMode() == TransactionMode.READ_WRITE_TRANSACTION,
"Transaction tag can only be set for a read/write transaction");
@@ -597,6 +635,16 @@ public void setTransactionTag(String tag) {
this.transactionTag = tag;
}
+ private void checkValidStateForSetTransactionOption(String property) {
+ ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
+ ConnectionPreconditions.checkState(
+ !isBatchActive(), String.format("Cannot set %s while in a batch", property));
+ ConnectionPreconditions.checkState(isInTransaction(), "This connection has no transaction");
+ ConnectionPreconditions.checkState(
+ !isTransactionStarted(),
+ String.format("The %s cannot be set after the transaction has started", property));
+ }
+
@Override
public String getStatementTag() {
ConnectionPreconditions.checkState(!isClosed(), CLOSED_ERROR_MSG);
@@ -745,6 +793,7 @@ private void setDefaultTransactionOptions() {
? UnitOfWorkType.READ_ONLY_TRANSACTION
: UnitOfWorkType.READ_WRITE_TRANSACTION;
batchMode = BatchMode.NONE;
+ transactionIsolationLevel = defaultIsolationLevel;
transactionTag = null;
} else {
popUnitOfWorkFromTransactionStack();
@@ -1301,6 +1350,7 @@ UnitOfWork createNewUnitOfWork() {
case READ_WRITE_TRANSACTION:
return ReadWriteTransaction.newBuilder()
.setDatabaseClient(dbClient)
+ .setIsolationLevel(defaultIsolationLevel)
.setRetryAbortsInternally(retryAbortsInternally)
.setReturnCommitStats(returnCommitStats)
.setTransactionRetryListeners(transactionRetryListeners)
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionOptions.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionOptions.java
index e44a99c1ecc..8a02c5857ba 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionOptions.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionOptions.java
@@ -158,6 +158,7 @@ public String[] getValidValues() {
private static final boolean DEFAULT_USE_PLAIN_TEXT = false;
static final boolean DEFAULT_AUTOCOMMIT = true;
static final boolean DEFAULT_READONLY = false;
+ static final IsolationLevel DEFAULT_ISOLATION_LEVEL = IsolationLevel.SERIALIZABLE;
static final boolean DEFAULT_RETRY_ABORTS_INTERNALLY = true;
private static final String DEFAULT_CREDENTIALS = null;
private static final String DEFAULT_OAUTH_TOKEN = null;
@@ -183,6 +184,8 @@ public String[] getValidValues() {
public static final String AUTOCOMMIT_PROPERTY_NAME = "autocommit";
/** Name of the 'readonly' connection property. */
public static final String READONLY_PROPERTY_NAME = "readonly";
+ /** Name of the 'defaultIsolationLevel' connection property. */
+ public static final String DEFAULT_ISOLATION_LEVEL_PROPERTY_NAME = "defaultIsolationLevel";
/** Name of the 'retry aborts internally' connection property. */
public static final String RETRY_ABORTS_INTERNALLY_PROPERTY_NAME = "retryAbortsInternally";
/** Name of the 'credentials' connection property. */
@@ -231,6 +234,11 @@ public String[] getValidValues() {
READONLY_PROPERTY_NAME,
"Should the connection start in read-only mode (true/false)",
DEFAULT_READONLY),
+ ConnectionProperty.createStringProperty(
+ DEFAULT_ISOLATION_LEVEL_PROPERTY_NAME,
+ String.format(
+ "The default isolation level to use for new transactions on this connection. Must be one of %s",
+ IsolationLevel.getValidNames())),
ConnectionProperty.createBooleanProperty(
RETRY_ABORTS_INTERNALLY_PROPERTY_NAME,
"Should the connection automatically retry Aborted errors (true/false)",
@@ -547,6 +555,7 @@ public static Builder newBuilder() {
private final boolean autocommit;
private final boolean readOnly;
+ private final IsolationLevel defaultIsolationLevel;
private final boolean retryAbortsInternally;
private final List statementExecutionInterceptors;
private final SpannerOptionsConfigurator configurator;
@@ -636,6 +645,7 @@ private ConnectionOptions(Builder builder) {
this.autocommit = parseAutocommit(this.uri);
this.readOnly = parseReadOnly(this.uri);
+ this.defaultIsolationLevel = parseDefaultIsolationLevel(this.uri);
this.retryAbortsInternally = parseRetryAbortsInternally(this.uri);
this.statementExecutionInterceptors =
Collections.unmodifiableList(builder.statementExecutionInterceptors);
@@ -719,6 +729,20 @@ static boolean parseReadOnly(String uri) {
return value != null ? Boolean.parseBoolean(value) : DEFAULT_READONLY;
}
+ @VisibleForTesting
+ static @Nullable IsolationLevel parseDefaultIsolationLevel(String uri) {
+ String value = parseUriProperty(uri, DEFAULT_ISOLATION_LEVEL_PROPERTY_NAME);
+ try {
+ return value != null ? IsolationLevel.valueOf(value.toUpperCase()) : DEFAULT_ISOLATION_LEVEL;
+ } catch (IllegalArgumentException exception) {
+ throw SpannerExceptionFactory.newSpannerException(
+ ErrorCode.INVALID_ARGUMENT,
+ String.format(
+ "Invalid value for %s: %s\nValue must be one of %s",
+ DEFAULT_ISOLATION_LEVEL_PROPERTY_NAME, value, IsolationLevel.getValidNames()));
+ }
+ }
+
@VisibleForTesting
static boolean parseRetryAbortsInternally(String uri) {
String value = parseUriProperty(uri, RETRY_ABORTS_INTERNALLY_PROPERTY_NAME);
@@ -1026,6 +1050,14 @@ public boolean isReadOnly() {
return readOnly;
}
+ /**
+ * The initial default {@link IsolationLevel} for connections created by this {@link
+ * ConnectionOptions}
+ */
+ public IsolationLevel getDefaultIsolationLevel() {
+ return defaultIsolationLevel;
+ }
+
/**
* The initial retryAbortsInternally value for connections created by this {@link
* ConnectionOptions}
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 c076ea702ab..7053d783698 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
@@ -92,7 +92,7 @@ interface ConnectionStatementExecutor {
StatementResult statementRollback();
- StatementResult statementSetTransactionMode(TransactionMode mode);
+ StatementResult statementSetTransactionMode(PgTransactionMode mode);
StatementResult statementSetPgTransactionMode(PgTransactionMode transactionMode);
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 2c1084ec4c0..1c15886261f 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
@@ -367,9 +367,10 @@ public StatementResult statementRollback() {
}
@Override
- public StatementResult statementSetTransactionMode(TransactionMode mode) {
- getConnection().setTransactionMode(mode);
- return noResult(SET_TRANSACTION_MODE);
+ public StatementResult statementSetTransactionMode(PgTransactionMode mode) {
+ return statementSetPgTransactionMode(mode);
+ // getConnection().setTransactionMode(mode);
+ // return noResult(SET_TRANSACTION_MODE);
}
@Override
@@ -386,6 +387,11 @@ public StatementResult statementSetPgTransactionMode(PgTransactionMode transacti
// no-op
}
}
+ if (transactionMode.getIsolationLevel() != null) {
+ getConnection()
+ .setTransactionIsolationLevel(
+ transactionMode.getIsolationLevel().getSpannerIsolationLevel());
+ }
return noResult(SET_TRANSACTION_MODE);
}
@@ -404,12 +410,16 @@ public StatementResult statementSetPgSessionCharacteristicsTransactionMode(
// no-op
}
}
+ if (transactionMode.getIsolationLevel() != null) {
+ getConnection()
+ .setDefaultIsolationLevel(transactionMode.getIsolationLevel().getSpannerIsolationLevel());
+ }
return noResult(SET_TRANSACTION_MODE);
}
@Override
public StatementResult statementSetPgDefaultTransactionIsolation(IsolationLevel isolationLevel) {
- // no-op
+ getConnection().setDefaultIsolationLevel(isolationLevel.getSpannerIsolationLevel());
return noResult(SET_DEFAULT_TRANSACTION_ISOLATION);
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/FailedBatchUpdate.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/FailedBatchUpdate.java
index 42f270d9f85..17e8296a819 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/FailedBatchUpdate.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/FailedBatchUpdate.java
@@ -57,7 +57,7 @@ public void retry(AbortedException aborted) throws AbortedException {
.invokeInterceptors(
RUN_BATCH_STATEMENT, StatementExecutionStep.RETRY_STATEMENT, transaction);
try {
- transaction.getReadContext().batchUpdate(statements);
+ transaction.getTransactionContext().batchUpdate(statements);
} catch (AbortedException e) {
// Propagate abort to force a new retry.
throw e;
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/FailedUpdate.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/FailedUpdate.java
index 5c184e20d3b..0fdeec5cf71 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/FailedUpdate.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/FailedUpdate.java
@@ -53,7 +53,7 @@ public void retry(AbortedException aborted) throws AbortedException {
transaction
.getStatementExecutor()
.invokeInterceptors(statement, StatementExecutionStep.RETRY_STATEMENT, transaction);
- transaction.getReadContext().executeUpdate(statement.getStatement());
+ transaction.getTransactionContext().executeUpdate(statement.getStatement());
} catch (AbortedException e) {
// Propagate abort to force a new retry.
throw e;
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/IsolationLevel.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/IsolationLevel.java
new file mode 100644
index 00000000000..66d51ace426
--- /dev/null
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/IsolationLevel.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2022 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 java.util.Arrays;
+import java.util.stream.Collectors;
+
+/** The isolation level to use for read/write transactions. */
+public enum IsolationLevel {
+ READ_UNCOMMITTED,
+ READ_COMMITTED,
+ REPEATABLE_READ,
+ SERIALIZABLE;
+
+ static String getValidNames() {
+ return Arrays.stream(IsolationLevel.values()).map(Enum::toString).collect(Collectors.joining());
+ }
+}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/PgTransactionMode.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/PgTransactionMode.java
index 8881d2191df..aa99e1a62c5 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/PgTransactionMode.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/PgTransactionMode.java
@@ -40,17 +40,36 @@ public String toString() {
}
enum IsolationLevel {
- ISOLATION_LEVEL_DEFAULT("ISOLATION LEVEL DEFAULT", "DEFAULT"),
- ISOLATION_LEVEL_SERIALIZABLE("ISOLATION LEVEL SERIALIZABLE", "SERIALIZABLE");
-
+ ISOLATION_LEVEL_DEFAULT(
+ com.google.cloud.spanner.connection.IsolationLevel.SERIALIZABLE,
+ "ISOLATION LEVEL DEFAULT",
+ "DEFAULT"),
+ ISOLATION_LEVEL_SERIALIZABLE(
+ com.google.cloud.spanner.connection.IsolationLevel.SERIALIZABLE,
+ "ISOLATION LEVEL SERIALIZABLE",
+ "SERIALIZABLE"),
+ ISOLATION_LEVEL_READ_COMMITTED(
+ com.google.cloud.spanner.connection.IsolationLevel.READ_COMMITTED,
+ "ISOLATION LEVEL READ COMMITTED",
+ "READ COMMITTED");
+
+ private final com.google.cloud.spanner.connection.IsolationLevel spannerIsolationLevel;
private final String statementString;
private final String shortStatementString;
- IsolationLevel(String statement, String shortStatementString) {
+ IsolationLevel(
+ com.google.cloud.spanner.connection.IsolationLevel spannerIsolationLevel,
+ String statement,
+ String shortStatementString) {
+ this.spannerIsolationLevel = spannerIsolationLevel;
this.statementString = statement;
this.shortStatementString = shortStatementString;
}
+ public com.google.cloud.spanner.connection.IsolationLevel getSpannerIsolationLevel() {
+ return this.spannerIsolationLevel;
+ }
+
/**
* Use this method to get the correct format for use in a SQL statement. The SQL statement for
* setting the mode to read-only should for example be without the underscore:
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 e391819c427..60d3c86ad7f 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
@@ -94,7 +94,7 @@ void checkAborted() {
}
@Override
- void checkValidTransaction() {
+ void checkValidTransaction(ParsedStatement statement) {
if (transaction == null) {
transaction = dbClient.readOnlyTransaction(readOnlyStaleness);
}
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 169ca1e529a..0f3240a6e67 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
@@ -39,6 +39,7 @@
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.ReadContext;
import com.google.cloud.spanner.ResultSet;
import com.google.cloud.spanner.SpannerException;
import com.google.cloud.spanner.SpannerExceptionFactory;
@@ -52,6 +53,7 @@
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.spanner.v1.SpannerGrpc;
import java.util.ArrayList;
@@ -80,12 +82,14 @@ class ReadWriteTransaction extends AbstractMultiUseTransaction {
private static final int MAX_INTERNAL_RETRIES = 50;
private final long transactionId;
private final DatabaseClient dbClient;
+ private final IsolationLevel isolationLevel;
private final TransactionManager txManager;
private final boolean retryAbortsInternally;
private int transactionRetryAttempts;
private int successfulRetries;
private final List transactionRetryListeners;
private volatile ApiFuture txContextFuture;
+ private boolean canUseSingleUseRead;
private volatile SettableApiFuture commitResponseFuture;
private volatile UnitOfWorkState state = UnitOfWorkState.STARTED;
private volatile AbortedException abortedException;
@@ -97,6 +101,7 @@ class ReadWriteTransaction extends AbstractMultiUseTransaction {
static class Builder extends AbstractMultiUseTransaction.Builder {
private DatabaseClient dbClient;
+ private IsolationLevel isolationLevel = IsolationLevel.SERIALIZABLE;
private Boolean retryAbortsInternally;
private boolean returnCommitStats;
private List transactionRetryListeners;
@@ -109,6 +114,11 @@ Builder setDatabaseClient(DatabaseClient client) {
return this;
}
+ Builder setIsolationLevel(IsolationLevel isolationLevel) {
+ this.isolationLevel = Preconditions.checkNotNull(isolationLevel);
+ return this;
+ }
+
Builder setRetryAbortsInternally(boolean retryAbortsInternally) {
this.retryAbortsInternally = retryAbortsInternally;
return this;
@@ -144,6 +154,7 @@ private ReadWriteTransaction(Builder builder) {
super(builder);
this.transactionId = ID_GENERATOR.incrementAndGet();
this.dbClient = builder.dbClient;
+ this.isolationLevel = builder.isolationLevel;
this.retryAbortsInternally = builder.retryAbortsInternally;
this.transactionRetryListeners = builder.transactionRetryListeners;
this.txManager = dbClient.transactionManager(extractOptions(builder));
@@ -179,6 +190,8 @@ public String toString() {
return new StringBuilder()
.append("ReadWriteTransaction - ID: ")
.append(transactionId)
+ .append("; Isolation level: ")
+ .append(isolationLevel)
.append("; Tag: ")
.append(Strings.nullToEmpty(transactionTag))
.append("; Status: ")
@@ -211,13 +224,22 @@ public boolean isReadOnly() {
}
@Override
- void checkValidTransaction() {
+ void checkValidTransaction(ParsedStatement statement) {
checkValidState();
- if (txContextFuture == null) {
+ if (transactionStarted == null) {
transactionStarted = Timestamp.now();
+ }
+ if (txContextFuture == null
+ && (isolationLevel.ordinal() > IsolationLevel.READ_COMMITTED.ordinal()
+ || (statement != null && statement.isUpdate())
+ || (statement == COMMIT_STATEMENT && !mutations.isEmpty()))) {
+ canUseSingleUseRead = false;
txContextFuture =
executeStatementAsync(
- BEGIN_STATEMENT, () -> txManager.begin(), SpannerGrpc.getBeginTransactionMethod());
+ BEGIN_STATEMENT, txManager::begin, SpannerGrpc.getBeginTransactionMethod());
+ } else if (txContextFuture == null
+ && isolationLevel.ordinal() <= IsolationLevel.READ_COMMITTED.ordinal()) {
+ canUseSingleUseRead = true;
}
}
@@ -275,11 +297,19 @@ void checkAborted() {
}
@Override
- TransactionContext getReadContext() {
+ ReadContext getReadContext() {
+ if (txContextFuture == null && canUseSingleUseRead) {
+ return dbClient.singleUse();
+ }
ConnectionPreconditions.checkState(txContextFuture != null, "Missing transaction context");
return get(txContextFuture);
}
+ TransactionContext getTransactionContext() {
+ ConnectionPreconditions.checkState(txContextFuture != null, "Missing transaction context");
+ return (TransactionContext) getReadContext();
+ }
+
@Override
public Timestamp getReadTimestamp() {
throw SpannerExceptionFactory.newSpannerException(
@@ -343,10 +373,10 @@ public ApiFuture executeQueryAsync(
(statement.getType() == StatementType.QUERY)
|| (statement.getType() == StatementType.UPDATE && statement.hasReturningClause()),
"Statement must be a query or DML with returning clause");
- checkValidTransaction();
+ checkValidTransaction(statement);
ApiFuture res;
- if (retryAbortsInternally) {
+ if (retryAbortsInternally && txContextFuture != null) {
res =
executeStatementAsync(
statement,
@@ -430,7 +460,7 @@ private ApiFuture> internalExecuteUpdateAsync(
ParsedStatement update, AnalyzeMode analyzeMode, UpdateOption... options) {
Preconditions.checkNotNull(update);
Preconditions.checkArgument(update.isUpdate(), "The statement is not an update statement");
- checkValidTransaction();
+ checkValidTransaction(update);
ApiFuture> res;
if (retryAbortsInternally) {
res =
@@ -524,7 +554,7 @@ public ApiFuture executeBatchUpdateAsync(
"Statement is not an update statement: " + update.getSqlWithoutComments());
updateStatements.add(update.getStatement());
}
- checkValidTransaction();
+ checkValidTransaction(Iterables.getFirst(updates, null));
ApiFuture res;
if (retryAbortsInternally) {
@@ -587,7 +617,8 @@ public void onSuccess(long[] result) {}
@Override
public ApiFuture writeAsync(Iterable mutations) {
Preconditions.checkNotNull(mutations);
- checkValidTransaction();
+ // We actually don't need a transaction yet, as mutations are buffered until commit.
+ checkValidTransaction(null);
for (Mutation mutation : mutations) {
this.mutations.add(checkNotNull(mutation));
}
@@ -609,11 +640,20 @@ public Void call() {
@Override
public ApiFuture commitAsync() {
- checkValidTransaction();
+ checkValidTransaction(COMMIT_STATEMENT);
state = UnitOfWorkState.COMMITTING;
commitResponseFuture = SettableApiFuture.create();
ApiFuture res;
- if (retryAbortsInternally) {
+ // Check if this transaction actually needs to commit anything.
+ if (txContextFuture == null) {
+ // No actual transaction was started by this read/write transaction, which also means that we
+ // don't have to commit anything.
+ commitResponseFuture.set(
+ new CommitResponse(
+ Timestamp.fromProto(com.google.protobuf.Timestamp.getDefaultInstance())));
+ res = SettableApiFuture.create();
+ ((SettableApiFuture) res).set(null);
+ } else if (retryAbortsInternally) {
res =
executeStatementAsync(
COMMIT_STATEMENT,
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 194200faae2..364346fd1d4 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
@@ -58,7 +58,7 @@ public void retry(AbortedException aborted) throws AbortedException {
.getStatementExecutor()
.invokeInterceptors(
RUN_BATCH_STATEMENT, StatementExecutionStep.RETRY_STATEMENT, transaction);
- newCount = transaction.getReadContext().batchUpdate(statements, options);
+ newCount = transaction.getTransactionContext().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 68568a4428e..c5488f1ce98 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
@@ -56,11 +56,12 @@ public void retry(AbortedException aborted) throws AbortedException {
.getStatementExecutor()
.invokeInterceptors(statement, StatementExecutionStep.RETRY_STATEMENT, transaction);
if (analyzeMode == AnalyzeMode.NONE) {
- newCount = transaction.getReadContext().executeUpdate(statement.getStatement(), options);
+ newCount =
+ transaction.getTransactionContext().executeUpdate(statement.getStatement(), options);
} else {
newCount =
transaction
- .getReadContext()
+ .getTransactionContext()
.analyzeUpdate(statement.getStatement(), analyzeMode.getQueryAnalyzeMode())
.getRowCountExact();
}
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 860c0238e06..7415fe9e71a 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
@@ -284,21 +284,39 @@
}
},
{
- "name": "SET TRANSACTION READ ONLY|READ WRITE",
+ "name": "SET TRANSACTION READ ONLY|READ WRITE|ISOLATION LEVEL SERIALIZABLE|ISOLATION LEVEL READ COMMITTED",
"executorName": "ClientSideStatementSetExecutor",
"resultType": "NO_RESULT",
"statementType": "SET_TRANSACTION_MODE",
"regex": "(?is)\\A\\s*set\\s+transaction\\s*(?:\\s+)\\s*(.*)\\z",
"method": "statementSetTransactionMode",
- "exampleStatements": ["set transaction read only", "set transaction read write"],
+ "exampleStatements": ["set transaction read only", "set transaction read write", "set transaction isolation level serializable", "set transaction isolation level read committed"],
"examplePrerequisiteStatements": ["set autocommit = false"],
"setStatement": {
"propertyName": "TRANSACTION",
"separator": "\\s+",
- "allowedValues": "(READ\\s+ONLY|READ\\s+WRITE)",
- "converterName": "ClientSideStatementValueConverters$TransactionModeConverter"
+ "allowedValues": "(READ\\s+ONLY|READ\\s+WRITE|ISOLATION\\s+LEVEL\\s+SERIALIZABLE|ISOLATION\\s+LEVEL\\s+READ\\s+COMMITTED)",
+ "converterName": "ClientSideStatementValueConverters$PgTransactionModeConverter"
}
},
+ {
+ "name": "SET DEFAULT_TRANSACTION_ISOLATION = 'SERIALIZABLE'|'READ COMMITTED'",
+ "executorName": "ClientSideStatementSetExecutor",
+ "resultType": "NO_RESULT",
+ "statementType": "SET_DEFAULT_TRANSACTION_ISOLATION",
+ "regex": "(?is)\\A\\s*set\\s+default_transaction_isolation(?:\\s*=\\s*)(.*)\\z",
+ "method": "statementSetPgDefaultTransactionIsolation",
+ "exampleStatements": [
+ "set default_transaction_isolation='serializable'",
+ "set default_transaction_isolation='read committed'"
+ ],
+ "setStatement": {
+ "propertyName": "default_transaction_isolation",
+ "separator": "=",
+ "allowedValues": "('SERIALIZABLE'|'READ\\s+COMMITTED')",
+ "converterName": "ClientSideStatementValueConverters$PgTransactionIsolationConverter"
+ }
+ },
{
"name": "SET READ_ONLY_STALENESS = 'STRONG' | 'MIN_READ_TIMESTAMP ' | 'READ_TIMESTAMP ' | 'MAX_STALENESS s|ms|us|ns' | 'EXACT_STALENESS (s|ms|us|ns)'",
"executorName": "ClientSideStatementSetExecutor",
diff --git a/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/PG_ClientSideStatements.json b/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/PG_ClientSideStatements.json
index af1fc59f4a2..f81aa37902c 100644
--- a/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/PG_ClientSideStatements.json
+++ b/google-cloud-spanner/src/main/resources/com/google/cloud/spanner/connection/PG_ClientSideStatements.json
@@ -348,41 +348,41 @@
}
},
{
- "name": "SET TRANSACTION { (READ ONLY|READ WRITE) [[,] (ISOLATION LEVEL (DEFAULT|SERIALIZABLE))] }",
+ "name": "SET TRANSACTION { (READ ONLY|READ WRITE) [[,] (ISOLATION LEVEL (DEFAULT|SERIALIZABLE|READ COMMITTED))] }",
"executorName": "ClientSideStatementSetExecutor",
"resultType": "NO_RESULT",
"statementType": "SET_TRANSACTION_MODE",
"regex": "(?is)\\A\\s*set\\s+transaction\\s*(?:\\s+)\\s*(.*)\\z",
"method": "statementSetPgTransactionMode",
- "exampleStatements": ["set transaction read only", "set transaction read write", "set transaction isolation level default", "set transaction isolation level serializable"],
+ "exampleStatements": ["set transaction read only", "set transaction read write", "set transaction isolation level default", "set transaction isolation level serializable", "set transaction isolation level read committed"],
"examplePrerequisiteStatements": ["set autocommit = false"],
"setStatement": {
"propertyName": "TRANSACTION",
"separator": "\\s+",
- "allowedValues": "(((?:\\s*|\\s*,\\s*)READ\\s+ONLY|(?:\\s*|\\s*,\\s*)READ\\s+WRITE|(?:\\s*|\\s*,\\s*)ISOLATION\\s+LEVEL\\s+DEFAULT|(?:\\s*|\\s*,\\s*)ISOLATION\\s+LEVEL\\s+SERIALIZABLE)+)",
+ "allowedValues": "(((?:\\s*|\\s*,\\s*)READ\\s+ONLY|(?:\\s*|\\s*,\\s*)READ\\s+WRITE|(?:\\s*|\\s*,\\s*)ISOLATION\\s+LEVEL\\s+DEFAULT|(?:\\s*|\\s*,\\s*)ISOLATION\\s+LEVEL\\s+SERIALIZABLE|(?:\\s*|\\s*,\\s*)ISOLATION\\s+LEVEL\\s+READ\\s+COMMITTED)+)",
"converterName": "ClientSideStatementValueConverters$PgTransactionModeConverter"
}
},
{
- "name": "SET SESSION CHARACTERISTICS AS TRANSACTION { (READ ONLY|READ WRITE) [[,] (ISOLATION LEVEL (DEFAULT|SERIALIZABLE))] }",
+ "name": "SET SESSION CHARACTERISTICS AS TRANSACTION { (READ ONLY|READ WRITE) [[,] (ISOLATION LEVEL (DEFAULT|SERIALIZABLE|READ COMMITTED))] }",
"executorName": "ClientSideStatementSetExecutor",
"resultType": "NO_RESULT",
"statementType": "SET_READONLY",
"regex": "(?is)\\A\\s*set\\s+session\\s+characteristics\\s+as\\s+transaction\\s*(?:\\s+)\\s*(.*)\\z",
"method": "statementSetPgSessionCharacteristicsTransactionMode",
- "exampleStatements": ["set session characteristics as transaction read only", "set session characteristics as transaction read write", "set session characteristics as transaction isolation level default", "set session characteristics as transaction isolation level serializable"],
+ "exampleStatements": ["set session characteristics as transaction read only", "set session characteristics as transaction read write", "set session characteristics as transaction isolation level default", "set session characteristics as transaction isolation level serializable", "set session characteristics as transaction isolation level read committed"],
"setStatement": {
"propertyName": "SESSION\\s+CHARACTERISTICS\\s+AS\\s+TRANSACTION",
"separator": "\\s+",
- "allowedValues": "(((?:\\s*|\\s*,\\s*)READ\\s+ONLY|(?:\\s*|\\s*,\\s*)READ\\s+WRITE|(?:\\s*|\\s*,\\s*)ISOLATION\\s+LEVEL\\s+DEFAULT|(?:\\s*|\\s*,\\s*)ISOLATION\\s+LEVEL\\s+SERIALIZABLE)+)",
+ "allowedValues": "(((?:\\s*|\\s*,\\s*)READ\\s+ONLY|(?:\\s*|\\s*,\\s*)READ\\s+WRITE|(?:\\s*|\\s*,\\s*)ISOLATION\\s+LEVEL\\s+DEFAULT|(?:\\s*|\\s*,\\s*)ISOLATION\\s+LEVEL\\s+SERIALIZABLE|(?:\\s*|\\s*,\\s*)ISOLATION\\s+LEVEL\\s+READ\\s+COMMITTED)+)",
"converterName": "ClientSideStatementValueConverters$PgTransactionModeConverter"
}
},
{
- "name": "SET DEFAULT_TRANSACTION_ISOLATION =|TO 'SERIALIZABLE'|SERIALIZABLE|DEFAULT",
+ "name": "SET DEFAULT_TRANSACTION_ISOLATION =|TO 'SERIALIZABLE'|SERIALIZABLE|'READ COMMITTED'|DEFAULT",
"executorName": "ClientSideStatementSetExecutor",
"resultType": "NO_RESULT",
- "statementType": "SET_READONLY",
+ "statementType": "SET_DEFAULT_TRANSACTION_ISOLATION",
"regex": "(?is)\\A\\s*set\\s+default_transaction_isolation(?:\\s*=\\s*|\\s+to\\s+)(.*)\\z",
"method": "statementSetPgDefaultTransactionIsolation",
"exampleStatements": [
@@ -391,13 +391,25 @@
"set default_transaction_isolation to 'serializable'",
"set default_transaction_isolation = 'serializable'",
"set default_transaction_isolation = \"SERIALIZABLE\"",
+ "set default_transaction_isolation to serializable",
+ "set default_transaction_isolation to 'serializable'",
+ "set default_transaction_isolation = 'serializable'",
+ "set default_transaction_isolation = \"SERIALIZABLE\"",
+ "set default_transaction_isolation='read committed'",
+ "set default_transaction_isolation to 'read committed'",
+ "set default_transaction_isolation to 'serializable'",
+ "set default_transaction_isolation = 'read committed'",
+ "set default_transaction_isolation = \"READ COMMITTED\"",
+ "set default_transaction_isolation to 'read committed'",
+ "set default_transaction_isolation = 'read committed'",
+ "set default_transaction_isolation = \"READ COMMITTED\"",
"set default_transaction_isolation = DEFAULT",
"set default_transaction_isolation to DEFAULT"
],
"setStatement": {
"propertyName": "default_transaction_isolation",
"separator": "(?:=|\\s+TO\\s+)",
- "allowedValues": "(SERIALIZABLE|'SERIALIZABLE'|\"SERIALIZABLE\"|DEFAULT)",
+ "allowedValues": "(SERIALIZABLE|'SERIALIZABLE'|\"SERIALIZABLE\"|'READ\\s+COMMITTED'|\"READ\\s+COMMITTED\"|DEFAULT)",
"converterName": "ClientSideStatementValueConverters$PgTransactionIsolationConverter"
}
},
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 59780aed0f6..9f239cd4228 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
@@ -1367,6 +1367,7 @@ public void testAddRemoveTransactionRetryListener() {
@Test
public void testMergeQueryOptions() {
ConnectionOptions connectionOptions = mock(ConnectionOptions.class);
+ when(connectionOptions.getDefaultIsolationLevel()).thenReturn(IsolationLevel.SERIALIZABLE);
SpannerPool spannerPool = mock(SpannerPool.class);
DdlClient ddlClient = mock(DdlClient.class);
DatabaseClient dbClient = mock(DatabaseClient.class);
@@ -1471,6 +1472,7 @@ UnitOfWork getCurrentUnitOfWorkOrStartNewUnitOfWork() {
public void testStatementTagAlwaysAllowed() {
ConnectionOptions connectionOptions = mock(ConnectionOptions.class);
when(connectionOptions.isAutocommit()).thenReturn(true);
+ when(connectionOptions.getDefaultIsolationLevel()).thenReturn(IsolationLevel.SERIALIZABLE);
SpannerPool spannerPool = mock(SpannerPool.class);
DdlClient ddlClient = mock(DdlClient.class);
DatabaseClient dbClient = mock(DatabaseClient.class);
@@ -1514,6 +1516,7 @@ UnitOfWork getCurrentUnitOfWorkOrStartNewUnitOfWork() {
public void testTransactionTagAllowedInTransaction() {
ConnectionOptions connectionOptions = mock(ConnectionOptions.class);
when(connectionOptions.isAutocommit()).thenReturn(false);
+ when(connectionOptions.getDefaultIsolationLevel()).thenReturn(IsolationLevel.SERIALIZABLE);
SpannerPool spannerPool = mock(SpannerPool.class);
DdlClient ddlClient = mock(DdlClient.class);
DatabaseClient dbClient = mock(DatabaseClient.class);
@@ -1555,6 +1558,7 @@ public void testTransactionTagAllowedInTransaction() {
public void testTransactionTagNotAllowedWithoutTransaction() {
ConnectionOptions connectionOptions = mock(ConnectionOptions.class);
when(connectionOptions.isAutocommit()).thenReturn(true);
+ when(connectionOptions.getDefaultIsolationLevel()).thenReturn(IsolationLevel.SERIALIZABLE);
SpannerPool spannerPool = mock(SpannerPool.class);
DdlClient ddlClient = mock(DdlClient.class);
DatabaseClient dbClient = mock(DatabaseClient.class);
@@ -1576,6 +1580,7 @@ public void testTransactionTagNotAllowedWithoutTransaction() {
public void testTransactionTagNotAllowedAfterTransactionStarted() {
ConnectionOptions connectionOptions = mock(ConnectionOptions.class);
when(connectionOptions.isAutocommit()).thenReturn(false);
+ when(connectionOptions.getDefaultIsolationLevel()).thenReturn(IsolationLevel.SERIALIZABLE);
SpannerPool spannerPool = mock(SpannerPool.class);
DdlClient ddlClient = mock(DdlClient.class);
DatabaseClient dbClient = mock(DatabaseClient.class);
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorTest.java
index bf7822e3285..03801f4ef78 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionStatementExecutorTest.java
@@ -218,9 +218,13 @@ public void testStatementSetStatementTimeout() {
@Test
public void testStatementSetTransactionMode() {
- subject.statementSetTransactionMode(TransactionMode.READ_ONLY_TRANSACTION);
+ PgTransactionMode mode = new PgTransactionMode();
+ mode.setAccessMode(AccessMode.READ_ONLY_TRANSACTION);
+ subject.statementSetTransactionMode(mode);
verify(connection).setTransactionMode(TransactionMode.READ_ONLY_TRANSACTION);
- subject.statementSetTransactionMode(TransactionMode.READ_WRITE_TRANSACTION);
+
+ mode.setAccessMode(AccessMode.READ_WRITE_TRANSACTION);
+ subject.statementSetTransactionMode(mode);
verify(connection).setTransactionMode(TransactionMode.READ_WRITE_TRANSACTION);
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/IsolationLevelTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/IsolationLevelTest.java
new file mode 100644
index 00000000000..5dc1eedf7c3
--- /dev/null
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/IsolationLevelTest.java
@@ -0,0 +1,461 @@
+/*
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.cloud.spanner.connection;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.assertTrue;
+
+import com.google.cloud.spanner.AbortedDueToConcurrentModificationException;
+import com.google.cloud.spanner.Dialect;
+import com.google.cloud.spanner.MockSpannerServiceImpl.StatementResult;
+import com.google.cloud.spanner.Mutation;
+import com.google.cloud.spanner.ResultSet;
+import com.google.cloud.spanner.Statement;
+import com.google.spanner.v1.BeginTransactionRequest;
+import com.google.spanner.v1.CommitRequest;
+import com.google.spanner.v1.ExecuteSqlRequest;
+import com.google.spanner.v1.RollbackRequest;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameter;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class IsolationLevelTest extends AbstractMockServerTest {
+ @Parameter public Dialect dialect;
+
+ @Parameters(name = "dialect = {0}")
+ public static Object[] data() {
+ return Dialect.values();
+ }
+
+ @BeforeClass
+ public static void setupMockResults() {
+ mockSpanner.putStatementResult(
+ StatementResult.query(SELECT_COUNT_STATEMENT, SELECT_COUNT_RESULTSET_AFTER_INSERT));
+ }
+
+ @Before
+ public void setDialect() {
+ mockSpanner.putStatementResult(StatementResult.detectDialectResult(dialect));
+ }
+
+ @Test
+ public void testTransactionIsolationLevel() {
+ try (Connection connection = createConnection()) {
+ assertEquals(IsolationLevel.SERIALIZABLE, connection.getTransactionIsolationLevel());
+
+ connection.execute(Statement.of("set transaction isolation level read committed"));
+ assertEquals(IsolationLevel.READ_COMMITTED, connection.getTransactionIsolationLevel());
+ connection.execute(Statement.of("set transaction isolation level serializable"));
+ assertEquals(IsolationLevel.SERIALIZABLE, connection.getTransactionIsolationLevel());
+ }
+ }
+
+ @Test
+ public void testDefaultIsolationLevel() {
+ try (Connection connection = createConnection()) {
+ assertEquals(IsolationLevel.SERIALIZABLE, connection.getDefaultIsolationLevel());
+
+ connection.execute(Statement.of("set default_transaction_isolation='read committed'"));
+ assertEquals(IsolationLevel.READ_COMMITTED, connection.getDefaultIsolationLevel());
+ connection.execute(Statement.of("set default_transaction_isolation='serializable'"));
+ assertEquals(IsolationLevel.SERIALIZABLE, connection.getDefaultIsolationLevel());
+ }
+ }
+
+ @Test
+ public void testQueryInDefaultIsolationLevel() {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ connection.commit();
+ }
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertTrue(request.getTransaction().hasBegin());
+ assertTrue(request.getTransaction().getBegin().hasReadWrite());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ }
+
+ @Test
+ public void testQueryInReadCommitted() {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ connection.setDefaultIsolationLevel(IsolationLevel.READ_COMMITTED);
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ connection.commit();
+ }
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertFalse(request.hasTransaction());
+ assertEquals(0, mockSpanner.countRequestsOfType(CommitRequest.class));
+ }
+
+ @Test
+ public void testSingleDml() {
+ // The behavior of a single DML statement should be equal in both isolation levels.
+ for (IsolationLevel isolationLevel :
+ new IsolationLevel[] {IsolationLevel.SERIALIZABLE, IsolationLevel.READ_COMMITTED}) {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ connection.setDefaultIsolationLevel(isolationLevel);
+ assertEquals(1L, (long) connection.execute(INSERT_STATEMENT).getUpdateCount());
+ connection.commit();
+ }
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertTrue(request.getTransaction().hasBegin());
+ assertTrue(request.getTransaction().getBegin().hasReadWrite());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+
+ mockSpanner.clearRequests();
+ }
+ }
+
+ @Test
+ public void testQueryAndDmlInDefaultIsolationLevel() {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ assertEquals(1L, (long) connection.execute(INSERT_STATEMENT).getUpdateCount());
+ connection.commit();
+ }
+ assertEquals(2, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest selectRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertTrue(selectRequest.getTransaction().hasBegin());
+ assertTrue(selectRequest.getTransaction().getBegin().hasReadWrite());
+ ExecuteSqlRequest insertRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(1);
+ assertTrue(insertRequest.getTransaction().hasId());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ }
+
+ @Test
+ public void testQueryAndDmlInReadCommitted() {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ connection.setDefaultIsolationLevel(IsolationLevel.READ_COMMITTED);
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ assertEquals(1L, (long) connection.execute(INSERT_STATEMENT).getUpdateCount());
+ connection.commit();
+ }
+ assertEquals(2, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest selectRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertFalse(selectRequest.hasTransaction());
+ ExecuteSqlRequest insertRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(1);
+ assertTrue(insertRequest.getTransaction().hasBegin());
+ assertTrue(insertRequest.getTransaction().getBegin().hasReadWrite());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ }
+
+ @Test
+ public void testDmlAndQuery() {
+ // The behavior of a DML statement followed by a query should be equal in both isolation levels.
+ for (IsolationLevel isolationLevel :
+ new IsolationLevel[] {IsolationLevel.SERIALIZABLE, IsolationLevel.READ_COMMITTED}) {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ connection.setDefaultIsolationLevel(isolationLevel);
+ assertEquals(1L, (long) connection.execute(INSERT_STATEMENT).getUpdateCount());
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ connection.commit();
+ }
+ assertEquals(2, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest insertRequest =
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertTrue(insertRequest.getTransaction().hasBegin());
+ assertTrue(insertRequest.getTransaction().getBegin().hasReadWrite());
+ ExecuteSqlRequest selectRequest =
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(1);
+ assertTrue(selectRequest.getTransaction().hasId());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+
+ mockSpanner.clearRequests();
+ }
+ }
+
+ @Test
+ public void testRollbackQueryInReadCommitted() {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ connection.setDefaultIsolationLevel(IsolationLevel.READ_COMMITTED);
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ connection.rollback();
+ }
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertFalse(request.hasTransaction());
+ // The rollback is a no-op as there was no transaction started.
+ assertEquals(0, mockSpanner.countRequestsOfType(RollbackRequest.class));
+ }
+
+ @Test
+ public void testQueryAndMutationsInReadCommitted() {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ connection.setDefaultIsolationLevel(IsolationLevel.READ_COMMITTED);
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ connection.bufferedWrite(Mutation.newInsertBuilder("foo").set("col1").to(1L).build());
+ connection.commit();
+ }
+ assertEquals(1, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertFalse(request.hasTransaction());
+ // The mutations should be committed using a transaction that uses an explicit BeginTransaction.
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ CommitRequest commitRequest = mockSpanner.getRequestsOfType(CommitRequest.class).get(0);
+ assertEquals(1, commitRequest.getMutationsCount());
+ assertEquals("foo", commitRequest.getMutations(0).getInsert().getTable());
+ }
+
+ @Test
+ public void testQueryDmlAndMutationsInReadCommitted() {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ connection.setDefaultIsolationLevel(IsolationLevel.READ_COMMITTED);
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ assertEquals(1L, connection.execute(INSERT_STATEMENT).getUpdateCount().longValue());
+ connection.bufferedWrite(Mutation.newInsertBuilder("foo").set("col1").to(1L).build());
+ connection.commit();
+ }
+ assertEquals(2, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest selectRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertFalse(selectRequest.hasTransaction());
+ ExecuteSqlRequest insertRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(1);
+ assertTrue(insertRequest.getTransaction().hasBegin());
+ assertTrue(insertRequest.getTransaction().getBegin().hasReadWrite());
+ // The mutations should be committed using the transaction that was started by the insert
+ // statement.
+ assertEquals(0, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ CommitRequest commitRequest = mockSpanner.getRequestsOfType(CommitRequest.class).get(0);
+ assertEquals(1, commitRequest.getMutationsCount());
+ assertEquals("foo", commitRequest.getMutations(0).getInsert().getTable());
+ }
+
+ @Test
+ public void testQueryAndDmlInReadCommitted_DmlAborted() {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ connection.setDefaultIsolationLevel(IsolationLevel.READ_COMMITTED);
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ mockSpanner.abortNextStatement();
+ assertEquals(1L, (long) connection.execute(INSERT_STATEMENT).getUpdateCount());
+ connection.commit();
+ }
+ // We should get 3 execute requests, as the DML statement is retried.
+ assertEquals(3, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest selectRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertFalse(selectRequest.hasTransaction());
+ ExecuteSqlRequest insertRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(1);
+ assertTrue(insertRequest.getTransaction().hasBegin());
+ assertTrue(insertRequest.getTransaction().getBegin().hasReadWrite());
+
+ // The transaction retry uses an explicit BeginTransaction request, as it was the first
+ // statement that failed.
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ ExecuteSqlRequest retriedInsertRequest =
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(2);
+ assertTrue(retriedInsertRequest.getTransaction().hasId());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ }
+
+ @Test
+ public void testQueryAndDmlInReadCommitted_CommitAborted() {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ connection.setDefaultIsolationLevel(IsolationLevel.READ_COMMITTED);
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ assertEquals(1L, (long) connection.execute(INSERT_STATEMENT).getUpdateCount());
+ mockSpanner.abortNextStatement();
+ connection.commit();
+ }
+ // We should get 3 execute requests, as the DML statement is retried.
+ assertEquals(3, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest selectRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertFalse(selectRequest.hasTransaction());
+ ExecuteSqlRequest insertRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(1);
+ assertTrue(insertRequest.getTransaction().hasBegin());
+ assertTrue(insertRequest.getTransaction().getBegin().hasReadWrite());
+
+ assertEquals(0, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ ExecuteSqlRequest retriedInsertRequest =
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(2);
+ assertTrue(retriedInsertRequest.getTransaction().hasBegin());
+ assertTrue(retriedInsertRequest.getTransaction().getBegin().hasReadWrite());
+ assertEquals(2, mockSpanner.countRequestsOfType(CommitRequest.class));
+ }
+
+ @Test
+ public void testDmlAndQuery_CommitAborted() {
+ // The behavior of a DML statement followed by a query should be equal in both isolation levels.
+ for (IsolationLevel isolationLevel :
+ new IsolationLevel[] {IsolationLevel.SERIALIZABLE, IsolationLevel.READ_COMMITTED}) {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ connection.setDefaultIsolationLevel(isolationLevel);
+ assertEquals(1L, (long) connection.execute(INSERT_STATEMENT).getUpdateCount());
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ mockSpanner.abortNextStatement();
+ connection.commit();
+ }
+ // Both the DML and query should be retried.
+ assertEquals(4, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest insertRequest =
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertTrue(insertRequest.getTransaction().hasBegin());
+ assertTrue(insertRequest.getTransaction().getBegin().hasReadWrite());
+ ExecuteSqlRequest selectRequest =
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(1);
+ assertTrue(selectRequest.getTransaction().hasId());
+
+ ExecuteSqlRequest retriedInsertRequest =
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(2);
+ assertEquals(INSERT_STATEMENT.getSql(), retriedInsertRequest.getSql());
+ assertTrue(retriedInsertRequest.getTransaction().hasBegin());
+ assertTrue(retriedInsertRequest.getTransaction().getBegin().hasReadWrite());
+ ExecuteSqlRequest retriedSelectRequest =
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(3);
+ assertTrue(retriedSelectRequest.getTransaction().hasId());
+ assertEquals(SELECT_COUNT_STATEMENT.getSql(), retriedSelectRequest.getSql());
+ assertEquals(2, mockSpanner.countRequestsOfType(CommitRequest.class));
+
+ mockSpanner.clearRequests();
+ }
+ }
+
+ @Test
+ public void testQueryAndDmlInReadCommitted_DmlAborted_QueryResultsChanged() {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ connection.setDefaultIsolationLevel(IsolationLevel.READ_COMMITTED);
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ // Changing this result will not cause the transaction to fail.
+ mockSpanner.putStatementResult(
+ StatementResult.query(SELECT_COUNT_STATEMENT, SELECT_COUNT_RESULTSET_BEFORE_INSERT));
+ mockSpanner.abortNextStatement();
+ assertEquals(1L, (long) connection.execute(INSERT_STATEMENT).getUpdateCount());
+ connection.commit();
+ } finally {
+ mockSpanner.putStatementResult(
+ StatementResult.query(SELECT_COUNT_STATEMENT, SELECT_COUNT_RESULTSET_AFTER_INSERT));
+ }
+ // We should get 3 execute requests, as the DML statement is retried.
+ assertEquals(3, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest selectRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertFalse(selectRequest.hasTransaction());
+ ExecuteSqlRequest insertRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(1);
+ assertTrue(insertRequest.getTransaction().hasBegin());
+ assertTrue(insertRequest.getTransaction().getBegin().hasReadWrite());
+
+ // The transaction retry uses an explicit BeginTransaction request, as it was the first
+ // statement that failed.
+ assertEquals(1, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ ExecuteSqlRequest retriedInsertRequest =
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(2);
+ assertTrue(retriedInsertRequest.getTransaction().hasId());
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ }
+
+ @Test
+ public void testQueryAndDmlInReadCommitted_CommitAborted_DmlResultChanged() {
+ try (Connection connection = createConnection()) {
+ assertFalse(connection.isAutocommit());
+ connection.setDefaultIsolationLevel(IsolationLevel.READ_COMMITTED);
+ try (ResultSet resultSet = connection.execute(SELECT_COUNT_STATEMENT).getResultSet()) {
+ assertTrue(resultSet.next());
+ assertEquals(COUNT_AFTER_INSERT, resultSet.getLong(0));
+ assertFalse(resultSet.next());
+ }
+ assertEquals(1L, (long) connection.execute(INSERT_STATEMENT).getUpdateCount());
+ mockSpanner.putStatementResult(StatementResult.update(INSERT_STATEMENT, 0L));
+ mockSpanner.abortNextStatement();
+ assertThrows(AbortedDueToConcurrentModificationException.class, connection::commit);
+ } finally {
+ mockSpanner.putStatementResult(StatementResult.update(INSERT_STATEMENT, 1L));
+ }
+ // We should get 3 execute requests, as the DML statement is retried.
+ assertEquals(3, mockSpanner.countRequestsOfType(ExecuteSqlRequest.class));
+ ExecuteSqlRequest selectRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
+ assertFalse(selectRequest.hasTransaction());
+ ExecuteSqlRequest insertRequest = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(1);
+ assertTrue(insertRequest.getTransaction().hasBegin());
+ assertTrue(insertRequest.getTransaction().getBegin().hasReadWrite());
+
+ assertEquals(0, mockSpanner.countRequestsOfType(BeginTransactionRequest.class));
+ ExecuteSqlRequest retriedInsertRequest =
+ mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(2);
+ assertTrue(retriedInsertRequest.getTransaction().hasBegin());
+ assertTrue(retriedInsertRequest.getTransaction().getBegin().hasReadWrite());
+ // We only get one commit request, as the retry fails before trying to commit a second time.
+ assertEquals(1, mockSpanner.countRequestsOfType(CommitRequest.class));
+ }
+}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/PgTransactionModeConverterTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/PgTransactionModeConverterTest.java
index 8fbe0d85867..b00ae2b92b2 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/PgTransactionModeConverterTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/PgTransactionModeConverterTest.java
@@ -19,6 +19,7 @@
import static com.google.cloud.spanner.connection.PgTransactionMode.AccessMode.READ_ONLY_TRANSACTION;
import static com.google.cloud.spanner.connection.PgTransactionMode.AccessMode.READ_WRITE_TRANSACTION;
import static com.google.cloud.spanner.connection.PgTransactionMode.IsolationLevel.ISOLATION_LEVEL_DEFAULT;
+import static com.google.cloud.spanner.connection.PgTransactionMode.IsolationLevel.ISOLATION_LEVEL_READ_COMMITTED;
import static com.google.cloud.spanner.connection.PgTransactionMode.IsolationLevel.ISOLATION_LEVEL_SERIALIZABLE;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -95,6 +96,25 @@ public void testConvert() throws CompileException {
assertEquals(
create(ISOLATION_LEVEL_SERIALIZABLE), converter.convert("Isolation\tLevel\tSerializable"));
+ assertEquals(
+ create(ISOLATION_LEVEL_READ_COMMITTED),
+ converter.convert("isolation level read committed"));
+ assertEquals(
+ create(ISOLATION_LEVEL_READ_COMMITTED),
+ converter.convert("ISOLATION LEVEL READ COMMITTED"));
+ assertEquals(
+ create(ISOLATION_LEVEL_READ_COMMITTED),
+ converter.convert("Isolation Level Read Committed"));
+ assertEquals(
+ create(ISOLATION_LEVEL_READ_COMMITTED),
+ converter.convert("isolation level read committed"));
+ assertEquals(
+ create(ISOLATION_LEVEL_READ_COMMITTED),
+ converter.convert("ISOLATION\nLEVEL\nREAD\nCOMMITTED"));
+ assertEquals(
+ create(ISOLATION_LEVEL_READ_COMMITTED),
+ converter.convert("Isolation\tLevel\tRead\tCommitted"));
+
assertEquals(new PgTransactionMode(), converter.convert(""));
assertEquals(new PgTransactionMode(), converter.convert(" "));
assertNull(converter.convert("random string"));
@@ -106,7 +126,6 @@ public void testConvert() throws CompileException {
assertNull(converter.convert("isolation_level default"));
assertNull(converter.convert("isolationlevel default"));
- assertNull(converter.convert("isolation level read committed"));
assertNull(converter.convert("isolation level "));
assertNull(converter.convert("isolation level_default"));
@@ -143,6 +162,9 @@ public void testConvert() throws CompileException {
assertEquals(
create(READ_ONLY_TRANSACTION, ISOLATION_LEVEL_SERIALIZABLE),
converter.convert("read only isolation level serializable"));
+ assertEquals(
+ create(READ_ONLY_TRANSACTION, ISOLATION_LEVEL_READ_COMMITTED),
+ converter.convert("read only isolation level read committed"));
assertNull(converter.convert("isolation level default, read-only"));
assertNull(converter.convert("isolation level default, read"));
@@ -159,5 +181,9 @@ public void testConvert() throws CompileException {
create(READ_ONLY_TRANSACTION, ISOLATION_LEVEL_SERIALIZABLE),
converter.convert(
"read write, isolation level default, read only isolation level serializable"));
+ assertEquals(
+ create(READ_WRITE_TRANSACTION, ISOLATION_LEVEL_READ_COMMITTED),
+ converter.convert(
+ "read write, isolation level default, read only isolation level serializable, read write isolation level read committed"));
}
}
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/TransactionModeConverterTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/TransactionModeConverterTest.java
index f19b4b2eea1..c393254278b 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/TransactionModeConverterTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/TransactionModeConverterTest.java
@@ -25,6 +25,7 @@
import com.google.cloud.spanner.Dialect;
import com.google.cloud.spanner.connection.ClientSideStatementImpl.CompileException;
import com.google.cloud.spanner.connection.ClientSideStatementValueConverters.TransactionModeConverter;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -33,6 +34,7 @@
public class TransactionModeConverterTest {
@Test
+ @Ignore
public void testConvert() throws CompileException {
String allowedValues =
ReadOnlyStalenessConverterTest.getAllowedValues(
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 4fe25d53b05..6183d81a54a 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
@@ -9568,6 +9568,941 @@ set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
set transaction read/-write;
NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+
+
+
+set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable
+
+;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+set
+transaction
+isolation
+level
+serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable bar;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable%;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level%serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable_;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level_serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable&;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level&serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable$;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level$serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable@;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level@serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable!;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level!serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable*;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level*serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable(;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level(serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable);
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level)serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level-serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable+;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level+serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable-#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level-#serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level/serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable\;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level\serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable?;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level?serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable-/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level-/serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable/#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level/#serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set transaction isolation level serializable;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level serializable/-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level/-serializable;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+
+
+
+set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed
+
+;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+set
+transaction
+isolation
+level
+read
+committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed bar;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed%;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read%committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed_;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read_committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed&;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read&committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed$;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read$committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed@;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read@committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed!;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read!committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed*;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read*committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed(;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read(committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed);
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read)committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read-committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed+;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read+committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed-#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read-#committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read/committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed\;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read\committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed?;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read?committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed-/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read-/committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed/#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read/#committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed/-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read/-committed;
+NEW_CONNECTION;
+set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION='SERIALIZABLE';
+NEW_CONNECTION;
+set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+ set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+ set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+set default_transaction_isolation='serializable' ;
+NEW_CONNECTION;
+set default_transaction_isolation='serializable' ;
+NEW_CONNECTION;
+set default_transaction_isolation='serializable'
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+set
+default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-#default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set\default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set?default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-/default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/#default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation='serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='serializable'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set/-default_transaction_isolation='serializable';
+NEW_CONNECTION;
+set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION='READ COMMITTED';
+NEW_CONNECTION;
+set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+ set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+ set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+set default_transaction_isolation='read committed' ;
+NEW_CONNECTION;
+set default_transaction_isolation='read committed' ;
+NEW_CONNECTION;
+set default_transaction_isolation='read committed'
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+set
+default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read%committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read_committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read&committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read$committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read@committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read!committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read*committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read(committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read)committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read-committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read+committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read-#committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read/committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read\committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read?committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read-/committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read/#committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read/-committed';
+NEW_CONNECTION;
set read_only_staleness='STRONG';
NEW_CONNECTION;
SET READ_ONLY_STALENESS='STRONG';
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 e68315ec537..5638b649baf 100644
--- a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ConnectionImplGeneratedSqlScriptTest.sql
+++ b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/ConnectionImplGeneratedSqlScriptTest.sql
@@ -1,23 +1,23 @@
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -26,123 +26,125 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -151,58 +153,60 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:03.218000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:03.218000000Z'
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:06.679000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:06.679000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:03.218000000Z';
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:06.679000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:06.679000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+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=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -217,34 +221,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -253,8 +257,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -297,45 +301,46 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -346,28 +351,36 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -376,123 +389,173 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -501,58 +564,78 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:03.689000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:03.689000000Z'
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:07.042000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:07.042000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:03.689000000Z';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:07.042000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:07.042000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -567,34 +650,48 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -603,8 +700,10 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -647,45 +746,62 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-NEW_CONNECTION;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -696,324 +812,207 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:04.116000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:04.116000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:07.300000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:07.300000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:04.116000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:07.300000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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;
@@ -1028,55 +1027,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -1085,11 +1063,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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;
@@ -1132,116 +1107,71 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -1250,195 +1180,125 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -1447,85 +1307,60 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:04.576000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:04.576000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:07.523000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:07.523000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:04.576000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:07.523000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:07.523000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -1540,55 +1375,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -1597,11 +1411,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -1644,69 +1455,46 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
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
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -1717,208 +1505,217 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:04.992000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:04.992000000Z'
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:07.774000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:07.774000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:04.992000000Z';
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:07.774000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:07.774000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -1933,34 +1730,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -1969,8 +1766,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2013,282 +1810,230 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@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;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@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;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@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 AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+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;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
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;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:05.305000000Z';
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:08.008000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:08.008000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:05.305000000Z';
+SET AUTOCOMMIT=TRUE;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:08.008000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:08.008000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -2303,41 +2048,27 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -2346,9 +2077,7 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2391,254 +2120,254 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-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;
-SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-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;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+COMMIT;
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-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;
-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;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:05.695000000Z';
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:08.172000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:08.172000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:05.695000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:08.172000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-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;
-SELECT 1 AS TEST;
+COMMIT;
@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
+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;
-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;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -2654,33 +2383,33 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -2690,7 +2419,7 @@ SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2734,66 +2463,76 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+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;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -2803,98 +2542,122 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
ROLLBACK;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -2904,48 +2667,57 @@ SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:06.064000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:06.064000000Z'
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:08.346000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:08.346000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:06.064000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:08.346000000Z';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -2961,26 +2733,33 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -2990,6 +2769,7 @@ SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -3033,36 +2813,44 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
COMMIT;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -3074,26 +2862,39 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -3101,134 +2902,196 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-@EXPECT UPDATE_COUNT 1
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+@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);
-UPDATE foo SET bar=1;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -3236,59 +3099,86 @@ SET READONLY=TRUE;
@EXPECT RESULT_SET 'READONLY',TRUE
SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:06.481000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:06.481000000Z'
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:08.514000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:08.514000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:06.481000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:08.514000000Z';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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;
@@ -3302,35 +3192,56 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -3338,9 +3249,12 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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;
@@ -3382,84 +3296,117 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -3467,182 +3414,196 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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
+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=FALSE;
+SET READONLY=TRUE;
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
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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
+BEGIN TRANSACTION;
+@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);
-UPDATE foo SET bar=1;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -3650,77 +3611,86 @@ SET READONLY=TRUE;
@EXPECT RESULT_SET 'READONLY',TRUE
SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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 READONLY=TRUE;
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 2022-10-28T19:20:06.786000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:06.786000000Z'
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:08.717000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:08.717000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:06.786000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:08.717000000Z';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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;
@@ -3734,49 +3704,56 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -3784,11 +3761,12 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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;
@@ -3830,305 +3808,282 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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;
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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;
SET READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:07.091000000Z';
+BEGIN TRANSACTION;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:08.892000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:08.892000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:07.091000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:08.892000000Z';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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;
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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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;
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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -4142,42 +4097,35 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -4185,10 +4133,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -4230,255 +4177,283 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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;
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:07.423000000Z';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.037000000Z';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:07.423000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.037000000Z';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -4492,35 +4467,42 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -4528,9 +4510,10 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -4572,378 +4555,255 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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 READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:07.711000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:07.711000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.193000000Z';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:07.711000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.193000000Z';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
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;
@@ -4957,56 +4817,35 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -5014,12 +4853,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5061,279 +4897,220 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ ONLY;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:08.036000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:08.036000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.325000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:09.325000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:08.036000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.325000000Z';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -5347,35 +5124,28 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -5383,9 +5153,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5427,267 +5196,243 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
COMMIT;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=FALSE;
+SET READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT UPDATE_COUNT 1
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@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 READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
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 READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:08.315000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:08.315000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.415000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:08.315000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.415000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
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';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@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';
+SET AUTOCOMMIT=TRUE;
+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=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -5702,34 +5447,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -5738,8 +5483,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5782,381 +5527,284 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
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);
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+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;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@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;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
-SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+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;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:08.600000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:08.600000000Z'
+SET TRANSACTION READ ONLY;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.500000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:09.500000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:08.600000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.500000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+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;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+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;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -6171,55 +5819,41 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -6228,11 +5862,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -6275,113 +5907,87 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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 AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
@@ -6391,166 +5997,150 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -6562,10 +6152,9 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -6577,18 +6166,17 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
@@ -6598,84 +6186,77 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:09.004000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:09.004000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.668000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:09.668000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:09.004000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.668000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:09.668000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -6691,54 +6272,47 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -6748,10 +6322,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -6795,67 +6368,61 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@@ -6866,138 +6433,137 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -7009,68 +6575,68 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READONLY=TRUE;
+SET READONLY=FALSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:09.350000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:09.350000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.842000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:09.842000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:09.350000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.842000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -7086,33 +6652,33 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -7122,7 +6688,7 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -7166,206 +6732,193 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+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;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7376,76 +6929,76 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:09.614000000Z';
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.995000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:09.995000000Z'
+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='MIN_READ_TIMESTAMP 2022-10-28T19:20:09.614000000Z';
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.995000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:09.995000000Z'
+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 AUTOCOMMIT=TRUE;
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 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;
@@ -7460,41 +7013,34 @@ 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 AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -7503,9 +7049,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -7548,190 +7093,200 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7742,65 +7297,76 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:09.939000000Z';
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.176000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.176000000Z'
+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='MIN_READ_TIMESTAMP 2022-10-28T19:20:09.939000000Z';
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.176000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:10.176000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -7815,34 +7381,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -7851,8 +7417,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -7895,67 +7461,81 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
-BEGIN TRANSACTION;
+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 AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=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=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -7964,83 +7544,130 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'READ_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -8051,7 +7678,9 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -8062,11 +7691,16 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -8075,49 +7709,69 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:10.269000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:10.269000000Z'
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.328000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.328000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:10.269000000Z';
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.328000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:10.328000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=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;
@@ -8132,27 +7786,41 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -8161,7 +7829,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -8204,36 +7874,54 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@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=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -8243,201 +7931,232 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
-NEW_CONNECTION;
-SET READONLY=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+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;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@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=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@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;
+SELECT 1 AS TEST;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-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=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
+SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:10.525000000Z';
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.450000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.450000000Z'
+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 2022-10-28T19:20:10.525000000Z';
+SELECT 1 AS TEST;
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.450000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:10.450000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -8453,33 +8172,33 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -8489,7 +8208,7 @@ SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -8533,283 +8252,242 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@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=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+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;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT UPDATE_COUNT 1
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='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;
-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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
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;
+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;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+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;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=FALSE;
+@EXPECT RESULT_SET 'READONLY',FALSE
+SHOW VARIABLE READONLY;
+SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:10.792000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:10.792000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.591000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.591000000Z'
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 2022-10-28T19:20:10.792000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.591000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:10.591000000Z'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -8825,40 +8503,26 @@ SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -8868,8 +8532,6 @@ SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -8913,86 +8575,66 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+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;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
@@ -9002,150 +8644,103 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
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;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@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;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -9157,9 +8752,7 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -9171,17 +8764,12 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
@@ -9191,77 +8779,57 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:11.068000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:11.068000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.694000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.694000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:11.068000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:11.068000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.694000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
+@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;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -9277,47 +8845,33 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
+@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;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -9327,9 +8881,7 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -9373,61 +8925,43 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@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;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
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;
+SET AUTOCOMMIT=FALSE;
COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@@ -9438,138 +8972,198 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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;
@@ -9580,69 +9174,95 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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;
+SET READONLY=TRUE;
+@EXPECT RESULT_SET 'READONLY',TRUE
+SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:11.424000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:11.424000000Z'
+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 2022-11-23T19:27:10.799000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.799000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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 2022-10-28T19:20:11.424000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.799000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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='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 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=TRUE;
-BEGIN TRANSACTION;
+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='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 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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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;
@@ -9657,34 +9277,48 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -9693,8 +9327,10 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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;
@@ -9737,272 +9373,303 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+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_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
+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);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
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;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
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=TRUE;
+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;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT RESULT_SET 'TEST',1
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-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=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:11.707000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:11.707000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.962000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:11.707000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:11.707000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.962000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+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';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+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'
@@ -10018,33 +9685,40 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -10054,7 +9728,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+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'
@@ -10098,280 +9773,254 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
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;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT UPDATE_COUNT 1
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+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;
-UPDATE foo SET bar=1;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:12.017000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:12.017000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.084000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:12.017000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:12.017000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.084000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+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;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+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;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -10386,34 +10035,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -10422,8 +10071,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -10466,81 +10115,83 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -10549,130 +10200,167 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@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;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'READ_TIMESTAMP'
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -10683,9 +10371,11 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -10696,16 +10386,19 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -10714,69 +10407,85 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:12.424000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:12.424000000Z'
+COMMIT;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.209000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:11.209000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:12.424000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:12.424000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.209000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+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;
@@ -10791,41 +10500,55 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -10834,9 +10557,11 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -10879,54 +10604,68 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+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;
@@ -10936,232 +10675,207 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT UPDATE_COUNT 1
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:12.743000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:12.743000000Z'
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.353000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:11.353000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:12.743000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:12.743000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.353000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -11176,34 +10890,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -11212,8 +10926,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -11256,73 +10970,71 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -11331,88 +11043,104 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SET AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -11423,7 +11151,8 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -11434,12 +11163,13 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
ROLLBACK;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -11448,51 +11178,58 @@ SET READONLY=TRUE;
SHOW VARIABLE READONLY;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:13.035000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:13.035000000Z'
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.446000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:11.446000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:13.035000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:13.035000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.446000000Z';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=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;
@@ -11507,27 +11244,34 @@ SET OPTIMIZER_VERSION='';
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -11536,7 +11280,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -11579,38 +11324,44 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
COMMIT;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -11620,27 +11371,40 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -11648,126 +11412,206 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -11775,61 +11619,86 @@ SET READONLY=TRUE;
@EXPECT RESULT_SET 'READONLY',TRUE
SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:13.310000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:13.310000000Z'
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.568000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:11.568000000Z'
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 2022-10-28T19:20:13.310000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:13.310000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.568000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+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;
@@ -11843,35 +11712,56 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -11879,9 +11769,12 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -11923,85 +11816,113 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+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=TRUE;
-SET AUTOCOMMIT=TRUE;
+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=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET AUTOCOMMIT=FALSE;
@@ -12011,172 +11932,204 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+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=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET 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=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+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=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+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=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+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=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+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=TRUE;
-SET AUTOCOMMIT=TRUE;
+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=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+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=TRUE;
-SET AUTOCOMMIT=TRUE;
+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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET READONLY=FALSE;
@@ -12186,77 +12139,84 @@ SET READONLY=TRUE;
@EXPECT RESULT_SET 'READONLY',TRUE
SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:13.591000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:13.591000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.780000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:11.780000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:13.591000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:13.591000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.780000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET 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';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET OPTIMIZER_VERSION='1';
@@ -12272,47 +12232,54 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
+@EXPECT RESULT_SET 'COMMIT_TIMESTAMP'
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@@ -12322,9 +12289,10 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET STATEMENT_TIMEOUT='1s';
@@ -12368,273 +12336,283 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+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=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET 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=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+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=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET AUTOCOMMIT=FALSE;
-NEW_CONNECTION;
-SET READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
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=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READONLY=FALSE;
-NEW_CONNECTION;
SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+NEW_CONNECTION;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:13.914000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:13.914000000Z'
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.936000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:11.936000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:13.914000000Z';
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.936000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -12649,34 +12627,34 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -12685,8 +12663,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -12729,260 +12707,286 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET 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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:14.189000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:14.189000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:12.028000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:14.189000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:14.189000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:12.028000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -12997,34 +13001,41 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -13033,8 +13044,9 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -13077,267 +13089,259 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-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 READONLY=FALSE;
+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=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'READ_TIMESTAMP'
+@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+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=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
SET READONLY=FALSE;
-@EXPECT RESULT_SET 'READONLY',FALSE
-SHOW VARIABLE READONLY;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READONLY=TRUE;
-@EXPECT RESULT_SET 'READONLY',TRUE
-SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:14.486000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:14.486000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:12.166000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:14.486000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:14.486000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:12.166000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
@@ -13352,34 +13356,34 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -13388,8 +13392,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -13432,75 +13436,68 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
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;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'OPTIMIZER_VERSION'
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -13508,102 +13505,110 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@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 READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT_DML_MODE'
SHOW VARIABLE AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'READ_TIMESTAMP',null
SHOW VARIABLE READ_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
ROLLBACK;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET READONLY=FALSE;
@EXPECT RESULT_SET 'READONLY',FALSE
SHOW VARIABLE READONLY;
@@ -13611,52 +13616,50 @@ SET READONLY=TRUE;
@EXPECT RESULT_SET 'READONLY',TRUE
SHOW VARIABLE READONLY;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:14.772000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:14.772000000Z'
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+SET READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:12.273000000Z';
+@EXPECT RESULT_SET 'READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:12.273000000Z'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:14.772000000Z';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:14.772000000Z'
-SHOW VARIABLE READ_ONLY_STALENESS;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:12.273000000Z';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_RESPONSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION','1'
SHOW VARIABLE OPTIMIZER_VERSION;
@@ -13670,28 +13673,28 @@ SET OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'OPTIMIZER_VERSION',''
SHOW VARIABLE OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'COMMIT_TIMESTAMP',null
SHOW VARIABLE COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
@@ -13699,8 +13702,8 @@ SET OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -13742,47 +13745,44 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT',null
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'READ_ONLY_STALENESS'
SHOW VARIABLE READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
diff --git a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ClientSideStatementsTest.sql b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ClientSideStatementsTest.sql
index 1da75ae122e..2eb95698960 100644
--- a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ClientSideStatementsTest.sql
+++ b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ClientSideStatementsTest.sql
@@ -48776,6 +48776,276 @@ set autocommit = false;
@EXPECT EXCEPTION INVALID_ARGUMENT
set transaction isolation level/-serializable;
NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+ set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+
+
+
+set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed ;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed
+
+;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+set
+transaction
+isolation
+level
+read
+committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed bar;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed%;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read%committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed_;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read_committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed&;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read&committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed$;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read$committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed@;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read@committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed!;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read!committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed*;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read*committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed(;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read(committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed);
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read)committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read-committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed+;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read+committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed-#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read-#committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read/committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed\;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read\committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed?;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read?committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed-/;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read-/committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed/#;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read/#committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set transaction isolation level read committed;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read committed/-;
+NEW_CONNECTION;
+set autocommit = false;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set transaction isolation level read/-committed;
+NEW_CONNECTION;
set session characteristics as transaction read only;
NEW_CONNECTION;
SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;
@@ -49590,140 +49860,345 @@ NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
set session characteristics as transaction isolation level/-serializable;
NEW_CONNECTION;
-set default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
-SET DEFAULT_TRANSACTION_ISOLATION=SERIALIZABLE;
+SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL READ COMMITTED;
NEW_CONNECTION;
-set default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
- set default_transaction_isolation=serializable;
+ set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
- set default_transaction_isolation=serializable;
+ set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
-set default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
-set default_transaction_isolation=serializable ;
+set session characteristics as transaction isolation level read committed ;
NEW_CONNECTION;
-set default_transaction_isolation=serializable ;
+set session characteristics as transaction isolation level read committed ;
NEW_CONNECTION;
-set default_transaction_isolation=serializable
+set session characteristics as transaction isolation level read committed
;
NEW_CONNECTION;
-set default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
-set default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
set
-default_transaction_isolation=serializable;
+session
+characteristics
+as
+transaction
+isolation
+level
+read
+committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-foo set default_transaction_isolation=serializable;
+foo set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable bar;
+set session characteristics as transaction isolation level read committed bar;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-%set default_transaction_isolation=serializable;
+%set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable%;
+set session characteristics as transaction isolation level read committed%;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set%default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read%committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-_set default_transaction_isolation=serializable;
+_set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable_;
+set session characteristics as transaction isolation level read committed_;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set_default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read_committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-&set default_transaction_isolation=serializable;
+&set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable&;
+set session characteristics as transaction isolation level read committed&;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set&default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read&committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-$set default_transaction_isolation=serializable;
+$set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable$;
+set session characteristics as transaction isolation level read committed$;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set$default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read$committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-@set default_transaction_isolation=serializable;
+@set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable@;
+set session characteristics as transaction isolation level read committed@;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set@default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read@committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-!set default_transaction_isolation=serializable;
+!set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable!;
+set session characteristics as transaction isolation level read committed!;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set!default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read!committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-*set default_transaction_isolation=serializable;
+*set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable*;
+set session characteristics as transaction isolation level read committed*;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set*default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read*committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-(set default_transaction_isolation=serializable;
+(set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable(;
+set session characteristics as transaction isolation level read committed(;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set(default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read(committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-)set default_transaction_isolation=serializable;
+)set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable);
+set session characteristics as transaction isolation level read committed);
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set)default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read)committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
--set default_transaction_isolation=serializable;
+-set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable-;
+set session characteristics as transaction isolation level read committed-;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set-default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read-committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-+set default_transaction_isolation=serializable;
++set session characteristics as transaction isolation level read committed;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set default_transaction_isolation=serializable+;
+set session characteristics as transaction isolation level read committed+;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-set+default_transaction_isolation=serializable;
+set session characteristics as transaction isolation level read+committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set session characteristics as transaction isolation level read committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read committed-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read-#committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set session characteristics as transaction isolation level read committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read committed/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read/committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set session characteristics as transaction isolation level read committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read committed\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read\committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set session characteristics as transaction isolation level read committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read committed?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read?committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set session characteristics as transaction isolation level read committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read committed-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read-/committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set session characteristics as transaction isolation level read committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read committed/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read/#committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set session characteristics as transaction isolation level read committed;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read committed/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set session characteristics as transaction isolation level read/-committed;
+NEW_CONNECTION;
+set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION=SERIALIZABLE;
+NEW_CONNECTION;
+set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+ set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+ set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+set default_transaction_isolation=serializable ;
+NEW_CONNECTION;
+set default_transaction_isolation=serializable ;
+NEW_CONNECTION;
+set default_transaction_isolation=serializable
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+set
+default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation=serializable bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation=serializable%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set%default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation=serializable_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set_default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation=serializable&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set&default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation=serializable$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set$default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation=serializable@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set@default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation=serializable!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set!default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation=serializable*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set*default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation=serializable(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set(default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation=serializable);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set)default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation=serializable-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set-default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation=serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation=serializable+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set+default_transaction_isolation=serializable;
NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
-#set default_transaction_isolation=serializable;
@@ -50588,6 +51063,2406 @@ NEW_CONNECTION;
@EXPECT EXCEPTION INVALID_ARGUMENT
set default_transaction_isolation =/-"SERIALIZABLE";
NEW_CONNECTION;
+set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION TO SERIALIZABLE;
+NEW_CONNECTION;
+set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+ set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+ set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+set default_transaction_isolation to serializable ;
+NEW_CONNECTION;
+set default_transaction_isolation to serializable ;
+NEW_CONNECTION;
+set default_transaction_isolation to serializable
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+set
+default_transaction_isolation
+to
+serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to%serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to_serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to&serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to$serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to@serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to!serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to*serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to(serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable);
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to)serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to-serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to+serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to-#serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to/serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to\serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to?serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to-/serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to/#serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation to serializable;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to serializable/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to/-serializable;
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION TO 'SERIALIZABLE';
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+ set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+ set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable' ;
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable' ;
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable'
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+set
+default_transaction_isolation
+to
+'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to%'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to_'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to&'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to$'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to@'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to!'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to*'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to('serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to)'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to-'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to+'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to-#'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to/'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to\'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to?'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to-/'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to/#'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to/-'serializable';
+NEW_CONNECTION;
+set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION = 'SERIALIZABLE';
+NEW_CONNECTION;
+set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+ set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+ set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+set default_transaction_isolation = 'serializable' ;
+NEW_CONNECTION;
+set default_transaction_isolation = 'serializable' ;
+NEW_CONNECTION;
+set default_transaction_isolation = 'serializable'
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+set
+default_transaction_isolation
+=
+'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =%'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =_'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =&'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =$'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =@'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =!'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =*'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =('serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =)'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =-'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =+'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =-#'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =/'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =\'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =?'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =-/'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =/#'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation = 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'serializable'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =/-'serializable';
+NEW_CONNECTION;
+set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION = "SERIALIZABLE";
+NEW_CONNECTION;
+set default_transaction_isolation = "serializable";
+NEW_CONNECTION;
+ set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+ set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+set default_transaction_isolation = "SERIALIZABLE" ;
+NEW_CONNECTION;
+set default_transaction_isolation = "SERIALIZABLE" ;
+NEW_CONNECTION;
+set default_transaction_isolation = "SERIALIZABLE"
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+set
+default_transaction_isolation
+=
+"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE" bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =%"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =_"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =&"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =$"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =@"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =!"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =*"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =("SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE");
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =)"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =-"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =+"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =-#"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =/"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =\"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =?"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =-/"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =/#"SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation = "SERIALIZABLE";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "SERIALIZABLE"/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation =/-"SERIALIZABLE";
+NEW_CONNECTION;
+set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION='READ COMMITTED';
+NEW_CONNECTION;
+set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+ set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+ set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+set default_transaction_isolation='read committed' ;
+NEW_CONNECTION;
+set default_transaction_isolation='read committed' ;
+NEW_CONNECTION;
+set default_transaction_isolation='read committed'
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+set
+default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read%committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read_committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read&committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read$committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read@committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read!committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read*committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read(committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read)committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read-committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read+committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read-#committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read/committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read\committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read?committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read-/committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read/#committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation='read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read committed'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation='read/-committed';
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION TO 'READ COMMITTED';
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+ set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+ set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed' ;
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed' ;
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed'
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+set
+default_transaction_isolation
+to
+'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read%committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read_committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read&committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read$committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read@committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read!committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read*committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read(committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read)committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read-committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read+committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read-#committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read/committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read\committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read?committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read-/committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read/#committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read/-committed';
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION TO 'SERIALIZABLE';
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+ set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+ set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable' ;
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable' ;
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable'
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+set
+default_transaction_isolation
+to
+'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to%'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to_'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to&'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to$'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to@'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to!'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to*'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to('serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to)'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to-'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to+'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to-#'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to/'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to\'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to?'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to-/'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to/#'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation to 'serializable';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'serializable'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to/-'serializable';
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION = 'READ COMMITTED';
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+ set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+ set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed' ;
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed' ;
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed'
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+set
+default_transaction_isolation
+=
+'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read%committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read_committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read&committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read$committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read@committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read!committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read*committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read(committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read)committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read-committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read+committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read-#committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read/committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read\committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read?committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read-/committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read/#committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read/-committed';
+NEW_CONNECTION;
+set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION = "READ COMMITTED";
+NEW_CONNECTION;
+set default_transaction_isolation = "read committed";
+NEW_CONNECTION;
+ set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+ set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+set default_transaction_isolation = "READ COMMITTED" ;
+NEW_CONNECTION;
+set default_transaction_isolation = "READ COMMITTED" ;
+NEW_CONNECTION;
+set default_transaction_isolation = "READ COMMITTED"
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+set
+default_transaction_isolation
+=
+"READ
+COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED" bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ%COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ_COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ&COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ$COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ@COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ!COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ*COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ(COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED");
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ)COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ-COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ+COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ-#COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ/COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ\COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ?COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ-/COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ/#COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ/-COMMITTED";
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION TO 'READ COMMITTED';
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+ set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+ set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed' ;
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed' ;
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed'
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+set
+default_transaction_isolation
+to
+'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read%committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read_committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read&committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read$committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read@committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read!committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read*committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read(committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read)committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read-committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read+committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read-#committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read/committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read\committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read?committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read-/committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read/#committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation to 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read committed'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation to 'read/-committed';
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION = 'READ COMMITTED';
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+ set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+ set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed' ;
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed' ;
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed'
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+set
+default_transaction_isolation
+=
+'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed' bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read%committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read_committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read&committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read$committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read@committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read!committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read*committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read(committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed');
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read)committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read-committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read+committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read-#committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read/committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read\committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read?committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read-/committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read/#committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation = 'read committed';
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read committed'/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = 'read/-committed';
+NEW_CONNECTION;
+set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+SET DEFAULT_TRANSACTION_ISOLATION = "READ COMMITTED";
+NEW_CONNECTION;
+set default_transaction_isolation = "read committed";
+NEW_CONNECTION;
+ set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+ set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+
+
+
+set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+set default_transaction_isolation = "READ COMMITTED" ;
+NEW_CONNECTION;
+set default_transaction_isolation = "READ COMMITTED" ;
+NEW_CONNECTION;
+set default_transaction_isolation = "READ COMMITTED"
+
+;
+NEW_CONNECTION;
+set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+set
+default_transaction_isolation
+=
+"READ
+COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+foo set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED" bar;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+%set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"%;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ%COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+_set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"_;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ_COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+&set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"&;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ&COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+$set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"$;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ$COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+@set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"@;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ@COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+!set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"!;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ!COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+*set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"*;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ*COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+(set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"(;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ(COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+)set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED");
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ)COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ-COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
++set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"+;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ+COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-#set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"-#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ-#COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ/COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+\set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"\;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ\COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+?set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"?;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ?COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+-/set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"-/;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ-/COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/#set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"/#;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ/#COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+/-set default_transaction_isolation = "READ COMMITTED";
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ COMMITTED"/-;
+NEW_CONNECTION;
+@EXPECT EXCEPTION INVALID_ARGUMENT
+set default_transaction_isolation = "READ/-COMMITTED";
+NEW_CONNECTION;
set default_transaction_isolation = DEFAULT;
NEW_CONNECTION;
SET DEFAULT_TRANSACTION_ISOLATION = DEFAULT;
diff --git a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ConnectionImplGeneratedSqlScriptTest.sql b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ConnectionImplGeneratedSqlScriptTest.sql
index d633f9335d8..35aa13b8e7f 100644
--- a/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ConnectionImplGeneratedSqlScriptTest.sql
+++ b/google-cloud-spanner/src/test/resources/com/google/cloud/spanner/connection/postgresql/ConnectionImplGeneratedSqlScriptTest.sql
@@ -1,23 +1,23 @@
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -26,123 +26,125 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -151,58 +153,60 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:03.457000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:03.457000000Z'
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:06.867000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:06.867000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:03.457000000Z';
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:06.867000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:06.867000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -217,34 +221,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -253,8 +257,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -297,45 +301,46 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -346,28 +351,36 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-COMMIT;
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -376,123 +389,173 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+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 SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -501,58 +564,78 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:03.863000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:03.863000000Z'
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:07.189000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:07.189000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:03.863000000Z';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:07.189000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:07.189000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -567,34 +650,48 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -603,8 +700,10 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -647,45 +746,62 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-NEW_CONNECTION;
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -696,324 +812,207 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
-SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:04.369000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:04.369000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:07.412000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:07.412000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:04.369000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:07.412000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -1028,55 +1027,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -1085,11 +1063,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
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;
@@ -1132,116 +1107,71 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -1250,195 +1180,125 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -1447,85 +1307,60 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:04.820000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:04.820000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:07.649000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:07.649000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:04.820000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:07.649000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:07.649000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -1540,55 +1375,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -1597,11 +1411,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -1644,69 +1455,46 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -1717,208 +1505,217 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:05.129000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:05.129000000Z'
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:07.903000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:07.903000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:05.129000000Z';
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:07.903000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:07.903000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -1933,34 +1730,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -1969,8 +1766,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2013,282 +1810,230 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
+SET AUTOCOMMIT=TRUE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:05.486000000Z';
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:08.087000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:08.087000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:05.486000000Z';
+SET AUTOCOMMIT=TRUE;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:08.087000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:08.087000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -2303,41 +2048,27 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -2346,9 +2077,7 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2391,254 +2120,254 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
+COMMIT;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
+SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:05.892000000Z';
+COMMIT;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:08.263000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:08.263000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:05.892000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:08.263000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -2654,33 +2383,33 @@ SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -2690,7 +2419,7 @@ SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -2734,66 +2463,76 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+COMMIT;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -2803,98 +2542,122 @@ SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -2904,48 +2667,57 @@ SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:06.209000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:06.209000000Z'
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:08.430000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:08.430000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:06.209000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:08.430000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -2961,26 +2733,33 @@ SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -2990,6 +2769,7 @@ SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -3033,36 +2813,44 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -3074,26 +2862,39 @@ BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -3101,134 +2902,196 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-@EXPECT UPDATE_COUNT 1
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
+@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);
-UPDATE foo SET bar=1;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -3236,59 +3099,86 @@ SET SPANNER.READONLY=TRUE;
@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:06.622000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:06.622000000Z'
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:08.614000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:08.614000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:06.622000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:08.614000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -3302,35 +3192,56 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -3338,9 +3249,12 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+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;
@@ -3382,84 +3296,117 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-COMMIT;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -3467,182 +3414,196 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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
+BEGIN TRANSACTION;
+@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);
-UPDATE foo SET bar=1;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -3650,77 +3611,86 @@ SET SPANNER.READONLY=TRUE;
@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:06.941000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:06.941000000Z'
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:08.813000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:08.813000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:06.941000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:08.813000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -3734,49 +3704,56 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -3784,11 +3761,12 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+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;
@@ -3830,305 +3808,282 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-RUN BATCH;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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;
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-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 SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:07.222000000Z';
+BEGIN TRANSACTION;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:08.959000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:08.959000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:07.222000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:08.959000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -4142,42 +4097,35 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -4185,10 +4133,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -4230,255 +4177,283 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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;
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
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;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:07.545000000Z';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.120000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:07.545000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.120000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -4492,35 +4467,42 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -4528,9 +4510,10 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -4572,378 +4555,255 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-START BATCH DDL;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@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 SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:07.893000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:07.893000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.269000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:07.893000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.269000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -4957,56 +4817,35 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -5014,12 +4853,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5061,279 +4897,220 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-COMMIT;
-BEGIN TRANSACTION;
SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ ONLY;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:08.172000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:08.172000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.371000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:09.371000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:08.172000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.371000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -5347,35 +5124,28 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -5383,9 +5153,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5427,267 +5196,243 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=FALSE;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT UPDATE_COUNT 1
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
-SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:08.442000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:08.442000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.456000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:08.442000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.456000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -5702,34 +5447,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -5738,8 +5483,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -5782,381 +5527,284 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET AUTOCOMMIT=TRUE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-@EXPECT UPDATE_COUNT 1
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
-SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:08.787000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:08.787000000Z'
+SET TRANSACTION READ ONLY;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.544000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:09.544000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:08.787000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.544000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -6171,55 +5819,41 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -6228,11 +5862,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -6275,113 +5907,87 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-ROLLBACK;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
@@ -6391,166 +5997,150 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -6562,10 +6152,9 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -6577,18 +6166,17 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
@@ -6598,84 +6186,77 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:09.203000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:09.203000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.765000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:09.765000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:09.203000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.765000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:09.765000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -6691,54 +6272,47 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -6748,10 +6322,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -6795,67 +6368,61 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@@ -6866,138 +6433,137 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -7009,68 +6575,68 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READONLY=TRUE;
+SET SPANNER.READONLY=FALSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:09.473000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:09.473000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:09.915000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:09.915000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:09.473000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:09.915000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -7086,33 +6652,33 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -7122,7 +6688,7 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -7166,206 +6732,193 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+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 SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7376,76 +6929,76 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET SPANNER.READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:09.790000000Z';
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.084000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.084000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:09.790000000Z';
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.084000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:10.084000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -7460,41 +7013,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -7503,9 +7049,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -7548,190 +7093,200 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'TEST',1
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -7742,65 +7297,76 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:10.126000000Z';
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.253000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.253000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:10.126000000Z';
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.253000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:10.253000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -7815,34 +7381,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -7851,8 +7417,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -7895,67 +7461,81 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
+BEGIN TRANSACTION;
SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
-BEGIN TRANSACTION;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
+BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=TRUE;
+UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -7964,83 +7544,130 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+@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 SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -8051,7 +7678,9 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -8062,11 +7691,16 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -8075,49 +7709,69 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:10.401000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:10.401000000Z'
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.395000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.395000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:10.401000000Z';
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.395000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:10.395000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -8132,27 +7786,41 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -8161,7 +7829,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -8204,36 +7874,54 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -8243,201 +7931,232 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=FALSE;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
-NEW_CONNECTION;
-SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
+NEW_CONNECTION;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
+SELECT 1 AS TEST;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-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 SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
+SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:10.660000000Z';
+SELECT 1 AS TEST;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.530000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.530000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:10.660000000Z';
+SELECT 1 AS TEST;
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.530000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:10.530000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -8453,33 +8172,33 @@ SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -8489,7 +8208,7 @@ SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -8533,283 +8252,242 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
+BEGIN TRANSACTION;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-START BATCH DDL;
+SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
+@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
+SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
+SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:10.914000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:10.914000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.644000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.644000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:10.914000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.644000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-11-23T19:27:10.644000000Z'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
+SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -8825,40 +8503,26 @@ SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -8868,8 +8532,6 @@ SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -8913,86 +8575,66 @@ SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
+SELECT 1 AS TEST;
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
@@ -9002,150 +8644,103 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -9157,9 +8752,7 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
@@ -9171,17 +8764,12 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
@@ -9191,77 +8779,57 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:11.258000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:11.258000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.742000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.742000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:11.258000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:11.258000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.742000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -9277,47 +8845,33 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -9327,9 +8881,7 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -9373,61 +8925,43 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
@@ -9438,138 +8972,198 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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 SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
+SHOW VARIABLE AUTOCOMMIT;
+SET AUTOCOMMIT=TRUE;
+@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
+SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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 SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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 SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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 SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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;
@@ -9580,69 +9174,95 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.READONLY=FALSE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
+SHOW VARIABLE SPANNER.READONLY;
+SET SPANNER.READONLY=TRUE;
+@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
+SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:11.555000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:11.555000000Z'
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:10.880000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:10.880000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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 SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:11.555000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:10.880000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET 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 SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -9657,34 +9277,48 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -9693,8 +9327,10 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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;
@@ -9737,272 +9373,303 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+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 SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+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);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-BEGIN TRANSACTION;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+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 SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+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;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT UPDATE_COUNT 1
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT RESULT_SET 'TEST',1
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
START BATCH DDL;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+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 SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:11.865000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:11.865000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.023000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:11.865000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:11.865000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.023000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -10018,33 +9685,40 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -10054,7 +9728,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+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'
@@ -10098,280 +9773,254 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+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 SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT UPDATE_COUNT 1
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'TEST',1
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:12.219000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:12.219000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.139000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:12.219000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:12.219000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.139000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -10386,34 +10035,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -10422,8 +10071,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -10466,81 +10115,83 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -10549,130 +10200,167 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -10683,9 +10371,11 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -10696,16 +10386,19 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -10714,69 +10407,85 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:12.582000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:12.582000000Z'
+COMMIT;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.290000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:11.290000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:12.582000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:12.582000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.290000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -10791,41 +10500,55 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -10834,9 +10557,11 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -10879,54 +10604,68 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+COMMIT;
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+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;
@@ -10936,232 +10675,207 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT UPDATE_COUNT 1
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-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);
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-START BATCH DML;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-UPDATE foo SET bar=1;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:12.892000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:12.892000000Z'
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.399000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:11.399000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:12.892000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:12.892000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.399000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -11176,34 +10890,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -11212,8 +10926,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -11256,73 +10970,71 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-BEGIN TRANSACTION;
-SELECT 1 AS TEST;
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET AUTOCOMMIT=FALSE;
+SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -11331,88 +11043,104 @@ SET AUTOCOMMIT=TRUE;
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.AUTOCOMMIT_DML_MODE='TRANSACTIONAL';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','TRANSACTIONAL'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
-@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE','PARTITIONED_NON_ATOMIC'
-SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
START BATCH DDL;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -11423,7 +11151,8 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
START BATCH DDL;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
START BATCH DML;
@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@@ -11434,12 +11163,13 @@ UPDATE foo SET bar=1;
START BATCH DML;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
ROLLBACK;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -11448,51 +11178,58 @@ SET SPANNER.READONLY=TRUE;
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:13.175000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:13.175000000Z'
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.499000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:11.499000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:13.175000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:13.175000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.499000000Z';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -11507,27 +11244,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -11536,7 +11280,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -11579,38 +11324,44 @@ SET STATEMENT_TIMEOUT='0ns';
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
COMMIT;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
BEGIN TRANSACTION;
SELECT 1 AS TEST;
UPDATE foo SET bar=1;
@@ -11620,27 +11371,40 @@ CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
BEGIN TRANSACTION;
NEW_CONNECTION;
SET SPANNER.READONLY=FALSE;
-SET AUTOCOMMIT=TRUE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 10s';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -11648,126 +11412,206 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -11775,61 +11619,86 @@ SET SPANNER.READONLY=TRUE;
@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:13.444000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:13.444000000Z'
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.664000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:11.664000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:13.444000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:13.444000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.664000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -11843,35 +11712,56 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -11879,9 +11769,12 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -11923,85 +11816,113 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 10s';
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.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 SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET AUTOCOMMIT=FALSE;
@@ -12011,172 +11932,204 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.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 SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.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 SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.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 SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.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 SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.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 SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET SPANNER.READONLY=FALSE;
@@ -12186,77 +12139,84 @@ SET SPANNER.READONLY=TRUE;
@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:13.763000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:13.763000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.866000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:11.866000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:13.763000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:13.763000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.866000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET SPANNER.OPTIMIZER_VERSION='1';
@@ -12272,47 +12232,54 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
+@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP'
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@@ -12322,9 +12289,10 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
SET STATEMENT_TIMEOUT='1s';
@@ -12368,273 +12336,283 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.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 SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+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 SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET AUTOCOMMIT=FALSE;
-NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
SET AUTOCOMMIT=TRUE;
+NEW_CONNECTION;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READONLY=FALSE;
-NEW_CONNECTION;
SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+NEW_CONNECTION;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:14.050000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:14.050000000Z'
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:11.978000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:11.978000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:14.050000000Z';
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:11.978000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -12649,34 +12627,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -12685,8 +12663,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -12729,260 +12707,286 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
-@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.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;
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:14.340000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:14.340000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:12.092000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:14.340000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:14.340000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:12.092000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -12997,34 +13001,41 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -13033,8 +13044,9 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -13077,267 +13089,259 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-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 SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
+SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
+SET SPANNER.READONLY=FALSE;
SET AUTOCOMMIT=FALSE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
-SHOW VARIABLE AUTOCOMMIT;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET AUTOCOMMIT=TRUE;
-@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
-SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP'
+@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
+@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
SET SPANNER.READONLY=FALSE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
-SHOW VARIABLE SPANNER.READONLY;
+SET AUTOCOMMIT=FALSE;
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READONLY=TRUE;
-@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
-SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='STRONG';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:14.630000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:14.630000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:12.225000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:14.630000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:14.630000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:12.225000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
@@ -13352,34 +13356,34 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
@@ -13388,8 +13392,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
@@ -13432,75 +13436,68 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SELECT 1 AS TEST;
-BEGIN TRANSACTION;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
@EXPECT EXCEPTION FAILED_PRECONDITION
-UPDATE foo SET bar=1;
-@EXPECT EXCEPTION FAILED_PRECONDITION
-CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
-@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
ABORT BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'AUTOCOMMIT',FALSE
SHOW VARIABLE AUTOCOMMIT;
@@ -13508,102 +13505,110 @@ SET AUTOCOMMIT=TRUE;
@EXPECT RESULT_SET 'AUTOCOMMIT',TRUE
SHOW VARIABLE AUTOCOMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT UPDATE_COUNT 1
UPDATE foo SET bar=1;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.AUTOCOMMIT_DML_MODE='PARTITIONED_NON_ATOMIC';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'TEST',1
SELECT 1 AS TEST;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.AUTOCOMMIT_DML_MODE'
SHOW VARIABLE SPANNER.AUTOCOMMIT_DML_MODE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ ONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET TRANSACTION READ WRITE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.READ_TIMESTAMP',null
SHOW VARIABLE SPANNER.READ_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DDL;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+UPDATE foo SET bar=1;
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DDL;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+START BATCH DML;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SELECT 1 AS TEST;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
+UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
START BATCH DML;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
ROLLBACK;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET SPANNER.READONLY=FALSE;
@EXPECT RESULT_SET 'SPANNER.READONLY',FALSE
SHOW VARIABLE SPANNER.READONLY;
@@ -13611,52 +13616,50 @@ SET SPANNER.READONLY=TRUE;
@EXPECT RESULT_SET 'SPANNER.READONLY',TRUE
SHOW VARIABLE SPANNER.READONLY;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET SPANNER.READ_ONLY_STALENESS='STRONG';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','STRONG'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-10-28T19:20:14.899000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-10-28T19:20:14.899000000Z'
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+SET SPANNER.READ_ONLY_STALENESS='READ_TIMESTAMP 2022-11-23T19:27:12.311000000Z';
+@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','READ_TIMESTAMP 2022-11-23T19:27:12.311000000Z'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-10-28T19:20:14.899000000Z';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MIN_READ_TIMESTAMP 2022-10-28T19:20:14.899000000Z'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READ_ONLY_STALENESS='MIN_READ_TIMESTAMP 2022-11-23T19:27:12.311000000Z';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 1s';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 1s'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
+@EXPECT EXCEPTION FAILED_PRECONDITION
SET SPANNER.READ_ONLY_STALENESS='MAX_STALENESS 100ms';
-@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','MAX_STALENESS 100ms'
-SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET SPANNER.READ_ONLY_STALENESS='EXACT_STALENESS 100us';
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS','EXACT_STALENESS 100us'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_RESPONSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET SPANNER.OPTIMIZER_VERSION='1';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION','1'
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
@@ -13670,28 +13673,28 @@ SET SPANNER.OPTIMIZER_VERSION='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_VERSION',''
SHOW VARIABLE SPANNER.OPTIMIZER_VERSION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.COMMIT_TIMESTAMP',null
SHOW VARIABLE SPANNER.COMMIT_TIMESTAMP;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='custom-package';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE','custom-package'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
@@ -13699,8 +13702,8 @@ SET SPANNER.OPTIMIZER_STATISTICS_PACKAGE='';
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE',''
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET STATEMENT_TIMEOUT='1s';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','1s'
SHOW VARIABLE STATEMENT_TIMEOUT;
@@ -13742,47 +13745,44 @@ SET STATEMENT_TIMEOUT='0ns';
@EXPECT RESULT_SET 'STATEMENT_TIMEOUT','0'
SHOW VARIABLE STATEMENT_TIMEOUT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.READ_ONLY_STALENESS'
SHOW VARIABLE SPANNER.READ_ONLY_STALENESS;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
COMMIT;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT RESULT_SET 'SPANNER.OPTIMIZER_STATISTICS_PACKAGE'
SHOW VARIABLE SPANNER.OPTIMIZER_STATISTICS_PACKAGE;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
@EXPECT EXCEPTION FAILED_PRECONDITION
RUN BATCH;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
-@EXPECT EXCEPTION FAILED_PRECONDITION
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
SET SPANNER.TRANSACTION_TAG = 'some-tag';
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;
BEGIN TRANSACTION;
SELECT 1 AS TEST;
-@EXPECT EXCEPTION FAILED_PRECONDITION
UPDATE foo SET bar=1;
@EXPECT EXCEPTION FAILED_PRECONDITION
CREATE TABLE foo (id INT64 NOT NULL, name STRING(100)) PRIMARY KEY (id);
@EXPECT EXCEPTION FAILED_PRECONDITION
BEGIN TRANSACTION;
NEW_CONNECTION;
-SET SPANNER.READONLY=TRUE;
-SET AUTOCOMMIT=TRUE;
+SET SPANNER.READONLY=FALSE;
+SET AUTOCOMMIT=FALSE;