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

Tres Seaver tseaver at palladion.com
Fri May 10 21:04:31 UTC 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 05/08/2013 12:34 PM, Tres Seaver wrote:
> On 04/29/2013 08:37 PM, Stephan Richter wrote:
>> Well, that's the py3 branch. As Tres mentioned, zodbpickle is ready 
>> for Py3 with noload() support. I totally agree that we do not need
>> to solve any of the transition work now.
> 
>> So for ZODB Py3 support we need to:
> 
>> 1. Merge the py3 branch into trunk. 2. Simplify zodbpickle to just 
>> contain the cPickle code that is Py3 compatible.
> 
>> I do not care whether this happens for ZODB 4.0 or 4.1 as long as I 
>> get some commitment that 4.1
> 
> Chris and I chatted with Jim about this over beers last Friday.  I 
> explained that the current 'py3; branch does not require the
> 'zodbpickle everywhere' stuff (the Python2 side doesn't use
> 'zodbpickle').  Jim then agreed that we could merge that branch before
> releasing 4.0.  We will need to add some caveats to the docs /
> changelog (Python3 support is only for new applications, no forward- /
> backward-compatibility for data, etc.)
> 
> Given that ZODB won't import or use 'zodbpickle' under Python2, I
> don't think we need to remove the current Python2 support (as released
> in 0.4.1):  the Python3 version (with noload()) has been there all
> along.


I have merged the 'py3' branch to 'master':

- -  All tests pass under all four platforms using buildout.

- -  All unit tests pass on all four platforms using 'setup.py test'.

I added the following note to the changelog:

   ZODB 4.0.x is supported on Python 3.x for *new* applications only.
   Due to changes in the standard library's pickle support, the Python3
   support does **not** provide forward- or backward-compatibility
   at the data level with Python2.  A future version of ZODB may add
   such support.

   Applications which need migrate data from Python2 to Python3 should
   plan to script this migration using separte databases, e.g. via a
   "dump-and-reload" approach, or by providing explicit fix-ups of the
   pickled values as transactions are copied between storages.

I pushed out a ZODB 4.0.0b1 release after the merge.  If the buildbots
stay green over the weekend, I think we can release a 4.0.0 final early
next week.



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/

iEYEARECAAYFAlGNYN8ACgkQ+gerLs4ltQ5GPACaA3EtwgZOUsvWmsoGOTWi0bpw
n5kAoNNUVfsofX/eKxFZKd3F/pLQvvDG
=7oxn
-----END PGP SIGNATURE-----



More information about the ZODB-Dev mailing list