Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Ydb.Sdk/src/Ado/YdbConnection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ public override async Task OpenAsync(CancellationToken cancellationToken)
{
throw e switch
{
Driver.TransportException transportException => new YdbException(transportException.Status),
Driver.TransportException transportException => new YdbException(transportException),
StatusUnsuccessfulException unsuccessfulException => new YdbException(unsuccessfulException.Status),
_ => e
};
Expand Down
2 changes: 1 addition & 1 deletion src/Ydb.Sdk/src/Ado/YdbDataReader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -596,7 +596,7 @@ private async ValueTask<State> NextExecPart()

_onNotSuccessStatus(e.Status);

throw new YdbException(e.Status);
throw new YdbException(e);
}
}

Expand Down
8 changes: 5 additions & 3 deletions src/Ydb.Sdk/src/Ado/YdbException.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,17 @@ namespace Ydb.Sdk.Ado;

public class YdbException : DbException
{
public YdbException(string message) : base(message)
internal YdbException(string message) : base(message)
{
}

public YdbException(string message, Exception e) : base(message, e)
internal YdbException(Driver.TransportException transportException)
: this(transportException.Status, transportException.InnerException)
{
}

public YdbException(Status status) : base(status.ToString())
internal YdbException(Status status, Exception? innerException = null)
: base(status.ToString(), innerException)
{
Code = status.StatusCode;
var policy = RetrySettings.DefaultInstance.GetRetryRule(status.StatusCode).Policy;
Expand Down
8 changes: 4 additions & 4 deletions src/Ydb.Sdk/src/Ado/YdbSchema.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ internal static Task<DataTable> GetSchemaAsync(
};
}

internal static Task<IReadOnlyCollection<YdbObject>> SchemaObjects(
private static Task<IReadOnlyCollection<YdbObject>> SchemaObjects(
YdbConnection ydbConnection,
CancellationToken cancellationToken = default
)
Expand All @@ -50,7 +50,7 @@ internal static Task<IReadOnlyCollection<YdbObject>> SchemaObjects(
return SchemaObjects(ydbConnection, WithSuffix(database), database, cancellationToken);
}

internal static async Task<YdbTable> DescribeTable(
private static async Task<YdbTable> DescribeTable(
YdbConnection ydbConnection,
string tableName,
DescribeTableSettings? describeTableSettings = null
Expand Down Expand Up @@ -78,7 +78,7 @@ internal static async Task<YdbTable> DescribeTable(
{
ydbConnection.OnStatus(e.Status);

throw new YdbException("Transport error on DescribeTable", e);
throw new YdbException(e);
}
}

Expand Down Expand Up @@ -461,7 +461,7 @@ await SchemaObjects(
}
catch (Driver.TransportException e)
{
throw new YdbException("Transport error on ListDirectory", e);
throw new YdbException(e);
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/Ydb.Sdk/src/Ado/YdbTransaction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ private async Task FinishTransaction(Func<string, Task<Status>> finishMethod)

DbConnection.OnStatus(e.Status);

throw new YdbException(e.Status);
throw new YdbException(e);
}
finally
{
Expand Down
2 changes: 1 addition & 1 deletion src/Ydb.Sdk/src/Driver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ internal InitializationFailureException(string message) : base(message)

public class TransportException : IOException
{
internal TransportException(RpcException e) : base($"Transport exception: {e.Message}", e)
internal TransportException(RpcException e) : base("Transport exception", e)
{
Status = e.Status.ConvertStatus();
}
Expand Down
8 changes: 4 additions & 4 deletions src/Ydb.Sdk/tests/Ado/YdbExceptionTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ public async Task IsTransient_WhenAborted_ReturnTrueAndMakeEmptyRollback()

ydbCommand.CommandText = $"UPDATE {bankTable} SET amount = amount + @var WHERE id = 1";
ydbCommand.Parameters.AddWithValue("var", DbType.Int32, select);
Assert.True(Assert.Throws<YdbException>(() =>
Assert.True((await Assert.ThrowsAsync<YdbException>(async () =>
{
ydbCommand.ExecuteNonQuery();
ydbCommand.Transaction.Commit();
}).IsTransient);
await ydbCommand.ExecuteNonQueryAsync();
await ydbCommand.Transaction.CommitAsync();
})).IsTransient);
await new YdbCommand(anotherConnection)
{
CommandText = $"DROP TABLE {bankTable}"
Expand Down
Loading