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+.
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:
[]interface{}or a dedicated Tuple type) into MP_EXT format when sending requests/responses.This enhancement is required for full protocol compliance and to support efficient binary tuple exchange with Tarantool 3.0+.