- 13 Oct, 2018 4 commits
-
-
Tres Seaver authored
-
Tres Seaver authored
Prep 5.5.0 release.
-
Tres Seaver authored
-
Tres Seaver authored
Avoid most calls to time.sleep() in the tests by mocking time.[gm]time
-
- 21 Sep, 2018 1 commit
-
-
James Bradshaw authored
grammar (typo)
-
- 31 Aug, 2018 1 commit
-
-
Tres Seaver authored
Lifted from PR #164.
-
- 24 Aug, 2018 1 commit
-
-
Jason Madden authored
This happens on Python 3.7, evidinced by Appveyor (https://ci.appveyor.com/project/jimfulton/zodb/build/1.0.176/job/ehutnhnvbm28w5xl) but not travis because we run coverage on travis, and coverage disables refcounts of None.
-
- 23 Aug, 2018 1 commit
-
-
Jason Madden authored
This also makes us more deterministic. (Based on code I wrote for nti.testing.) On my machine, this speeds up a sequential test run from 4:08 to 1:30. We no longer get much benefit from running the layer tests in parallel, in fact it looks like the overhead actually slows them down slightly, so stop doing that.
-
- 22 Aug, 2018 8 commits
-
-
Jason Madden authored
p64 and p64 are faster and create more informative exceptions.
-
Jason Madden authored
Fixes #216.
-
Jason Madden authored
Add Python 3.7 support.
-
Jason Madden authored
And fix all the deprecations it reports. Fixes #214 and fixes #215 (well there's one remaining deprecation in 'manuel') Based on #217 so that all tests pass.
-
Jason Madden authored
Remove support for 'python setup.py test'. [skip ci]
-
Jason Madden authored
Fix tests with, and depend on, persistent 4.4.
-
Jason Madden authored
Skipping CI because tests will fail until #217 is merged. Fixes #218.
-
Jason Madden authored
Fixes #213.
-
- 16 May, 2018 1 commit
-
-
Jason Madden authored
This is required to avoid a memory leak on Python 2.7. See #203.
-
- 09 May, 2018 1 commit
-
-
Julien Muchembled authored
-
- 02 Apr, 2018 1 commit
-
-
Matthew Wilkes authored
-
- 27 Mar, 2018 1 commit
-
-
sblondon authored
prefect -> prefetch
-
- 26 Mar, 2018 3 commits
-
-
Jim Fulton authored
-
Jim Fulton authored
-
Jim Fulton authored
(Previously, protocol 2 was used for Python 2.) The zodbpickle package provides a `zodbpickle.binary` string type that should be used in Python 2 to cause binary strings to be saved in a pickle binary format, so they can be loaded correctly in Python 3. Pickle protocol 3 is needed for this to work correctly. - Object identifiers in persistent references are saved as `zodbpickle.binary` strings in Python 2, so that they are loaded correctly in Python 3.
-
- 25 Mar, 2018 1 commit
-
-
Jim Fulton authored
-
- 10 Mar, 2018 1 commit
-
-
Marius Gedminas authored
Fix typo in doctest documentation of find_global method
-
- 09 Mar, 2018 1 commit
-
-
Harun Yasar authored
-
- 15 Feb, 2018 1 commit
-
-
Jim Fulton authored
* Don't seek on imports (other than the possible seek for custom importers) We were seeking to handle blob markers. This has two major drawbacks: 1. It wasn't possible to use a non-seekable file. A use case for export/import is to copy database data. An intermediate file, and associated I/O, could be avoided using a pipe, but pipes aren't seekable. 2. Seeks cause file-buffer data to be discarded, making IO far more expensive. We didn't really need blob markers, because the preceeding blob data records serve as markers. (Now we're stuck with them for backward compatibility.) * Make cp's buffer size larger and configurable. * Use the storage temprary directory when importing blobs To avoid an extra copy. Also, allow the copy (cp) buffer sie to be overridden on export. (I see no obvious way to plumb it on import. :( ) * Oops, need to use a binary literal (Python 3) * Respond to PR comments
-
- 14 Nov, 2017 1 commit
-
-
Jim Fulton authored
Especially with regard to write capacity and search. This hasn't been updated in a while and I feel that it is out of date. I feel that this could use more work, but I'm anxious to do an incremental improvement given the screencast I just released. :)
-
- 13 Nov, 2017 2 commits
-
-
Julien Muchembled authored
Report full oid of missing object during pack
-
Julien Muchembled authored
Review Connection/DB closure
-
- 12 Nov, 2017 1 commit
-
-
Jim Fulton authored
-
- 08 Nov, 2017 1 commit
-
-
Julien Muchembled authored
In addition to some micro-optimisation, this fixes the following minor issues: - Closing a DB left Connections registered to the global transaction manager. Which broke at least multi-db because only such primary connections were ignored with monkey-patches. - Stop calling the real newTransaction when aborting an existing transaction. This was not the case if explicit_transactions=0.
-
- 07 Nov, 2017 1 commit
-
-
David Glick authored
-
- 30 Oct, 2017 1 commit
-
-
Joni Orponen authored
Unpin specific PyPy versions, blacklist 3.3 in `setup.py`
-
- 27 Oct, 2017 2 commits
-
-
Joni Orponen authored
-
Joni Orponen authored
-
- 05 Oct, 2017 1 commit
-
-
Marius Gedminas authored
-
- 30 Aug, 2017 2 commits
-
-
Jim Fulton authored
-
Jim Fulton authored
-
- 29 Aug, 2017 1 commit
-
-
Jason Madden authored
* Use a higher pickle protocol (2) for serializing objects on Python 2 Previously protocol 1 was used. This is more efficient for new-style classes (all persistent objects are new-style), according to the docs, at the cost of being very slightly less space efficient for old-style classes. In tests of a persistent object with two trivial numeric attributes, the higher protocol was 12 bytes smaller, and serialized and deserialized 1us faster. Introducing a reference to another new-style class for a more realistic test made the higher protocol twice as fast to serialize (20.5 vs 10.3us), almost half the size (215 vs 142 bytes), and it deserialized 30% faster (6.5 vs 4.6us). On Python 2, this will now allow open ``file`` objects to be pickled (loading the object will result in a closed file); previously this would result in a ``TypeError`` (as does under Python 3). We had tests that you couldn't do that with a BlobFile so I had to update it to still make that true. I wouldn't recommend serializing arbitrary open files under Python 2 (for one thing, they can't trivially be deserialized in Python 3), but I didn't take any steps to prevent it either. Since this hasn't been possible, there shouldn't be code in the wild that is trying to do it---and it wouldn't be forward compatible with Python 3 either.
-