Go
The following connectors are available:
- Tarantool-supported go-tarantool
- Community-supported viciious/go-tarantool
- Community-supported FZambia/tarantool.
Last update: January 2023
| tarantool/go-tarantool | viciious/go-tarantool | FZambia/tarantool | |
|---|---|---|---|
| License | BSD 2-Clause | MIT | BSD 2-Clause |
| Last update | 2023 | 2022 | 2022 |
| Documentation | README with examples and up-to-date GoDoc | README with examples, code comments | README with examples |
| Testing / CI / CD | GitHub Actions | Travis CI | GitHub Actions |
| GitHub Stars | 147 | 45 | 14 |
| Static analysis | golangci-lint, luacheck | golint | golangci-lint |
| Packaging | go get | go get | go get |
| Code coverage | Yes | No | No |
| msgpack driver | vmihailenco/msgpack/v2 or vmihailenco/msgpack/v5 | tinylib/msgp | vmihailenco/msgpack/v5 |
| Async work | Yes | Yes | Yes |
| Schema reload | Yes (manual pull) | Yes (manual pull) | Yes (manual pull) |
| Space / index names | Yes | Yes | Yes |
| Tuples as structures | Yes (structure and marshall functions must be predefined in Go code) | No | Yes (structure and marshall functions must be predefined in Go code) |
| Access tuple fields by names | Only if marshalled to structure | No | Only if marshalled to structure |
| SQL support | Yes | No (#18, closed) | No |
| Interactive transactions | Yes | No | No |
| Varbinary support | Yes (with in-built language tools) | Yes (with in-built language tools) | Yes (decodes to string by default, see #6) |
| UUID support | Yes | No | No |
| Decimal support | Yes | No | No |
| EXT_ERROR support | Yes | No | No |
| Datetime support | Yes | No | No |
| box.session.push() responses | Yes | No (#21) | Yes |
| Session settings | Yes | No | No |
| Graceful shutdown | Yes | No | No |
| IPROTO_ID (feature discovering) | Yes | No | No |
| tarantool/crud support | No | No | No |
| Connection pool | Yes (round-robin failover, no balancing) | No | No |
| Transparent reconnecting | Yes (see comments in #129) | No (handle reconnects explicitly, refer to #11) | Yes (see comments in #7) |
| Transparent request retrying | No | No | No |
| Watchers | Yes | No | No |
| Pagination | Yes | No | No |
| Language features | context | context | context |
| Miscellaneous | Supports tarantool/queue API | Can mimic a Tarantool instance (also as replica). Provides instrumentation for reading snapshot and xlog files via snapio module. Implements unpacking of query structs if you want to implement your own iproto proxy | API is experimental and breaking changes may happen |