forked from fl00r/go-tarantool-1.6
-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adopt vmihailenco/msgpack v5 #124
Labels
feature
A new functionality
Comments
oleg-jukovec
added a commit
that referenced
this issue
May 27, 2022
EncodeSlieceLen[1] and DecodeSliceLen[2] are marked as deprecated in msgpack v2.9.2. The patch replaces it with EncodeArrayLen and DecodeArrayLen. 1. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeSliceLen 2. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Decoder.DecodeSliceLen Part of #124
oleg-jukovec
added a commit
that referenced
this issue
May 27, 2022
We use everywhere EncodeInt instead of EncodeInt64. Also we use everywhere EncodeUint64 instead of EncodeUint. It can be confusing. Although EncodeUint64 and EncodeUint have same logic in msgpack.v2, but different in msgpack.v5. It's good for migration to msgpack.v5 too. Part of #124.
oleg-jukovec
added a commit
that referenced
this issue
May 27, 2022
When we decode the schema with msgpack it allows us to handle errors better. For example, incorrect type conversion leads to a runtime error. Now it will be an usual error that we can handle by our code. Also it will help in migration to msgpack.v5, because an interface decoding rules by default have changed in msgpack.v5. Part of #124
oleg-jukovec
added a commit
that referenced
this issue
May 27, 2022
The patch replaces the msgpack code by internal wrappers. The msgpack usage have been extracted to msgpack.go file for the code and to msgpack_helper_test.go for tests. It is the same logic for submodules. Part of #124
oleg-jukovec
added a commit
that referenced
this issue
May 27, 2022
EncodeUint and EncodeInt have different argument types in msgpack.v2[1][2] and msgpack.v5[3][4]. The wrappers will simplify migration to msgpkack.v5. 1. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeUint 2. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeInt 3. https://pkg.go.dev/github.com/vmihailenco/msgpack/v5#Encoder.EncodeUint 4. https://pkg.go.dev/github.com/vmihailenco/msgpack/v5#Encoder.EncodeInt Part of #124
oleg-jukovec
added a commit
that referenced
this issue
May 27, 2022
msgpack v2.9.2 decodes all numbers as uint[1] or int[2], but msgpack.v5 decodes numbers as a MessagePack type[3]. We need to unify the type conversions in the code. 1. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L283 2. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L285 3. https://github.com/vmihailenco/msgpack/blob/233c977ae92b215a9aa7eb420bbe67da99f05ab6/decode.go#L410 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
May 27, 2022
The msgpack.v5 code located in msgpack_v5.go and msgpack_v5_helper_test.go for tests. It is the same logic for submodules. An user can use msgpack.v5 with a build tag: go_tarantool_msgpack_v5 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
May 27, 2022
oleg-jukovec
added a commit
that referenced
this issue
May 27, 2022
oleg-jukovec
added a commit
that referenced
this issue
May 30, 2022
The msgpack.v5 code located in msgpack_v5.go and msgpack_v5_helper_test.go for tests. It is the same logic for submodules. An user can use msgpack.v5 with a build tag: go_tarantool_msgpack_v5 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
May 30, 2022
oleg-jukovec
added a commit
that referenced
this issue
May 30, 2022
The msgpack.v5 code located in msgpack_v5.go and msgpack_v5_helper_test.go for tests. It is the same logic for submodules. An user can use msgpack.v5 with a build tag: go_tarantool_msgpack_v5 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
May 30, 2022
oleg-jukovec
added a commit
that referenced
this issue
May 30, 2022
The msgpack.v5 code located in msgpack_v5.go and msgpack_v5_helper_test.go for tests. It is the same logic for submodules. An user can use msgpack.v5 with a build tag: go_tarantool_msgpack_v5 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
May 30, 2022
oleg-jukovec
added a commit
that referenced
this issue
May 30, 2022
The msgpack.v5 code located in msgpack_v5.go and msgpack_v5_helper_test.go for tests. It is the same logic for submodules. An user can use msgpack.v5 with a build tag: go_tarantool_msgpack_v5 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
May 30, 2022
oleg-jukovec
added a commit
that referenced
this issue
Jun 2, 2022
EncodeSlieceLen[1] and DecodeSliceLen[2] are marked as deprecated in msgpack v2.9.2. The patch replaces it with EncodeArrayLen and DecodeArrayLen. 1. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeSliceLen 2. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Decoder.DecodeSliceLen Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Jun 2, 2022
We use everywhere EncodeInt instead of EncodeInt64. Also we use everywhere EncodeUint64 instead of EncodeUint. It can be confusing. Although EncodeUint64 and EncodeUint have same logic in msgpack.v2, but different in msgpack.v5. It's good for migration to msgpack.v5 too. Part of #124.
oleg-jukovec
added a commit
that referenced
this issue
Jun 2, 2022
When we decode the schema with msgpack it allows us to handle errors better. For example, incorrect type conversion leads to a runtime error. Now it will be an usual error that we can handle by our code. Also it will help in migration to msgpack.v5, because an interface decoding rules by default have changed in msgpack.v5. Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Jun 2, 2022
The patch replaces the msgpack code by internal wrappers. The msgpack usage have been extracted to msgpack.go file for the code and to msgpack_helper_test.go for tests. It is the same logic for submodules. Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Jun 2, 2022
EncodeUint and EncodeInt have different argument types in msgpack.v2[1][2] and msgpack.v5[3][4]. The wrappers will simplify migration to msgpkack.v5. 1. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeUint 2. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeInt 3. https://pkg.go.dev/github.com/vmihailenco/msgpack/v5#Encoder.EncodeUint 4. https://pkg.go.dev/github.com/vmihailenco/msgpack/v5#Encoder.EncodeInt Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Jun 2, 2022
msgpack v2.9.2 decodes all numbers as uint[1] or int[2], but msgpack.v5 decodes numbers as a MessagePack type[3]. We need to unify the type conversions in the code. 1. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L283 2. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L285 3. https://github.com/vmihailenco/msgpack/blob/233c977ae92b215a9aa7eb420bbe67da99f05ab6/decode.go#L410 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Jun 2, 2022
The msgpack.v5 code located in msgpack_v5.go and msgpack_v5_helper_test.go for tests. It is the same logic for submodules. An user can use msgpack.v5 with a build tag: go_tarantool_msgpack_v5 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 3, 2022
The patch replaces the msgpack code by internal wrappers. The msgpack usage have been extracted to msgpack.go file for the code and to msgpack_helper_test.go for tests. It is the same logic for submodules. Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 3, 2022
EncodeUint and EncodeInt have different argument types in msgpack.v2[1][2] and msgpack.v5[3][4]. The wrappers will simplify migration to msgpack.v5. 1. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeUint 2. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeInt 3. https://pkg.go.dev/github.com/vmihailenco/msgpack/v5#Encoder.EncodeUint 4. https://pkg.go.dev/github.com/vmihailenco/msgpack/v5#Encoder.EncodeInt Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 3, 2022
The msgpack.v5 code located in msgpack_v5.go and msgpack_v5_helper_test.go for tests. It is the same logic for submodules. An user can use msgpack.v5 with a build tag: go_tarantool_msgpack_v5 The commit also unify typo conversions after decoding in tests. This is necessary because msgpack v2.9.2 decodes all numbers as uint[1] or int[2], but msgpack.v5 decodes numbers as a MessagePack type[3]. There are additional differences when decoding types. 1. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L283 2. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L285 3. https://github.com/vmihailenco/msgpack/blob/233c977ae92b215a9aa7eb420bbe67da99f05ab6/decode.go#L410 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 3, 2022
oleg-jukovec
added a commit
that referenced
this issue
Aug 3, 2022
The msgpack.v5 code located in msgpack_v5.go and msgpack_v5_helper_test.go for tests. It is the same logic for submodules. An user can use msgpack.v5 with a build tag: go_tarantool_msgpack_v5 The commit also unify typo conversions after decoding in tests. This is necessary because msgpack v2.9.2 decodes all numbers as uint[1] or int[2], but msgpack.v5 decodes numbers as a MessagePack type[3]. There are additional differences when decoding types. 1. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L283 2. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L285 3. https://github.com/vmihailenco/msgpack/blob/233c977ae92b215a9aa7eb420bbe67da99f05ab6/decode.go#L410 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 3, 2022
oleg-jukovec
added a commit
that referenced
this issue
Aug 3, 2022
The msgpack.v5 code located in msgpack_v5.go and msgpack_v5_helper_test.go for tests. It is the same logic for submodules. An user can use msgpack.v5 with a build tag: go_tarantool_msgpack_v5 The commit also unify typo conversions after decoding in tests. This is necessary because msgpack v2.9.2 decodes all numbers as uint[1] or int[2], but msgpack.v5 decodes numbers as a MessagePack type[3]. There are additional differences when decoding types. 1. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L283 2. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L285 3. https://github.com/vmihailenco/msgpack/blob/233c977ae92b215a9aa7eb420bbe67da99f05ab6/decode.go#L410 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 3, 2022
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
EncodeSliceLen[1] and DecodeSliceLen[2] are marked as deprecated in msgpack v2.9.2. The patch replaces it with EncodeArrayLen and DecodeArrayLen. 1. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeSliceLen 2. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Decoder.DecodeSliceLen Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
We use everywhere EncodeInt instead of EncodeInt64. Also we use everywhere EncodeUint64 instead of EncodeUint. It can be confusing. Although EncodeUint64 and EncodeUint have same logic in msgpack.v2, but different in msgpack.v5. It's good for migration to msgpack.v5 too. Part of #124.
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
When we decode the schema with msgpack it allows us to handle errors better. For example, incorrect type conversion leads to a runtime error. Now it will be an usual error that we can handle by our code. Also it will help in migration to msgpack.v5, because an interface decoding rules by default have changed in msgpack.v5. Part of #124 Co-authored-by: Oleg Utkin <[email protected]>
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
The patch replaces the msgpack code by internal wrappers. The msgpack usage have been extracted to msgpack.go file for the code and to msgpack_helper_test.go for tests. It is the same logic for submodules. Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
EncodeUint and EncodeInt have different argument types in msgpack.v2[1][2] and msgpack.v5[3][4]. The wrappers will simplify migration to msgpack.v5. 1. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeUint 2. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeInt 3. https://pkg.go.dev/github.com/vmihailenco/msgpack/v5#Encoder.EncodeUint 4. https://pkg.go.dev/github.com/vmihailenco/msgpack/v5#Encoder.EncodeInt Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
The msgpack.v5 code located in msgpack_v5.go and msgpack_v5_helper_test.go for tests. It is the same logic for submodules. An user can use msgpack.v5 with a build tag: go_tarantool_msgpack_v5 The commit also unify typo conversions after decoding in tests. This is necessary because msgpack v2.9.2 decodes all numbers as uint[1] or int[2], but msgpack.v5 decodes numbers as a MessagePack type[3]. There are additional differences when decoding types. 1. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L283 2. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L285 3. https://github.com/vmihailenco/msgpack/blob/233c977ae92b215a9aa7eb420bbe67da99f05ab6/decode.go#L410 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
EncodeSliceLen[1] and DecodeSliceLen[2] are marked as deprecated in msgpack v2.9.2. The patch replaces it with EncodeArrayLen and DecodeArrayLen. 1. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeSliceLen 2. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Decoder.DecodeSliceLen Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
We use everywhere EncodeInt instead of EncodeInt64. Also we use everywhere EncodeUint64 instead of EncodeUint. It can be confusing. Although EncodeUint64 and EncodeUint have same logic in msgpack.v2, but different in msgpack.v5. It's good for migration to msgpack.v5 too. Part of #124.
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
When we decode the schema with msgpack it allows us to handle errors better. For example, incorrect type conversion leads to a runtime error. Now it will be an usual error that we can handle by our code. Also it will help in migration to msgpack.v5, because an interface decoding rules by default have changed in msgpack.v5. Part of #124 Co-authored-by: Oleg Utkin <[email protected]>
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
The patch replaces the msgpack code by internal wrappers. The msgpack usage have been extracted to msgpack.go file for the code and to msgpack_helper_test.go for tests. It is the same logic for submodules. Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
EncodeUint and EncodeInt have different argument types in msgpack.v2[1][2] and msgpack.v5[3][4]. The wrappers will simplify migration to msgpack.v5. 1. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeUint 2. https://pkg.go.dev/github.com/vmihailenco/[email protected]+incompatible#Encoder.EncodeInt 3. https://pkg.go.dev/github.com/vmihailenco/msgpack/v5#Encoder.EncodeUint 4. https://pkg.go.dev/github.com/vmihailenco/msgpack/v5#Encoder.EncodeInt Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
The msgpack.v5 code located in msgpack_v5.go and msgpack_v5_helper_test.go for tests. It is the same logic for submodules. An user can use msgpack.v5 with a build tag: go_tarantool_msgpack_v5 The commit also unify typo conversions after decoding in tests. This is necessary because msgpack v2.9.2 decodes all numbers as uint[1] or int[2], but msgpack.v5 decodes numbers as a MessagePack type[3]. There are additional differences when decoding types. 1. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L283 2. https://github.com/vmihailenco/msgpack/blob/23644a15054d8b9f8a9fca3e041f3419504b9c21/decode.go#L285 3. https://github.com/vmihailenco/msgpack/blob/233c977ae92b215a9aa7eb420bbe67da99f05ab6/decode.go#L410 Part of #124
oleg-jukovec
added a commit
that referenced
this issue
Aug 4, 2022
oleg-jukovec
added a commit
that referenced
this issue
Aug 17, 2022
Overview The minor release with time zones and interval support for datetime. Also now you can use go-tarantool with `msgpack.v5`. To do this, add `go_tarantool_msgpack_v5` to your build tags: $ go build -tags=go_tarantool_msgpack_v5 . Breaking changes There are no breaking changes in the release. New features Optional msgpack.v5 usage (#124). TZ support for datetime (#163). Interval support for datetime (#165). Bugfixes Markdown of documentation for the decimal subpackage (#201).
Merged
oleg-jukovec
added a commit
that referenced
this issue
Aug 17, 2022
Overview The minor release with time zones and interval support for datetime. Also now you can use go-tarantool with `msgpack.v5`. To do this, add `go_tarantool_msgpack_v5` to your build tags: $ go build -tags=go_tarantool_msgpack_v5 . Breaking changes There are no breaking changes in the release. New features Optional msgpack.v5 usage (#124). TZ support for datetime (#163). Interval support for datetime (#165). Bugfixes Markdown of documentation for the decimal subpackage (#201).
oleg-jukovec
added a commit
that referenced
this issue
Aug 17, 2022
Overview The minor release with time zones and interval support for datetime. Also now you can use go-tarantool with `msgpack.v5`. To do this, add `go_tarantool_msgpack_v5` to your build tags: $ go build -tags=go_tarantool_msgpack_v5 . Breaking changes There are no breaking changes in the release. New features Optional msgpack.v5 usage (#124). TZ support for datetime (#163). Interval support for datetime (#165). Bugfixes Markdown of documentation for the decimal subpackage (#201).
oleg-jukovec
added a commit
to tarantool/doc
that referenced
this issue
Aug 19, 2022
The patch adds msgpack.v5 support for go-tarantool in Go-connectors comparison table. The feature has been introduced in go-tarantool 1.8.0. Follows up tarantool/go-tarantool#124
patiencedaur
pushed a commit
to tarantool/doc
that referenced
this issue
Aug 19, 2022
The patch adds msgpack.v5 support for go-tarantool in Go-connectors comparison table. The feature has been introduced in go-tarantool 1.8.0. Follows up tarantool/go-tarantool#124
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Users want new msgpack v5 features and we should find a way to offer them.
First of all investigate and summarize all differences.
I imagine different ways to adopt it:
import tarantool/msgpack-v5
will pull v5 into dependencies and will enable it instead of v2.There is a PoC: #97.
The text was updated successfully, but these errors were encountered: