Skip to content

Commit a1a226d

Browse files
nikvas0Gazizonoki
authored andcommitted
Moved commit "Snapshot Isolation: kqp" from ydb repo
1 parent 64b7462 commit a1a226d

File tree

7 files changed

+34
-2
lines changed

7 files changed

+34
-2
lines changed

include/ydb-cpp-sdk/client/query/tx.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ struct TTxSettings {
3838
return TTxSettings(TS_SNAPSHOT_RO);
3939
}
4040

41+
static TTxSettings SnapshotRW() {
42+
return TTxSettings(TS_SNAPSHOT_RW);
43+
}
44+
4145
void Out(IOutputStream& out) const {
4246
switch (Mode_) {
4347
case TS_SERIALIZABLE_RW:
@@ -52,6 +56,9 @@ struct TTxSettings {
5256
case TS_SNAPSHOT_RO:
5357
out << "SnapshotRO";
5458
break;
59+
case TS_SNAPSHOT_RW:
60+
out << "SnapshotRW";
61+
break;
5562
default:
5663
out << "Unknown";
5764
break;
@@ -62,7 +69,8 @@ struct TTxSettings {
6269
TS_SERIALIZABLE_RW,
6370
TS_ONLINE_RO,
6471
TS_STALE_RO,
65-
TS_SNAPSHOT_RO
72+
TS_SNAPSHOT_RO,
73+
TS_SNAPSHOT_RW,
6674
};
6775

6876
FLUENT_SETTING(TTxOnlineSettings, OnlineSettings);

include/ydb-cpp-sdk/client/table/table.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1322,6 +1322,10 @@ class TTxSettings {
13221322
return TTxSettings(TS_SNAPSHOT_RO);
13231323
}
13241324

1325+
static TTxSettings SnapshotRW() {
1326+
return TTxSettings(TS_SNAPSHOT_RW);
1327+
}
1328+
13251329
void Out(IOutputStream& out) const {
13261330
switch (Mode_) {
13271331
case TS_SERIALIZABLE_RW:
@@ -1336,6 +1340,9 @@ class TTxSettings {
13361340
case TS_SNAPSHOT_RO:
13371341
out << "SnapshotRO";
13381342
break;
1343+
case TS_SNAPSHOT_RW:
1344+
out << "SnapshotRW";
1345+
break;
13391346
default:
13401347
out << "Unknown";
13411348
break;
@@ -1347,7 +1354,8 @@ class TTxSettings {
13471354
TS_SERIALIZABLE_RW,
13481355
TS_ONLINE_RO,
13491356
TS_STALE_RO,
1350-
TS_SNAPSHOT_RO
1357+
TS_SNAPSHOT_RO,
1358+
TS_SNAPSHOT_RW,
13511359
};
13521360

13531361
FLUENT_SETTING(TTxOnlineSettings, OnlineSettings);

src/api/protos/ydb_query.proto

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,16 @@ message StaleModeSettings {
6262
message SnapshotModeSettings {
6363
}
6464

65+
message SnapshotRWModeSettings {
66+
}
6567

6668
message TransactionSettings {
6769
oneof tx_mode {
6870
SerializableModeSettings serializable_read_write = 1;
6971
OnlineModeSettings online_read_only = 2;
7072
StaleModeSettings stale_read_only = 3;
7173
SnapshotModeSettings snapshot_read_only = 4;
74+
SnapshotRWModeSettings snapshot_read_write = 5;
7275
}
7376
}
7477

src/api/protos/ydb_table.proto

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -879,12 +879,16 @@ message StaleModeSettings {
879879
message SnapshotModeSettings {
880880
}
881881

882+
message SnapshotRWModeSettings {
883+
}
884+
882885
message TransactionSettings {
883886
oneof tx_mode {
884887
SerializableModeSettings serializable_read_write = 1;
885888
OnlineModeSettings online_read_only = 2;
886889
StaleModeSettings stale_read_only = 3;
887890
SnapshotModeSettings snapshot_read_only = 4;
891+
SnapshotRWModeSettings snapshot_read_write = 5;
888892
}
889893
}
890894

src/client/query/client.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ static void SetTxSettings(const TTxSettings& txSettings, Ydb::Query::Transaction
5151
case TTxSettings::TS_SNAPSHOT_RO:
5252
proto->mutable_snapshot_read_only();
5353
break;
54+
case TTxSettings::TS_SNAPSHOT_RW:
55+
proto->mutable_snapshot_read_write();
56+
break;
5457
default:
5558
throw TContractViolation("Unexpected transaction mode.");
5659
}

src/client/query/impl/exec_query.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ static void SetTxSettings(const TTxSettings& txSettings, Ydb::Query::Transaction
3232
case TTxSettings::TS_SNAPSHOT_RO:
3333
proto->mutable_snapshot_read_only();
3434
break;
35+
case TTxSettings::TS_SNAPSHOT_RW:
36+
proto->mutable_snapshot_read_write();
37+
break;
3538
default:
3639
throw TContractViolation("Unexpected transaction mode.");
3740
}

src/client/table/impl/table_client.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1134,6 +1134,9 @@ void TTableClient::TImpl::SetTxSettings(const TTxSettings& txSettings, Ydb::Tabl
11341134
case TTxSettings::TS_SNAPSHOT_RO:
11351135
proto->mutable_snapshot_read_only();
11361136
break;
1137+
case TTxSettings::TS_SNAPSHOT_RW:
1138+
proto->mutable_snapshot_read_write();
1139+
break;
11371140
default:
11381141
throw TContractViolation("Unexpected transaction mode.");
11391142
}

0 commit comments

Comments
 (0)