|
| 1 | +* Fixed: YdbDataReader does not throw YdbException when CloseAsync is called for UPDATE/INSERT statements with no |
| 2 | + result. |
| 3 | + |
1 | 4 | ## v0.14.0 |
| 5 | + |
2 | 6 | * Reader client for YDB topics |
3 | 7 | * Fixed: send PartitionIds in InitRequest. |
4 | 8 | * Do a committed offset on StopPartitionSessionRequest event anyway. |
|
13 | 17 | * Added support for "Columns" collectionName in YdbConnection.GetSchema(Async). |
14 | 18 |
|
15 | 19 | ## v0.12.0 |
| 20 | + |
16 | 21 | * GetUint64(int ordinal) returns a ulong for Uint8, Uint16, Uint32, Uint64 YDB types. |
17 | 22 | * GetInt64(int ordinal) returns a int for Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32 YDB types. |
18 | 23 | * GetUint32(int ordinal) returns a uint for Uint8, Uint16, Uint32 YDB types. |
|
26 | 31 | * Added specification tests: YdbCommandTests and YdbParameterTests. |
27 | 32 | * YdbConnection.Database returns string.Empty if ConnectionStringBuilder is null. |
28 | 33 | * Propagated cancellationToken in Execute[.*]Async methods. |
29 | | -* When YdbCommand has an open data reader, it throws InvalidOperationException on the setters: CommandText, DbConnection. |
| 34 | +* When YdbCommand has an open data reader, it throws InvalidOperationException on the setters: CommandText, |
| 35 | + DbConnection. |
30 | 36 | * Added checkers to YdbCommand.Prepare(). |
31 | 37 | * CommandText getter doesn't throw an exception if the CommandText property has not been initialized. |
32 | 38 |
|
33 | 39 | ## v0.11.0 |
| 40 | + |
34 | 41 | * Fix bug: GetValue(int ordinal) return DBNull.Value if fetched NULL value. |
35 | 42 | * Fix: NextResult() moves to the next result and skip the first ResultSet. |
36 | 43 | * Added specification DbDataReaderTests. |
37 | 44 | * If dataOffset is larger than the length of data, GetChars and GetBytes methods will return 0. |
38 | 45 | * If YdbDataReader is closed: `throw new InvalidOperationException("The reader is closed")`. |
39 | 46 | * InvalidOperationException on ConnectionString property has not been initialized. |
40 | | -* One YdbTransaction per YdbConnection. Otherwise, throw an exception: InvalidOperationException("A transaction is already in progress; nested/concurrent transactions aren't supported."). |
| 47 | +* One YdbTransaction per YdbConnection. Otherwise, throw an exception: InvalidOperationException("A transaction is |
| 48 | + already in progress; nested/concurrent transactions aren't supported."). |
41 | 49 | * ConnectionString returns an empty.String when it is not set. |
42 | | -* 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. |
| 50 | +* When a YdbDataReader is closed, if stream is not empty, a YdbTransaction fails if it is not null. A session also fails |
| 51 | + due to a possible error SessionBusy race condition with the server. |
43 | 52 | * Fixed bug: Fetch txId from the last result set. |
44 | 53 | * YdbTransaction CheckDisposed() (invoke rollback if transaction hasn't been committed). |
45 | 54 | * Dev: Added specification tests for YdbTransaction. |
46 | 55 |
|
47 | 56 | ## v0.10.0 |
48 | | -- 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. |
49 | | -- Supported in ADO.NET GetSchema(Async). CollectionNames: |
50 | | - * Tables |
51 | | - * TablesWithCollections |
52 | | - * DataSourceInformation |
53 | | - * MetaDataCollections |
54 | | - * Restrictions |
| 57 | + |
| 58 | +- Fixed bug in Topic Writer: race condition when session fails, then write operation starts on previous session and new |
| 59 | + session is created. Messages may be lost. |
| 60 | +- Supported in ADO.NET GetSchema(Async). CollectionNames: |
| 61 | + * Tables |
| 62 | + * TablesWithCollections |
| 63 | + * DataSourceInformation |
| 64 | + * MetaDataCollections |
| 65 | + * Restrictions |
55 | 66 | - Rename field _onStatus -> _onNotSuccessStatus in YdbDataReader |
56 | 67 | - If session is not active, do not invoke DeleteNotActiveSession(session) |
57 | 68 | - AttachStream: connect stream using NodeId |
|
60 | 71 | - DbConnection.Session.OnStatus(status) in YdbTransaction |
61 | 72 |
|
62 | 73 | ## v0.9.4 |
| 74 | + |
63 | 75 | - Do not pessimize the node on Grpc.Core.StatusCode.Cancelled and Grpc.Core.StatusCode.DeadlineExceeded. |
64 | 76 | - Dispose of WriterSession using dispose CancellationToken. |
65 | 77 | - BidirectionalStream is internal class. |
|
68 | 80 | - Cancel writing tasks after disposing of Writer. |
69 | 81 |
|
70 | 82 | ## v0.9.3 |
| 83 | + |
71 | 84 | - Fixed bug in Topic Writer: worker is stopped by disposeCts |
72 | | -- Fixed bug in sql parser ADO.NET: deduplication declare param in YQL query |
| 85 | +- Fixed bug in sql parser ADO.NET: deduplication declare param in YQL query |
73 | 86 | - Deleted property BufferOverflowRetryTimeoutMs |
74 | 87 |
|
75 | 88 | ## v0.9.2 |
| 89 | + |
76 | 90 | - Fixed bug: delete deadline grpc timeout on AttachStream |
77 | 91 |
|
78 | 92 | ## v0.9.1 |
| 93 | + |
79 | 94 | - Update log level on AttachStream |
80 | 95 |
|
81 | 96 | ## v0.9.0 |
| 97 | + |
82 | 98 | - Writer client for YDB topics |
83 | | -- Fixed bug: delete default timeout grpc.deadline |
| 99 | +- Fixed bug: delete default timeout grpc.deadline |
84 | 100 |
|
85 | 101 | ## v0.9.0-rc1 |
| 102 | + |
86 | 103 | - Topic Writer updated release candidate: |
87 | | - * Do not send messages that have a timeout by cancelToken. |
88 | | - * If your value serializer throws an exception, this will be wrapped in a WriterException with unspecified status. |
89 | | - * Added BufferOverflowRetryTimeoutMs to the next try write. |
90 | | - * Rename _disposeTokenSource -> _disposeCts. |
91 | | - * Optimize write worker: if (_toSendBuffer.IsEmpty) continue. |
92 | | - * On RPC errors create DummyWriterSession. |
93 | | - * Message has been skipped because its sequence number is less than or equal to the last processed server's SeqNo. |
94 | | - * Calculate the next sequence number from the calculated previous messages. |
| 104 | + * Do not send messages that have a timeout by cancelToken. |
| 105 | + * If your value serializer throws an exception, this will be wrapped in a WriterException with unspecified status. |
| 106 | + * Added BufferOverflowRetryTimeoutMs to the next try write. |
| 107 | + * Rename _disposeTokenSource -> _disposeCts. |
| 108 | + * Optimize write worker: if (_toSendBuffer.IsEmpty) continue. |
| 109 | + * On RPC errors create DummyWriterSession. |
| 110 | + * Message has been skipped because its sequence number is less than or equal to the last processed server's SeqNo. |
| 111 | + * Calculate the next sequence number from the calculated previous messages. |
95 | 112 |
|
96 | 113 | ## v0.9.0-rc0 |
| 114 | + |
97 | 115 | - Topic Writer release candidate: |
98 | | - * Updated CAS semantics for enqueuing in the buffer. |
99 | | - * Processed buffer overflow on WriteAsync. |
100 | | - * Setting NotStartedWriterSession with a fail reason on RPC and more errors. |
101 | | - * New initialization strategy for WriterSession (background task). |
102 | | - * Supported cancellation token for sending tasks. |
103 | | - * Fixed setting the SeqNo field in the message (in-flight buffer already has a seqNo) and added a check on canceled TCS. |
104 | | - * Using BitConverter for Serializer / Deserializer. |
105 | | -- Fixed: grpc requests go via proxy on Grpc.NET.Client >= 2.44 |
| 116 | + * Updated CAS semantics for enqueuing in the buffer. |
| 117 | + * Processed buffer overflow on WriteAsync. |
| 118 | + * Setting NotStartedWriterSession with a fail reason on RPC and more errors. |
| 119 | + * New initialization strategy for WriterSession (background task). |
| 120 | + * Supported cancellation token for sending tasks. |
| 121 | + * Fixed setting the SeqNo field in the message (in-flight buffer already has a seqNo) and added a check on canceled |
| 122 | + TCS. |
| 123 | + * Using BitConverter for Serializer / Deserializer. |
| 124 | +- Fixed: grpc requests go via proxy on Grpc.NET.Client >= 2.44 |
106 | 125 |
|
107 | 126 | ## v0.8.0 |
108 | | -- Fixed bug on commit with fail, no set failed flag for rollback invocation |
| 127 | + |
| 128 | +- Fixed bug on commit with fail, no set failed flag for rollback invocation |
109 | 129 | - Supported UUID (Guid) |
110 | 130 |
|
111 | 131 | ## v0.7.3 |
| 132 | + |
112 | 133 | - Fixed YdbDataReader: extract Json / Yson types |
113 | 134 |
|
114 | 135 | ## v0.7.2 |
| 136 | + |
115 | 137 | - Fixed YdbDataReader: `GetValue()` returns `DbNull.Value` if field is null |
116 | 138 | - YdbOperationInProgressException extends YdbException |
117 | 139 |
|
118 | 140 | ## v0.7.1 |
| 141 | + |
119 | 142 | - If an error happened in the transaction, allow one empty rollback |
120 | 143 |
|
121 | 144 | ## v0.7.0 |
| 145 | + |
122 | 146 | - Parsed @param then prepared for use with $ prefix (@p -> $p) |
123 | 147 | - Fully integrated with Dapper |
124 | 148 |
|
125 | 149 | ## v0.6.3 |
| 150 | + |
126 | 151 | - Fixed bug: parameter type mismatch, when setting optional with null |
127 | 152 |
|
128 | 153 | ## v0.6.2 |
| 154 | + |
129 | 155 | - Fixed bug: adding correct placeholders to all logging calls with parameters |
130 | 156 |
|
131 | 157 | ## v0.6.1 |
| 158 | + |
132 | 159 | - Check status of the transport or server for an invalidated session |
133 | 160 | - Fixed NPE in DescribeTable |
134 | 161 |
|
135 | 162 | ## v0.6.0 |
| 163 | + |
136 | 164 | - ADO.NET over query-service |
137 | 165 | - Add EndpointPool |
138 | 166 | - Add SessionPool 2.0 |
139 | 167 |
|
140 | 168 | ## v0.4.0 |
| 169 | + |
141 | 170 | - Fix bug: rounding down when inserting a Timestamp YDB type |
142 | 171 | - ChannelCache has been implemented using ChannelPool and EndpointPool |
143 | 172 |
|
144 | 173 | ## v0.3.2 |
| 174 | + |
145 | 175 | - Make KeepAlive method public for TableClient |
146 | 176 |
|
147 | 177 | ## v0.3.1 |
| 178 | + |
148 | 179 | - Fix error: Access denied without user token |
149 | 180 |
|
150 | 181 | ## v0.3.0 |
| 182 | + |
151 | 183 | - Add rollback transaction API |
152 | 184 |
|
153 | 185 | ## v0.2.2 |
| 186 | + |
154 | 187 | - Passed logger to TxControl.ToProto |
155 | 188 |
|
156 | 189 | ## v0.2.1 |
| 190 | + |
157 | 191 | - Retry discovery on driver initialize |
158 | 192 |
|
159 | 193 | ## v0.2.0 |
| 194 | + |
160 | 195 | - Added MakeTablePath, CopyTable, CopyTables, DescribeTable methods for TableClient |
161 | 196 | - Add logging for transactions |
162 | 197 |
|
163 | 198 | ## v0.1.5 |
| 199 | + |
164 | 200 | - Fix timeout error on create session |
165 | 201 | - Fix transport error on delete session |
166 | 202 |
|
167 | 203 | ## v0.1.4 |
| 204 | + |
168 | 205 | - Add exception throwing when results truncated |
169 | 206 | - lint: add line feed at file end |
170 | 207 |
|
171 | 208 | ## v0.1.3 |
| 209 | + |
172 | 210 | - Add static auth |
| 211 | + |
173 | 212 | ## v0.1.1 |
| 213 | + |
174 | 214 | - Add static code analysis |
175 | 215 | - Add CodeQL analysis |
176 | 216 | - Add linter |
177 | 217 | - Apply uniform code style and fix all warnings |
| 218 | + |
178 | 219 | ## v0.1.0 |
| 220 | + |
179 | 221 | - Add support of decimal type |
| 222 | + |
180 | 223 | ## v0.0.9 |
| 224 | + |
181 | 225 | - Remove support for .NET Core 3.1 |
182 | 226 | - Add support for .NET 7.0 |
183 | | -- |
| 227 | +- |
| 228 | + |
184 | 229 | ## v0.0.8 |
| 230 | + |
185 | 231 | - Fixed version number |
186 | 232 |
|
187 | 233 | ## v0.0.6 |
188 | | -- Add methods for castion to c# nullable to YQL Optional |
| 234 | + |
| 235 | +- Add methods for castion to c# nullable to YQL Optional |
189 | 236 | - Add explicit cast operator for some types |
190 | 237 | - Tests refactoring |
191 | 238 | - Add Bool type support |
0 commit comments