Releases: ydb-platform/ydb-dotnet-sdk
Releases · ydb-platform/ydb-dotnet-sdk
v0.12.0
- GetUint64(int ordinal) returns a ulong for Uint8, Uint16, Uint32, Uint64 YDB types.
- GetInt64(int ordinal) returns a int for Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32 YDB types.
- GetUint32(int ordinal) returns a uint for Uint8, Uint16, Uint32 YDB types.
- GetInt32(int ordinal) returns a int for Int8, Int16, Int32, Uint8, Uint16 YDB types.
- GetUint16(int ordinal) returns a ushort for Uint8, Uint16 YDB types.
- GetInt16(int ordinal) returns a short for Int8, Int16, Uint8 YDB types.
- GetDouble(int ordinal) returns a double for Float and Double YDB types.
- Throw InvalidCastException on string.Empty in
GetChar(int ordinal)
. - Changed Ydb.Sdk.Value.InvalidTypeException to InvalidCastException in YdbValueParser.
- Changed InvalidCastException to InvalidOperationException in YdbParameter.
- Added specification tests: YdbCommandTests and YdbParameterTests.
- YdbConnection.Database returns string.Empty if ConnectionStringBuilder is null.
- Propagated cancellationToken in Execute[.*]Async methods.
- When YdbCommand has an open data reader, it throws InvalidOperationException on the setters: CommandText, DbConnection.
- Added checkers to YdbCommand.Prepare().
- CommandText getter doesn't throw an exception if the CommandText property has not been initialized.
Full Changelog: v0.11.0...v0.12.0
v0.11.0
- Fix bug: GetValue(int ordinal) return DBNull.Value if fetched NULL value.
- Fix: NextResult() moves to the next result and skip the first ResultSet.
- Added specification DbDataReaderTests.
- If dataOffset is larger than the length of data, GetChars and GetBytes methods will return 0.
- If YdbDataReader is closed:
throw new InvalidOperationException("The reader is closed")
. - InvalidOperationException on ConnectionString property has not been initialized.
- One YdbTransaction per YdbConnection. Otherwise, throw an exception: InvalidOperationException("A transaction is already in progress; nested/concurrent transactions aren't supported.").
- ConnectionString returns an empty.String when it is not set.
- When a YdbDataReader is closed, if stream is not empty, a YdbTransaction fails if it is not null. A session also fails due to a possible error SessionBusy race condition with the server.
- Fixed bug: Fetch txId from the last result set.
- YdbTransaction CheckDisposed() (invoke rollback if transaction hasn't been committed).
- Dev: Added specification tests for YdbTransaction.
Full Changelog: v0.10.0...v0.11.0
v0.10.0
- Fixed bug in Topic Writer: race condition when session fails, then write operation starts on previous session and new session is created. Messages may be lost.
- Supported in ADO.NET GetSchema(Async). CollectionNames:
- Tables
- TablesWithCollections
- DataSourceInformation
- MetaDataCollections
- Restrictions
- Rename field _onStatus -> _onNotSuccessStatus in YdbDataReader
- If session is not active, do not invoke DeleteNotActiveSession(session)
- AttachStream: connect stream using NodeId
- PoolManager: change pool properties on field
- Delete *Settings.DefaultInstance because it's a singleton object that's changed by tasks when NodeId is set
- DbConnection.Session.OnStatus(status) in YdbTransaction
Full Changelog: v0.9.4...v0.10.0
v0.9.4
- Do not pessimize the node on Grpc.Core.StatusCode.Cancelled and Grpc.Core.StatusCode.DeadlineExceeded.
- Dispose of WriterSession using dispose CancellationToken.
- BidirectionalStream is internal class.
- Move Metadata class to Ydb.Sdk.Services.Topic.
- Fixed memory leak CancellationTokenRegistration.
- Cancel writing tasks after disposing of Writer.
Full Changelog: v0.9.3...v0.9.4
v0.9.3
- Fixed bug in Topic Writer: worker is stopped by disposeCts
- Fixed bug in sql parser ADO.NET: deduplication declare param in YQL query
- Deleted property BufferOverflowRetryTimeoutMs
Full Changelog: v0.9.2...v0.9.3
v0.9.2
- Fixed bug: delete deadline grpc timeout on AttachStream
Full Changelog: v0.9.1...v0.9.2
v0.9.1
- Update log level on AttachStream
Full Changelog: v0.9.0-rc1...v0.9.1
v0.9.0
- Writer client for YDB topics
- Fix: delete default timeout grpc.deadline
Full Changelog: v0.9.0-rc1...v0.9.0
v0.9.0-rc1
- Topic Writer updated release candidate:
- Do not send messages that have a timeout by cancelToken.
- If your value serializer throws an exception, this will be wrapped in a WriterException with unspecified status.
- Added BufferOverflowRetryTimeoutMs to the next try write.
- Rename _disposeTokenSource -> _disposeCts.
- Optimize write worker: if (_toSendBuffer.IsEmpty) continue.
- On RPC errors create DummyWriterSession.
- Message has been skipped because its sequence number is less than or equal to the last processed server's SeqNo.
- Calculate the next sequence number from the calculated previous messages.
Full Changelog: v0.9.0-rc0...v0.9.0-rc1
v0.9.0-rc0
- Topic Writer release candidate
- Fixed: grpc requests go via proxy on Grpc.NET.Client >= 2.44
Full Changelog: v0.8.0...v0.9.0-rc0