Documentation
¶
Overview ¶
Package with support of Tarantool's UUID data type.
UUID data type supported in Tarantool since 2.4.1.
Since: 1.6.0.
See also ¶
Tarantool commit with UUID support: https://github.com/tarantool/tarantool/commit/d68fc29246714eee505bc9bbcd84a02de17972c5
Tarantool data model: https://www.tarantool.io/en/doc/latest/book/box/data_model/
Module UUID: https://www.tarantool.io/en/doc/latest/reference/reference_lua/uuid/
Example ¶
Example demonstrates how to use tuples with UUID. To enable UUID support in msgpack with google/uuid (https://github.com/google/uuid), import tarantool/uuid submodule.
// Run Tarantool instance before example execution:
// Terminal 1:
// $ cd uuid
// $ TEST_TNT_LISTEN=3013 TEST_TNT_WORK_DIR=$(mktemp -d -t 'tarantool.XXX') tarantool config.lua
//
// Terminal 2:
// $ cd uuid
// $ go test -v example_test.go
package main
import (
"context"
"fmt"
"log"
"time"
"github.com/google/uuid"
"github.com/tarantool/go-tarantool/v2"
_ "github.com/tarantool/go-tarantool/v2/uuid"
)
var exampleOpts = tarantool.Opts{
Timeout: 5 * time.Second,
}
// Example demonstrates how to use tuples with UUID. To enable UUID support
// in msgpack with google/uuid (https://github.com/google/uuid), import
// tarantool/uuid submodule.
func main() {
dialer := tarantool.NetDialer{
Address: "127.0.0.1:3013",
User: "test",
Password: "test",
}
ctx, cancel := context.WithTimeout(context.Background(), 500*time.Millisecond)
client, err := tarantool.Connect(ctx, dialer, exampleOpts)
cancel()
if err != nil {
log.Fatalf("Failed to connect: %s", err.Error())
}
spaceNo := uint32(524)
id, uuidErr := uuid.Parse("c8f0fa1f-da29-438c-a040-393f1126ad39")
if uuidErr != nil {
log.Fatalf("Failed to prepare uuid: %s", uuidErr)
}
data, err := client.Do(tarantool.NewReplaceRequest(spaceNo).
Tuple([]interface{}{id}),
).Get()
fmt.Println("UUID tuple replace")
fmt.Println("Error", err)
fmt.Println("Data", data)
}
Click to show internal directories.
Click to hide internal directories.