All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- When connection closes, requests that was not sent but already stuck in internal channels, is going to be sent after new connection is created.
internal_simultaneous_requests_threshold
parameter to builder, which allow to customize maximum number of simultaneously created requests, which connection can effectively handle.
- Rewritten internal logic of connection to Tarantool, which improved performance separated reading and writing to socket into separate tasks.
- Increased size of internal channel between dispatcher and connection, which should significantly increase performance (previously it was degrading rapidly with a lot of concurrent requests).
- Data-manipulation operations (insert, update, upsert, replace, delete) now return
DmoResponse
with row, returned by operation (#7); TupleElement
trait, which allow to write type intoTuple
without havingserde::Serialize
implemented for it;DmoOperation
for constructing operations inupdate
andupsert
calls.
TupleResponse
renamed toCallResponse
.
- Support for preparing and executing SQL queries.
TupleResponse
type for decodingeval
andcall
responses.
delete
request sends correct request type.
into_space
method toExecutorExt
trait, wich returnSpace
with underlyingExecutor
;.commit()
and.rollback()
methods toSpace<Transaction>
andOwnedIndex<Transaction>
;timeout
parameter toConnectionBuilder
, allowing to set timeout for all requests in thisConnection
;Tuple
trait for passing arguments to requests.
get_space
moved toExecutorExt
trait and renamed tospace
, also now returning reference to underlyingExecitor
.
Index
API, which simplify makingselect
and CRUD requsts on specific index.
ConnectionLike
renamed toExecutorExt
;- Few smaller renames;
Error::MetadataLoad
variant;IndexMetadata
fromSpaceMetadata
;- Public methods for loading metadata.
.update()
request sends correct request type.
Executor
trait, which sends encoded request;.stream()
,.transaction()
and.transaction_builder()
methods moved toExecutor
trait;Request
struct renamed toEncodedRequest
;RequestBody
trait renamed toRequest
;Space
API, which simplify makingselect
and CRUD requsts on specific space.
ConnectionLike
nowSend
andSync
.
indices
method toSpaceMetadata
for accessing space's indices;get_by_name
andget_by_id
methods toUniqueIdNameMap
;- reconnection in background, if current conection died;
- optional timeout on connection.
ConnectionBuilder
most methods now accept new values asimpl Into<Option<...>>
;TransactionBuilder
methods now return&mut Self
.
- Initial implementation.