Skip to content

Commit 261d342

Browse files
committed
hot fix
1 parent b6bf0d5 commit 261d342

File tree

10 files changed

+50
-60
lines changed

10 files changed

+50
-60
lines changed
Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
namespace Ydb.Sdk.Ado.BulkUpsert
2-
{
3-
public sealed record BulkUpsertOptions(
4-
TimeSpan? Timeout = null,
5-
CancellationToken CancellationToken = default
6-
);
7-
}
1+
namespace Ydb.Sdk.Ado.BulkUpsert;
2+
3+
public sealed record BulkUpsertOptions(
4+
TimeSpan? Timeout = null,
5+
CancellationToken CancellationToken = default
6+
);

src/Ydb.Sdk/src/Ado/BulkUpsert/TypedValueFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public static TypedValue FromObjects<T>(IReadOnlyCollection<T> rows)
2828
return list.GetProto();
2929
}
3030

31-
private static YdbValue ToYdbValue(object? value, global::System.Type clr)
31+
private static YdbValue ToYdbValue(object? value, System.Type clr)
3232
{
3333
if (value is null) return MakeOptional(clr);
3434

@@ -53,7 +53,7 @@ private static YdbValue ToYdbValue(object? value, global::System.Type clr)
5353
throw new NotSupportedException($"Type '{clr.FullName}' is not supported.");
5454
}
5555

