go-tarantool
go-tarantool copied to clipboard
Implement support for MP_EXT-encoded tuples
Tarantool can encode tuples as MessagePack extension types (MP_EXT with type code 7) in DML responses (e.g., SELECT, INSERT) and in CALL/EVAL requests and responses.
Examples from Tarantool C code:
Encoding: mp_tuple.c#L80-L85 Decoding: mp_tuple.c#L38-L55
What needs to be done:
- Add support for recognizing and decoding MP_EXT type 7 as a tuple in incoming MessagePack data.
- Implement encoding of Go tuples (e.g.,
[]interface{}or a dedicated Tuple type) into MP_EXT format when sending requests/responses. - Add optional types (github.com/tarantool/go-option support)
This enhancement is required for full protocol compliance and to support efficient binary tuple exchange with Tarantool 3.0+.