Uh oh!
There was an error while loading. Please reload this page.
types: support working with binary for Python 3 - #211
Conversation
6efb9de to
7da60f3Compare7da60f3 to
797d33dCompare797d33d to
6aa89a6CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
DifferentialOrange
commented
Mar 23, 2022
Note: test this PR rebased on #213 to ensure different msgpack package version compatiility |
8772bc7 to
155b1d7Compare
Totktonada
left a comment
There was a problem hiding this comment.
I have no objections, just several suggestions.
LGTM.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
c46c513 to
44fc747Compare4ec6748 to
88fa990CompareThis patch add CHANGELOG.md file. Current CHANGELOG contents covers version 0.7.0, 0.7.1 changes and currently unreleased changes. For changes in versions before 0.7.0, see releases GitHub page [1]. 1. https://github.com/tarantool/tarantool-python/releases
2a4194e to
4b8ae94CompareUh oh!
There was an error while loading. Please reload this page.
Totktonada
commented
Apr 1, 2022
I glanced over the changes and I'm completely okay here. Please, finish the review with Sergey and proceed. |
4b8ae94 to
3d71614CompareUh oh!
There was an error while loading. Please reload this page.
This is a breaking change. Before this patch, both bytes and str were encoded as mp_str. It was possible to work with utf and non-utf strings, but not with varbinary (mp_bin) [1]. This patch adds varbinary support for Python 3 by default. With Python 2 the behavior of the connector remains the same. Before this patch: * encoding="utf-8" (default) Python 3 -> Tarantool -> Python 3 str -> mp_str (string) -> str bytes -> mp_str (string) -> str mp_bin (varbinary) -> bytes * encoding=None Python 3 -> Tarantool -> Python 3 bytes -> mp_str (string) -> bytes str -> mp_str (string) -> bytes mp_bin (varbinary) -> bytes Using bytes as key was not supported by several methods (delete, update, select). After this patch: * encoding="utf-8" (default) Python 3 -> Tarantool -> Python 3 str -> mp_str (string) -> str bytes -> mp_bin (varbinary) -> bytes * encoding=None Python 3 -> Tarantool -> Python 3 bytes -> mp_str (string) -> bytes str -> mp_str (string) -> bytes mp_bin (varbinary) -> bytes Using bytes as key are now supported by all methods. Thus, encoding="utf-8" connection may be used to work with utf-8 strings and varbinary and encodine=None connection may be used to work with non-utf-8 strings. This patch does not add new restrictions (like "do not permit to use str in encoding=None mode because result may be confusing") to preserve current behavior (for example, using space name as str in schema get_space). 1. tarantool/tarantool#4201Closes#105
3d71614 to
dd6ef5bCompareSince the release of tarantool/python 0.8.0 [1] several things has changed. * Issue #105 has been fixed [2]. * CI has been migrated to GitHub Actions [3]. * New connection pool (ConnectionPool) with master discovery was introduced [4]. * old connection pool (MeshConnection) with round-robin failover was deprecated [4]. These changes together with GitHub stars update are introduced with this patch. 1. https://github.com/tarantool/tarantool-python/releases/tag/0.8.0 2. tarantool/tarantool-python#211 3. tarantool/tarantool-python#213 4. tarantool/tarantool-python#207
Since the release of tarantool-python 0.8.0 [1] several things has changed. * Issue tarantool/tarantool-python#105 has been fixed [2]. * CI has been migrated to GitHub Actions [3]. * New connection pool (ConnectionPool) with master discovery was introduced [4]. * old connection pool (MeshConnection) with round-robin failover was deprecated [4]. These changes together with GitHub stars update are introduced with this patch. 1. https://github.com/tarantool/tarantool-python/releases/tag/0.8.0 2. tarantool/tarantool-python#211 3. tarantool/tarantool-python#213 4. tarantool/tarantool-python#207
Since the release of tarantool-python 0.8.0 [1] several things has changed. * Issue tarantool/tarantool-python#105 has been fixed [2]. * CI has been migrated to GitHub Actions [3]. * New connection pool (ConnectionPool) with master discovery was introduced [4]. * old connection pool (MeshConnection) with round-robin failover was deprecated [4]. These changes together with GitHub stars update are introduced with this patch. 1. https://github.com/tarantool/tarantool-python/releases/tag/0.8.0 2. tarantool/tarantool-python#211 3. tarantool/tarantool-python#213 4. tarantool/tarantool-python#207
Since the release of tarantool-python 0.8.0 [1] several things has changed. * Issue tarantool/tarantool-python#105 has been fixed [2]. * CI has been migrated to GitHub Actions [3]. * New connection pool (ConnectionPool) with master discovery was introduced [4]. * old connection pool (MeshConnection) with round-robin failover was deprecated [4]. These changes together with GitHub stars update are introduced with this patch. 1. https://github.com/tarantool/tarantool-python/releases/tag/0.8.0 2. tarantool/tarantool-python#211 3. tarantool/tarantool-python#213 4. tarantool/tarantool-python#207
* Update python connector comparison table Since the release of tarantool-python 0.8.0 [1] several things has changed. * Issue tarantool/tarantool-python#105 has been fixed [2]. * CI has been migrated to GitHub Actions [3]. * New connection pool (ConnectionPool) with master discovery was introduced [4]. * old connection pool (MeshConnection) with round-robin failover was deprecated [4]. These changes together with GitHub stars update are introduced with this patch. 1. https://github.com/tarantool/tarantool-python/releases/tag/0.8.0 2. tarantool/tarantool-python#211 3. tarantool/tarantool-python#213 4. tarantool/tarantool-python#207 * Update translation Co-authored-by: Patience Daur <patiencedaur@gmail.com>
Merge after #213
This is a breaking change.
Before this patch, both bytes and str were encoded as mp_str. It was
possible to work with utf and non-utf strings, but not with
varbinary (mp_bin) [1]. This patch adds varbinary support for Python 3
by default. With Python 2 the behavior of the connector remains the same.
Before this patch:
encoding="utf-8" (default)
encoding=None
Using bytes as key was not supported by several methods (delete,
update, select).
After this patch:
encoding="utf-8" (default)
encoding=None
Using bytes as key are now supported by all methods.
Thus, encoding="utf-8" connection may be used to work with
utf-8 strings and varbinary and encodine=None connection
may be used to work with non-utf-8 strings.
This patch does not add new restrictions (like "do not permit to use
str in encoding=None mode because result may be confusing") to preserve
current behavior (for example, using space name as str in schema
get_space).
Closes#105