56-
private static YdbValue MakeOptional(global::System.Type clr)
56+
private static YdbValue MakeOptional(System.Type clr)
5757
{
5858
var t = Nullable.GetUnderlyingType(clr) ?? clr;
5959

src/Ydb.Sdk/src/Ado/BulkUpsert/YdbBulkUpsertImporter.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Threading;
4-
using System.Threading.Tasks;
5-
using Ydb.Sdk.Client;
61
using Ydb.Sdk.Services.Table;
72

83
namespace Ydb.Sdk.Ado.BulkUpsert;

src/Ydb.Sdk/src/Ado/YdbConnection.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ internal async Task BulkUpsertInternalAsync<T>(
7171
Rows = TypedValueFactory.FromObjects(rows)
7272
};
7373

74-
if (Session is Ydb.Sdk.Services.Query.Session sessionImpl)
74+
if (Session is Services.Query.Session sessionImpl)
7575
{
7676
var resp = await sessionImpl.BulkUpsertAsync(req, cancellationToken).ConfigureAwait(false);
7777
var status = Status.FromProto(resp.Operation.Status, resp.Operation.Issues);
@@ -93,10 +93,10 @@ public YdbBulkUpsertImporter<T> BeginBulkUpsert<T>(
9393
if (CurrentTransaction is { Completed: false })
9494
throw new InvalidOperationException("BulkUpsert does not support working within a transaction");
9595

96-
var realSession = Session as Ydb.Sdk.Services.Query.Session
96+
var realSession = Session as Services.Query.Session
9797
?? throw new InvalidOperationException("Underlying session does not support bulk upsert");
9898

99-
var driver = realSession.Driver as Ydb.Sdk.Driver
99+
var driver = realSession.Driver as Driver
100100
?? throw new InvalidOperationException("Session driver is not of expected type 'Ydb.Sdk.Driver'");
101101

102102
var tableClient = new TableClient(driver);

src/Ydb.Sdk/src/Ado/YdbDataSource.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,10 @@ public async Task<YdbBulkUpsertImporter<T>> BeginBulkUpsertAsync<T>(
7777
{
7878
var conn = await OpenConnectionAsync(cancellationToken).ConfigureAwait(false);
7979

80-
var realSession = conn.Session as Ydb.Sdk.Services.Query.Session
80+
var realSession = conn.Session as Services.Query.Session
8181
?? throw new InvalidOperationException("Underlying session does not support bulk upsert");
8282

83-
var driver = realSession.Driver as Ydb.Sdk.Driver
83+
var driver = realSession.Driver as Driver
8484
?? throw new InvalidOperationException("Session driver is not of expected type 'Ydb.Sdk.Driver'");
8585

8686
var tableClient = new TableClient(driver);

src/Ydb.Sdk/src/Services/Table/BulkUpsertExtensions.cs

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,29 @@
33
using Ydb.Sdk.Client;
44
using Ydb.Table;
55

6-
namespace Ydb.Sdk.Services.Table
6+
namespace Ydb.Sdk.Services.Table;
7+
8+
public static class BulkUpsertExtensions
79
{
8-
public static class BulkUpsertExtensions
10+
public static async Task<IResponse> BulkUpsertWithRetry<T>(
11+
this TableClient tableClient,
12+
string tablePath,
13+
IReadOnlyCollection<T> rows,
14+
RetrySettings? retrySettings = null)
915
{
10-
public static async Task<IResponse> BulkUpsertWithRetry<T>(
11-
this TableClient tableClient,
12-
string tablePath,
13-
IReadOnlyCollection<T> rows,
14-
RetrySettings? retrySettings = null)
15-
{
16-
return await tableClient.SessionExec(
17-
async session =>
16+
return await tableClient.SessionExec(
17+
async session =>
18+
{
19+
var req = new BulkUpsertRequest
1820
{
19-
var req = new BulkUpsertRequest
20-
{
21-
Table = tablePath,
22-
OperationParams = new OperationParams(),
23-
Rows = TypedValueFactory.FromObjects(rows)
24-
};
25-
var resp = await session.BulkUpsertAsync(req);
26-
return new BulkUpsertResponseAdapter(resp);
27-
},
28-
retrySettings
29-
);
30-
}
21+
Table = tablePath,
22+
OperationParams = new OperationParams(),
23+
Rows = TypedValueFactory.FromObjects(rows)
24+
};
25+
var resp = await session.BulkUpsertAsync(req);
26+
return new BulkUpsertResponseAdapter(resp);
27+
},
28+
retrySettings
29+
);
3130
}
3231
}
Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
using Ydb.Sdk.Client;
2-
using Ydb.Operations;
32
using Ydb.Table;
43

5-
namespace Ydb.Sdk.Services.Table
4+
namespace Ydb.Sdk.Services.Table;
5+
6+
public class BulkUpsertResponseAdapter : IResponse
67
{
7-
public class BulkUpsertResponseAdapter : IResponse
8-
{
9-
public Status Status { get; }
10-
public BulkUpsertResponse Response { get; }
8+
public Status Status { get; }
9+
public BulkUpsertResponse Response { get; }
1110

12-
public BulkUpsertResponseAdapter(BulkUpsertResponse response)
13-
{
14-
Response = response ?? throw new ArgumentNullException(nameof(response));
15-
Status = Status.FromProto(response.Operation.Status, response.Operation.Issues);
16-
}
11+
public BulkUpsertResponseAdapter(BulkUpsertResponse response)
12+
{
13+
Response = response ?? throw new ArgumentNullException(nameof(response));
14+
Status = Status.FromProto(response.Operation.Status, response.Operation.Issues);
1715
}
18-
}
16+
}

src/Ydb.Sdk/src/Services/Table/Session.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,5 +85,4 @@ private async Task<TResponse> UnaryCall<TRequest, TResponse>(
8585

8686
public Task<BulkUpsertResponse> BulkUpsertAsync(BulkUpsertRequest req, CancellationToken ct = default)
8787
=> Driver.UnaryCall(TableService.BulkUpsertMethod, req, new GrpcRequestSettings { CancellationToken = ct });
88-
8988
}

src/Ydb.Sdk/test/Ydb.Sdk.Ado.Tests/YdbConnectionTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ public class TestEntity
319319
public async Task BulkUpsertImporter_HappyPath_С()
320320
{
321321
var tableName = $"BulkTest_{Guid.NewGuid():N}";
322-
var database = new YdbConnectionStringBuilder(_connectionStringTls).Database?.TrimEnd('/');
322+
var database = new YdbConnectionStringBuilder(_connectionStringTls).Database.TrimEnd('/');
323323
var absTablePath = string.IsNullOrEmpty(database) ? tableName : $"{database}/{tableName}";
324324

325325
await using var conn = new YdbConnection(_connectionStringTls);
@@ -366,7 +366,7 @@ PRIMARY KEY (Id)
366366
public async Task BulkUpsert_InsertsNewRows_С()
367367
{
368368
var tableName = $"BulkTest_{Guid.NewGuid():N}";
369-
var database = new YdbConnectionStringBuilder(_connectionStringTls).Database?.TrimEnd('/');
369+
var database = new YdbConnectionStringBuilder(_connectionStringTls).Database.TrimEnd('/');
370370
var absTablePath = string.IsNullOrEmpty(database) ? tableName : $"{database}/{tableName}";
371371

372372
await using var conn = new YdbConnection(_connectionStringTls);
@@ -435,7 +435,7 @@ PRIMARY KEY (Id)
435435
public async Task BulkUpsert_UpdatesExistingRows_С()
436436
{
437437
var tableName = $"BulkTest_{Guid.NewGuid():N}";
438-
var database = new YdbConnectionStringBuilder(_connectionStringTls).Database?.TrimEnd('/');
438+
var database = new YdbConnectionStringBuilder(_connectionStringTls).Database.TrimEnd('/');
439439
var absTablePath = string.IsNullOrEmpty(database) ? tableName : $"{database}/{tableName}";
440440

441441
await using var conn = new YdbConnection(_connectionStringTls);

src/Ydb.Sdk/test/Ydb.Sdk.Ado.Tests/YdbDataSourceTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public class TestEntity
6767
public async Task BulkUpsertImporter_HappyPath_Works_DS()
6868
{
6969
var tableName = "BulkTest_" + Guid.NewGuid().ToString("N");
70-
var database = new YdbConnectionStringBuilder(_dataSource.ConnectionString).Database?.TrimEnd('/');
70+
var database = new YdbConnectionStringBuilder(_dataSource.ConnectionString).Database.TrimEnd('/');
7171

7272
await using var conn = await _dataSource.OpenConnectionAsync();
7373

@@ -115,7 +115,7 @@ PRIMARY KEY (Id)
115115
public async Task BulkUpsertImporter_InsertsNewRows_DS()
116116
{
117117
var tableName = "BulkTest_" + Guid.NewGuid().ToString("N");
118-
var database = new YdbConnectionStringBuilder(_dataSource.ConnectionString).Database?.TrimEnd('/');
118+
var database = new YdbConnectionStringBuilder(_dataSource.ConnectionString).Database.TrimEnd('/');
119119

120120
await using var conn = await _dataSource.OpenConnectionAsync();
121121

@@ -187,7 +187,7 @@ PRIMARY KEY (Id)
187187
public async Task BulkUpsertImporter_UpdatesExistingRows_DS()
188188
{
189189
var tableName = "BulkTest_" + Guid.NewGuid().ToString("N");
190-
var database = new YdbConnectionStringBuilder(_dataSource.ConnectionString).Database?.TrimEnd('/');
190+
var database = new YdbConnectionStringBuilder(_dataSource.ConnectionString).Database.TrimEnd('/');
191191

192192
await using var conn = await _dataSource.OpenConnectionAsync();
193193

0 commit comments

Comments
 (0)