All reads performed during the transaction observe a consistent snapshot
of the database, and the transaction will only successfully commit in the
absence of conflicts between its updates and any concurrent updates that
have occurred since that snapshot. Consequently, in contrast to
SERIALIZABLE transactions, only write-write conflicts are detected in
snapshot transactions.
This isolation level does not support Read-only and Partitioned DML
transactions.
When REPEATABLE_READ is specified on a read-write transaction, the
locking semantics default to OPTIMISTIC.
Serializable
All transactions appear as if they executed in a serial order, even if
some of the reads, writes, and other operations of distinct transactions
actually occurred in parallel. Spanner assigns commit timestamps that
reflect the order of committed transactions to implement this property.
Spanner offers a stronger guarantee than serializability called external
consistency. For further details, please refer to
https://cloud.google.com/spanner/docs/true-time-external-consistency#serializability.
Unspecified
Default value.
If the value is not specified, the SERIALIZABLE isolation level is
used.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[],null,["# Google Cloud Spanner v1 API - Enum TransactionOptions.Types.IsolationLevel (5.1.0)\n\nVersion latestkeyboard_arrow_down\n\n- [5.1.0 (latest)](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [5.0.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/5.0.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [4.6.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.6.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [4.5.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.5.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [4.4.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.4.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [4.3.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.3.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [4.2.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.2.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [4.1.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.1.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [4.0.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.0.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [3.15.1](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.15.1/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [3.14.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.14.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [3.13.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.13.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [3.12.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.12.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [3.11.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.11.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.10.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.9.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.8.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.7.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.6.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.5.0/Google.Cloud.Spanner.V1.TransactionOptions.Types.IsolationLevel) \n\n public enum TransactionOptions.Types.IsolationLevel\n\nReference documentation and code samples for the Google Cloud Spanner v1 API enum TransactionOptions.Types.IsolationLevel.\n\n`IsolationLevel` is used when setting `isolation_level` for a transaction.\n\nNamespace\n---------\n\n[Google.Cloud.Spanner.V1](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Spanner.V1.dll"]]