[ZODB-Dev] RFC: Python2 - Py3k database compatibility

Leonardo Rochael Almeida leorochael at gmail.com
Tue Apr 16 22:52:47 UTC 2013


On Tue, Apr 16, 2013 at 5:38 PM, Tres Seaver <tseaver at palladion.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> [...]
>
> Concrete Proposal
> - -----------------
>
> I believe we will need to update ``zodbpickle`` and ``ZDOB`` to allow
> for any of the strategies to be applied.
>
> - - ``zodbpickle`` should provide the script which analyzes pickles in
>   a database for inconsistent ``str`` / ``unicode`` usage.  See:
>   https://github.com/jimfulton/dbstringanalysis
>
> - - ``zodbpickle`` should provide the utility for registering per-class
>   fixups.
>
> - - ``zodbpickle`` should provide the script which uses that utility
>   do to one-time conversion of a storage (supporting convert_storages_).
>
> - - ``zodbpickle`` should provide a new ``binary`` type which Python2
>   applications can begin using to signal that attributes should be
>   unpickled in Py3k as ``bytes``.  See:
>   https://github.com/zopefoundation/zodbpickle/tree/py2_explicit_bytes
>
> - - ``zodbpickle`` should provide a pickler/unpickler for use by
>   Python2 clients who operate against converted storages
>   (replace_py2_cpickle_). See:
>   https://github.com/zopefoundation/zodbpickle/tree/py2_explicit_bytes
>
> - - ``zodbpickle`` should provide a pickler/unpickler for use by
>   Py3k clients who operate against unconverted storages
>   (replace_py3k_pickle_). See:
>   https://github.com/zopefoundation/zodbpickle
>
> - - ``zodbpickle`` might need to provide a wrapper storage supporting
>   straddle_no_convert_.
>
>
> Comments?

In addition to the above, I'd like to suggest that:

- - ``zodbpickle`` should provide a "class Native(str)" type to help
in straddling and live conversion. This Native type would be the
result of unpickling "STRING" codes, and behave as specified in:

https://github.com/zopefoundation/ZODB/wiki/Pickles#explicit-but-transitional-native-string-for-python-3



>
>
> Tres.
> - --
> ===================================================================
> Tres Seaver          +1 540-429-0999          tseaver at palladion.com
> Palladion Software   "Excellence by Design"    http://palladion.com
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (GNU/Linux)
> Comment: Using GnuPG with undefined - http://www.enigmail.net/
>
> iEYEARECAAYFAlFttq4ACgkQ+gerLs4ltQ5fswCeLcPj7QROXzlXazJIuK/nAAf6
> YzkAnj07aERlQhZInv+lFWvQjqJnciZ8
> =PLZq
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> For more information about ZODB, see http://zodb.org/
>
> ZODB-Dev mailing list  -  ZODB-Dev at zope.org
> https://mail.zope.org/mailman/listinfo/zodb-dev


More information about the ZODB-Dev mailing list