diff --git a/CHANGELOG.md b/CHANGELOG.md index 716d7705..640af90d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## [Unreleased] +### Core + +- Added + [LINEARIZABLE](https://github.com/tarantool/tarantool/blob/e643f88a5e0c6d9ef2789b2033088fd04e7d39ae/src/box/txn.h#L228) + isolation level. + ### Testcontainers - `CartridgeClusterContainer`: a failed `cartridge replicasets setup` from a YAML topology file diff --git a/tarantool-core/src/main/java/io/tarantool/core/protocol/TransactionIsolationLevel.java b/tarantool-core/src/main/java/io/tarantool/core/protocol/TransactionIsolationLevel.java index b6aecfc3..a04d6673 100644 --- a/tarantool-core/src/main/java/io/tarantool/core/protocol/TransactionIsolationLevel.java +++ b/tarantool-core/src/main/java/io/tarantool/core/protocol/TransactionIsolationLevel.java @@ -6,8 +6,18 @@ package io.tarantool.core.protocol; public enum TransactionIsolationLevel { + /** Take isolation level from global default_isolation_level. */ DEFAULT, + + /** Allow to read committed, but not confirmed changes. */ READ_COMMITTED, + + /** Allow to read only confirmed changes. */ READ_CONFIRMED, - BEST_EFFORT; + + /** Determine isolation level automatically. */ + BEST_EFFORT, + + /** Allow to read only the changes confirmed on any cluster node. */ + LINEARIZABLE; }