go-tarantool
go-tarantool copied to clipboard
Tarantool 1.10+ client for Go language
Create pool with empty set of instances: ```go p, err := pool.ConnectWithOpts(ctx, []pool.Instance{}, connOpts) ... ``` Later, try to add new instances via add method: ``` if err = p.Add(ctx,...
Now we do a lot of allocations per a request: ``` $ go test -bench BenchmarkClientSerialTyped -benchmem BenchmarkClientSerialTyped-12 12250 94545 ns/op 898 B/op 16 allocs/op ``` There is no need...
Can we have a wrapper over .Prepare() and .Execute(), I.E. called .PrepareExecute() that first checks a cache for statementIDs based on the query, and if not runs Prepare, otherwise just...
Since all our examples require a Tarantool instance to connect, it wouldn't be possible to make a fully executable example. (Maybe we should check other database connnectors and see if...
1. Tarantool process is not killed when tests fail with `panic()`. I don't know why. The test has a line `defer test_helpers.StopTarantoolWithCleanup(instance)`, according to blog post [Defer, Panic, and Recover](https://go.dev/blog/defer-panic-and-recover#:~:text=Panic%20is%20a%20built%2Din,like%20a%20call%20to%20panic.)...
Sorry, I can't reopen the #315 issue. Unfortunately, nothing helped. 1. If run the application ``` go run ./main.go -tags go_tarantool_ssl_disable ``` - the same errors. 2. If install opensll...
I made mistakes in some types. I used pointers receivers instead of immutable receivers. It leads to inefficient work to GC, see https://medium.com/a-journey-with-go/go-should-i-use-a-pointer-instead-of-a-copy-of-my-struct-44b43b104963 https://www.sobyte.net/post/2021-10/go-pointer/ But even in spite of this...
We need to review changes from go 1.13 to go 1.20 and update the code according to new features and recommendations.
The Tarantool 3.0 allows to enforce transaction to be synchronous. We could support the feature. See: 1. https://github.com/tarantool/tarantool/issues/8650 2. https://github.com/tarantool/tarantool/blob/03c184d4da9be9e1431762989833a6762a704cfb/src/box/iproto_constants.h#L218-L221
As example, https://github.com/tarantool/go-tarantool/actions/runs/7211100367/job/19645734612, job `Run regression tests with disabled SSL`: ``` --- FAIL: TestGracefulShutdown (0.00s) shutdown_test.go:130: Could not check the Tarantool version: fork/exec /home/runner/work/go-tarantool/go-tarantool/tarantool-enterprise/tarantool: bad file descriptor ```