Skip to content

Commit 2c6fd74

Browse files
committed
Update usage of deprecated transactions
1 parent f2c2b3a commit 2c6fd74

File tree

3 files changed

+32
-37
lines changed

3 files changed

+32
-37
lines changed

basic_example/src/main/java/tech/ydb/example/App.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.slf4j.LoggerFactory;
1313

1414
import tech.ydb.auth.iam.CloudAuthHelper;
15+
import tech.ydb.common.transaction.TxMode;
1516
import tech.ydb.core.Status;
1617
import tech.ydb.core.grpc.GrpcReadStream;
1718
import tech.ydb.core.grpc.GrpcTransport;
@@ -24,7 +25,7 @@
2425
import tech.ydb.table.result.ResultSetReader;
2526
import tech.ydb.table.settings.BulkUpsertSettings;
2627
import tech.ydb.table.settings.ExecuteScanQuerySettings;
27-
import tech.ydb.table.transaction.Transaction;
28+
import tech.ydb.table.transaction.TableTransaction;
2829
import tech.ydb.table.transaction.TxControl;
2930
import tech.ydb.table.values.ListType;
3031
import tech.ydb.table.values.ListValue;
@@ -303,6 +304,7 @@ private void scanQueryWithParams(long seriesID, long seasonID) {
303304

304305
private void multiStepTransaction(long seriesID, long seasonID) {
305306
retryCtx.supplyStatus(session -> {
307+
TableTransaction transaction = session.createNewTransaction(TxMode.SERIALIZABLE_RW);
306308
String query1
307309
= "DECLARE $seriesId AS Uint64; "
308310
+ "DECLARE $seasonId AS Uint64; "
@@ -312,8 +314,7 @@ private void multiStepTransaction(long seriesID, long seasonID) {
312314
// Execute first query to get the required values to the client.
313315
// Transaction control settings don't set CommitTx flag to keep transaction active
314316
// after query execution.
315-
TxControl<?> tx1 = TxControl.serializableRw().setCommitTx(false);
316-
DataQueryResult res1 = session.executeDataQuery(query1, tx1, Params.of(
317+
DataQueryResult res1 = transaction.executeDataQuery(query1, Params.of(
317318
"$seriesId", PrimitiveValue.newUint64(seriesID),
318319
"$seasonId", PrimitiveValue.newUint64(seasonID)
319320
)).join().getValue();
@@ -327,7 +328,7 @@ private void multiStepTransaction(long seriesID, long seasonID) {
327328
LocalDate toDate = fromDate.plusDays(15);
328329

329330
// Get active transaction id
330-
String txId = res1.getTxId();
331+
logger.info("got transaction id {}", transaction.getId());
331332

332333
// Construct next query based on the results of client logic
333334
String query2
@@ -340,8 +341,7 @@ private void multiStepTransaction(long seriesID, long seasonID) {
340341
// Execute second query.
341342
// Transaction control settings continues active transaction (tx) and
342343
// commits it at the end of second query execution.
343-
TxControl<?> tx2 = TxControl.id(txId).setCommitTx(true);
344-
DataQueryResult res2 = session.executeDataQuery(query2, tx2, Params.of(
344+
DataQueryResult res2 = transaction.executeDataQueryAndCommit(query2, Params.of(
345345
"$seriesId", PrimitiveValue.newUint64(seriesID),
346346
"$fromDate", PrimitiveValue.newDate(fromDate),
347347
"$toDate", PrimitiveValue.newDate(toDate)
@@ -362,7 +362,7 @@ private void multiStepTransaction(long seriesID, long seasonID) {
362362

363363
private void tclTransaction() {
364364
retryCtx.supplyStatus(session -> {
365-
Transaction transaction = session.beginTransaction(Transaction.Mode.SERIALIZABLE_READ_WRITE)
365+
TableTransaction transaction = session.beginTransaction(TxMode.SERIALIZABLE_RW)
366366
.join().getValue();
367367

368368
String query
@@ -373,8 +373,7 @@ private void tclTransaction() {
373373

374374
// Execute data query.
375375
// Transaction control settings continues active transaction (tx)
376-
TxControl<?> txControl = TxControl.id(transaction).setCommitTx(false);
377-
DataQueryResult result = session.executeDataQuery(query, txControl, params)
376+
DataQueryResult result = transaction.executeDataQuery(query, params)
378377
.join().getValue();
379378

380379
logger.info("get transaction {}", result.getTxId());

query-example/src/main/java/tech/ydb/example/App.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
import org.slf4j.LoggerFactory;
1111

1212
import tech.ydb.auth.iam.CloudAuthHelper;
13+
import tech.ydb.common.transaction.TxMode;
1314
import tech.ydb.core.Status;
1415
import tech.ydb.core.grpc.GrpcTransport;
1516
import tech.ydb.query.QueryClient;
1617
import tech.ydb.query.QueryStream;
1718
import tech.ydb.query.QueryTransaction;
18-
import tech.ydb.query.QueryTx;
1919
import tech.ydb.query.tools.QueryReader;
2020
import tech.ydb.query.tools.SessionRetryContext;
2121
import tech.ydb.table.query.Params;
@@ -73,7 +73,7 @@ private void createTables() {
7373
+ " series_info Text,"
7474
+ " release_date Date,"
7575
+ " PRIMARY KEY(series_id)"
76-
+ ")", QueryTx.NONE).execute()
76+
+ ")", TxMode.NONE).execute()
7777
).join().getStatus().expectSuccess("Can't create table series");
7878

7979
retryCtx.supplyResult(session -> session.createQuery(""
@@ -84,7 +84,7 @@ private void createTables() {
8484
+ " first_aired Date,"
8585
+ " last_aired Date,"
8686
+ " PRIMARY KEY(series_id, season_id)"
87-
+ ")", QueryTx.NONE).execute()
87+
+ ")", TxMode.NONE).execute()
8888
).join().getStatus().expectSuccess("Can't create table seasons");
8989

9090
retryCtx.supplyResult(session -> session.createQuery(""
@@ -95,7 +95,7 @@ private void createTables() {
9595
+ " title Text,"
9696
+ " air_date Date,"
9797
+ " PRIMARY KEY(series_id, season_id, episode_id)"
98-
+ ")", QueryTx.NONE).execute()
98+
+ ")", TxMode.NONE).execute()
9999
).join().getStatus().expectSuccess("Can't create table episodes");
100100
}
101101

@@ -120,7 +120,7 @@ private void upsertTablesData() {
120120
// Upsert list of series to table
121121
retryCtx.supplyResult(session -> session.createQuery(
122122
"UPSERT INTO series SELECT * FROM AS_TABLE($values)",
123-
QueryTx.SERIALIZABLE_RW,
123+
TxMode.SERIALIZABLE_RW,
124124
Params.of("$values", seriesData)
125125
).execute()).join().getStatus().expectSuccess("upsert problem");
126126

@@ -147,7 +147,7 @@ private void upsertTablesData() {
147147
// Upsert list of seasons to table
148148
retryCtx.supplyResult(session -> session.createQuery(
149149
"UPSERT INTO seasons SELECT * FROM AS_TABLE($values)",
150-
QueryTx.SERIALIZABLE_RW,
150+
TxMode.SERIALIZABLE_RW,
151151
Params.of("$values", seasonsData)
152152
).execute()).join().getStatus().expectSuccess("upsert problem");
153153

@@ -174,7 +174,7 @@ private void upsertTablesData() {
174174
// Upsert list of series to episodes
175175
retryCtx.supplyResult(session -> session.createQuery(
176176
"UPSERT INTO episodes SELECT * FROM AS_TABLE($values)",
177-
QueryTx.SERIALIZABLE_RW,
177+
TxMode.SERIALIZABLE_RW,
178178
Params.of("$values", episodesData)
179179
).execute()).join().getStatus().expectSuccess("upsert problem");
180180
}
@@ -185,7 +185,7 @@ private void upsertSimple() {
185185
+ "VALUES (2, 6, 1, \"TBD\");";
186186

187187
// Executes data query with specified transaction control settings.
188-
retryCtx.supplyResult(session -> session.createQuery(query, QueryTx.SERIALIZABLE_RW).execute())
188+
retryCtx.supplyResult(session -> session.createQuery(query, TxMode.SERIALIZABLE_RW).execute())
189189
.join().getValue();
190190
}
191191

@@ -196,7 +196,7 @@ private void selectSimple() {
196196

197197
// Executes data query with specified transaction control settings.
198198
QueryReader result = retryCtx.supplyResult(
199-
session -> QueryReader.readFrom(session.createQuery(query, QueryTx.SERIALIZABLE_RW))
199+
session -> QueryReader.readFrom(session.createQuery(query, TxMode.SERIALIZABLE_RW))
200200
).join().getValue();
201201

202202
logger.info("--[ SelectSimple ]--");
@@ -226,7 +226,7 @@ private void selectWithParams(long seriesID, long seasonID) {
226226
);
227227

228228
QueryReader result = retryCtx.supplyResult(
229-
session -> QueryReader.readFrom(session.createQuery(query, QueryTx.SNAPSHOT_RO, params))
229+
session -> QueryReader.readFrom(session.createQuery(query, TxMode.SNAPSHOT_RO, params))
230230
).join().getValue();
231231

232232
logger.info("--[ SelectWithParams ] -- ");
@@ -258,7 +258,7 @@ private void asyncSelectRead(long seriesID, long seasonID) {
258258

259259
logger.info("--[ ExecuteAsyncQueryWithParams ]--");
260260
retryCtx.supplyResult(session -> {
261-
QueryStream asyncQuery = session.createQuery(query, QueryTx.SNAPSHOT_RO, params);
261+
QueryStream asyncQuery = session.createQuery(query, TxMode.SNAPSHOT_RO, params);
262262
return asyncQuery.execute(part -> {
263263
ResultSetReader rs = part.getResultSetReader();
264264
logger.info("read {} rows of result set {}", rs.getRowCount(), part.getResultSetIndex());
@@ -275,7 +275,7 @@ private void asyncSelectRead(long seriesID, long seasonID) {
275275

276276
private void multiStepTransaction(long seriesID, long seasonID) {
277277
retryCtx.supplyStatus(session -> {
278-
QueryTransaction transaction = session.createNewTransaction(QueryTx.SNAPSHOT_RO);
278+
QueryTransaction transaction = session.createNewTransaction(TxMode.SNAPSHOT_RO);
279279
String query1
280280
= "DECLARE $seriesId AS Uint64; "
281281
+ "DECLARE $seasonId AS Uint64; "
@@ -329,7 +329,7 @@ private void multiStepTransaction(long seriesID, long seasonID) {
329329

330330
private void tclTransaction() {
331331
retryCtx.supplyResult(session -> {
332-
QueryTransaction transaction = session.beginTransaction(QueryTx.SERIALIZABLE_RW)
332+
QueryTransaction transaction = session.beginTransaction(TxMode.SERIALIZABLE_RW)
333333
.join().getValue();
334334

335335
String query
@@ -351,11 +351,11 @@ private void tclTransaction() {
351351
}
352352

353353
private void dropTables() {
354-
retryCtx.supplyResult(session -> session.createQuery("DROP TABLE episodes;", QueryTx.NONE).execute())
354+
retryCtx.supplyResult(session -> session.createQuery("DROP TABLE episodes;", TxMode.NONE).execute())
355355
.join().getStatus().expectSuccess("drop table episodes problem");
356-
retryCtx.supplyResult(session -> session.createQuery("DROP TABLE seasons;", QueryTx.NONE).execute())
356+
retryCtx.supplyResult(session -> session.createQuery("DROP TABLE seasons;", TxMode.NONE).execute())
357357
.join().getStatus().expectSuccess("drop table seasons problem");
358-
retryCtx.supplyResult(session -> session.createQuery("DROP TABLE series;", QueryTx.NONE).execute())
358+
retryCtx.supplyResult(session -> session.createQuery("DROP TABLE series;", TxMode.NONE).execute())
359359
.join().getStatus().expectSuccess("drop table series problem");
360360
}
361361

ydb-cookbook/src/main/java/tech/ydb/examples/simple/ComplexTransaction.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
package tech.ydb.examples.simple;
22

33
import java.time.Duration;
4-
import tech.ydb.core.grpc.GrpcTransport;
54

5+
import tech.ydb.common.transaction.TxMode;
6+
import tech.ydb.core.grpc.GrpcTransport;
67
import tech.ydb.examples.SimpleExample;
78
import tech.ydb.table.Session;
89
import tech.ydb.table.TableClient;
910
import tech.ydb.table.description.TableDescription;
1011
import tech.ydb.table.query.DataQueryResult;
11-
import tech.ydb.table.transaction.Transaction;
12+
import tech.ydb.table.transaction.TableTransaction;
1213
import tech.ydb.table.transaction.TxControl;
1314
import tech.ydb.table.values.PrimitiveType;
1415

@@ -24,7 +25,7 @@ protected void run(GrpcTransport transport, String pathPrefix) {
2425

2526
try (
2627
TableClient tableClient = TableClient.newClient(transport).build();
27-
Session session = tableClient.createSession(Duration.ofSeconds(5)).join().getValue();
28+
Session session = tableClient.createSession(Duration.ofSeconds(5)).join().getValue()
2829
) {
2930

3031
session.dropTable(tablePath)
@@ -40,22 +41,17 @@ protected void run(GrpcTransport transport, String pathPrefix) {
4041
.join()
4142
.expectSuccess("cannot create table");
4243

43-
Transaction transaction = session.beginTransaction(Transaction.Mode.SERIALIZABLE_READ_WRITE)
44-
.join()
45-
.getValue();
44+
TableTransaction transaction = session.beginTransaction(TxMode.SERIALIZABLE_RW)
45+
.join().getValue();
4646

4747
String query1 = "UPSERT INTO [" + tablePath + "] (key, value) VALUES (1, 'one');";
48-
DataQueryResult result1 = session.executeDataQuery(query1, TxControl.id(transaction))
49-
.join()
50-
.getValue();
48+
DataQueryResult result1 = transaction.executeDataQuery(query1).join().getValue();
5149
System.out.println("--[insert1]-------------------");
5250
DataQueryResults.print(result1);
5351
System.out.println("------------------------------");
5452

5553
String query2 = "UPSERT INTO [" + tablePath + "] (key, value) VALUES (2, 'two');";
56-
DataQueryResult result2 = session.executeDataQuery(query2, TxControl.id(transaction))
57-
.join()
58-
.getValue();
54+
DataQueryResult result2 = transaction.executeDataQuery(query2).join().getValue();
5955
System.out.println("--[insert2]-------------------");
6056
DataQueryResults.print(result2);
6157
System.out.println("------------------------------");

0 commit comments

Comments
 (0)