An error occurred fetching the project authors.
- 05 Mar, 2013 1 commit
-
-
Marius Gedminas authored
This uses bytes_as_strings=True option introduced in zodbpickle 0.2 for this purpose. This way pickles produced on Python 3 are nearly the same as on Python 2. There are some slight differences (Python 3 seems to perform more memoizations which grows the size of some pickles by a couple of bytes), but they're immaterial. Now we can use zodbpickle's noload() on Python 3 to scan pickles for persistent references. We couldn't do that before, because Python 3 normally pickles byte strings as calls to codecs.encode(u'latin1-data', 'latin-1'), and noload() doesn't interpret the REDUCE opcode involved in that representation. Note that when you're pickling byte strings using bytes_as_strings=True, you have to load them using encoding='bytes' (which breaks instances, so cannot be used) or using errors='bytes' (which mean some bytestrings may get unpickled as unicode instead). I've tried hard to discover every place that unpickles OIDs and added conversion to bytes in those places. Applications dealing with binary data be prepared to handle bytestrings that unexpectedly become unicode on unpickling. That's the price of Python 2 compatibility.
-
- 27 Feb, 2013 2 commits
-
-
Marius Gedminas authored
Since now we need to pass an extra argument to loads() and Unpickler(), but only on Python 3, the old way of ``from ZODB._compat import pickle`` no longer pays out, and I had to import the names directly.
-
Marius Gedminas authored
-
- 14 Feb, 2013 2 commits
-
-
Stephan Richter authored
-
Stephan Richter authored
Thanks to Martin v. Loewis for having done some of the initial lifting for a DZUG talk. I used a lot of his changes from this diff: http://www.dcl.hpi.uni-potsdam.de/home/loewis/zodb/ZODB.diff Applied all changes manually to make sure I do understand them and that they are correct. As always 90% of the work is to catch all places where we want to deal with bytes instead of strings.
-
- 21 Jun, 2010 1 commit
-
-
Christian Theune authored
-
- 03 Feb, 2010 1 commit
-
-
Jim Fulton authored
-
- 02 Feb, 2010 1 commit
-
-
Jim Fulton authored
loading index data. This leverages the new fsBucket toString and fromString methods and provides much faster FileStorage index saving and loading and smaller index files. On my machine, saves are 5 times faster and loads are 20 times faster (after a save, when data are in disk cache). Indexes are roughly 30% smaller. The index format has changed. Old indexes can be read just fine, but new indexes won't be readable by older versions of ZODB.
-
- 15 May, 2008 1 commit
-
-
Jim Fulton authored
-
- 21 Jan, 2008 1 commit
-
-
Jim Fulton authored
-
- 21 Mar, 2005 1 commit
-
-
Tim Peters authored
-
- 20 Mar, 2005 1 commit
-
-
Chris McDonough authored
Add a record iteration protocol to FileStorage. You can use the record iterator to iterate over all current revisions of data pickles in the storage. In order to support calling via ZEO, we don't implement this as an actual iterator. An example of using the record iterator protocol is as follows: storage = FileStorage('anexisting.fs') next_oid = None while 1: oid, tid, data, next_oid = storage.record_iternext(next_oid) # do something with oid, tid and data if next_oid is None: break The behavior of the iteration protocol is now to iterate over all current records in the database in ascending oid order, although this is not a promise to do so in the future.
-
- 24 Feb, 2005 1 commit
-
-
Tim Peters authored
Port from ZODB 3.2. Give fsIndex an efficient maxKey() implementation. This will (in a later checkin) be used to give FileStorage an "obviously correct" way to determine the largest oid used in an .fs.index file.
-
- 03 Feb, 2005 1 commit
-
-
Dmitry Vasiliev authored
-
- 02 Jun, 2004 1 commit
-
-
Jim Fulton authored
-
- 21 May, 2004 1 commit
-
-
Tim Peters authored
-
- 28 Nov, 2003 1 commit
-
-
Jim Fulton authored
-
- 03 Dec, 2002 1 commit
-
-
Jeremy Hylton authored
Use 0/1 instead of True/False, since none of the other code uses True/False.
-
- 14 Aug, 2002 1 commit
-
-
Martijn Pieters authored
-
- 11 Feb, 2002 1 commit
-
-
Guido van Rossum authored
-