Skip to content

v1.7.0

Compare
Choose a tag to compare
@oleg-jukovec oleg-jukovec released this 04 Aug 11:20
· 269 commits to master since this release

Overview

This release adds a number of features. The extending of the public API has become possible with a new way of creating requests. New types of requests are created via chain calls:

selectReq := NewSelectRequest("space").Context(ctx).Index(1).Offset(5).Limit(10)
future := conn.Do(selectReq)

Streams, context and prepared statements support are based on this idea:

stream, err := conn.NewStream()
if response, err := stream.Do(NewBeginRequest().Context(ctx)).Get(); err != nil {
    selectFuture := stream.Do(selectReq)
    commitFuture := stream.Do(NewCommitRequest())
    // ...
}

Breaking changes

  • NewErrorFuture function removed (#190).
  • IPROTO_* constants that identify requests renamed from <Name>Request to <Name>RequestCode (#126)

New features

  • SSL support (#155).
  • IPROTO_PUSH messages support (#67).
  • Public API with request object types (#126).
  • Support decimal type in msgpack (#96).
  • Support datetime type in msgpack (#118).
  • Prepared SQL statements (#117).
  • Context support for request objects (#48).
  • Streams and interactive transactions support (#101).
  • Call16 method, support build tag go_tarantool_call_17 to choose default behavior for Call method as Call17 (#125)

Bugfixes

  • Add ExecuteAsync and ExecuteTyped to common connector interface (#62).