@@ -8,15 +8,19 @@ namespace Ydb.Sdk.Ado;
88/// <remarks>
99/// TransactionMode defines the isolation level and consistency guarantees
1010/// for database operations within a transaction.
11+ ///
12+ /// For more information about YDB transaction modes, see:
13+ /// <see href="https://ydb.tech/docs/en/concepts/transactions">YDB Transactions Documentation</see>
1114/// </remarks>
1215public enum TransactionMode
1316{
1417 /// <summary>
1518 /// Serializable read-write transaction mode.
1619 /// </summary>
1720 /// <remarks>
18- /// Provides the highest isolation level with full ACID guarantees.
19- /// All reads and writes are serializable, ensuring complete consistency.
21+ /// Provides the strictest isolation level for custom transactions.
22+ /// Guarantees that the result of successful parallel transactions is equivalent
23+ /// to their serial execution, with no read anomalies for successful transactions.
2024 /// This is the default mode for read-write operations.
2125 /// </remarks>
2226 SerializableRw ,
@@ -25,8 +29,9 @@ public enum TransactionMode
2529 /// Snapshot read-only transaction mode.
2630 /// </summary>
2731 /// <remarks>
28- /// Provides a consistent snapshot of the database at a specific point in time.
29- /// All reads within the transaction see the same consistent state.
32+ /// All read operations within the transaction access the database snapshot.
33+ /// All data reads are consistent. The snapshot is taken when the transaction begins,
34+ /// meaning the transaction sees all changes committed before it began.
3035 /// Only read operations are allowed.
3136 /// </remarks>
3237 SnapshotRo ,
@@ -35,8 +40,9 @@ public enum TransactionMode
3540 /// Stale read-only transaction mode.
3641 /// </summary>
3742 /// <remarks>
38- /// Allows reading potentially stale data for better performance.
39- /// Provides eventual consistency guarantees but may return outdated information.
43+ /// Read operations within the transaction may return results that are slightly
44+ /// out-of-date (lagging by fractions of a second). Each individual read returns
45+ /// consistent data, but no consistency between different reads is guaranteed.
4046 /// Only read operations are allowed.
4147 /// </remarks>
4248 StaleRo ,
@@ -45,8 +51,10 @@ public enum TransactionMode
4551 /// Online read-only transaction mode.
4652 /// </summary>
4753 /// <remarks>
48- /// Provides real-time read access with strong consistency.
49- /// Reads the most recent committed data without allowing inconsistent reads.
54+ /// Each read operation in the transaction reads the data that is most recent
55+ /// at execution time. Each individual read operation returns consistent data,
56+ /// but no consistency is guaranteed between reads. Reading the same table range
57+ /// twice may return different results.
5058 /// Only read operations are allowed.
5159 /// </remarks>
5260 OnlineRo ,
@@ -55,8 +63,10 @@ public enum TransactionMode
5563 /// Online inconsistent read-only transaction mode.
5664 /// </summary>
5765 /// <remarks>
58- /// Provides real-time read access but allows inconsistent reads for better performance.
59- /// May return data from different points in time within the same transaction.
66+ /// Each read operation in the transaction reads the data that is most recent
67+ /// at execution time. Even the data fetched by a particular read operation may
68+ /// contain inconsistent results. This mode provides the highest performance
69+ /// but the lowest consistency guarantees.
6070 /// Only read operations are allowed.
6171 /// </remarks>
6272 OnlineInconsistentRo
0 commit comments