An error occurred fetching the project authors.
  1. 10 Jun, 2002 2 commits
  2. 02 May, 2002 1 commit
  3. 18 Apr, 2002 3 commits
  4. 17 Apr, 2002 1 commit
  5. 16 Apr, 2002 1 commit
  6. 15 Apr, 2002 3 commits
    • Jeremy Hylton's avatar
      Turn off MUCH_RING_CHECKING. · 3390ca14
      Jeremy Hylton authored
      I think it's safe to run this code without extra checking.
      3390ca14
    • Jeremy Hylton's avatar
      Remove the cache_deactivate_after argument from the cPickleCache · c17caeff
      Jeremy Hylton authored
      constructor, since it is ignored and there is no current plan to
      support two caches with almost-but-not-quite-the-same arguments.
      
      This change has effects in many files.  The Connection and DB don't
      pass this argument and don't bother setting it explicitly when it is
      reset via DB APIs like setCacheDeactivateAfter().  XXX These APIs
      remain, since existing code may depend on them, but they have no
      effect.
      
      New policy in cPersistence.c: A Persistent object can't have its
      _p_jar set or deleted once it is in a cache.  Persistent already
      implemented this policy for _p_oid; it seems safer to do the same for
      the jar.
      
      Add ringlen() method to cache objects (implemented as cc_ringlen).
      This returns the length of the doubly linked list of non-ghost
      objects.  Same as len(cache.lru_items()), but more efficient.  Only
      used for testing at the moment.
      
      In ring_corrupt(), don't raise a new exception if one has already been
      set.  The old behavior masked useful information about the original
      error / traceback.
      c17caeff
    • Chris Withers's avatar
      Change void* to char* to make VC++ happy. · 8fb6ffd6
      Chris Withers authored
      8fb6ffd6
  7. 12 Apr, 2002 1 commit
    • Jeremy Hylton's avatar
      Sundry changes. · af5791a3
      Jeremy Hylton authored
      Implement behavior for minimize() and full_sweep() as discussed on
      zodb-dev.  minimize() ghostifies all unmodified objects.  full_sweep()
      with age==0 is the same as minimize(), otherwise it's the same as
      incrgc().
      
      Reformat and/or reindent lots of code.
      
      Use PyObject_Compare() instead of PyObject_Cmp() because it has a
      simpler return value.
      
      Fix a few more PyDict_SetItem() and PyDict_DelItem() calls to make
      correct check for error return.
      af5791a3
  8. 05 Apr, 2002 1 commit
    • Jeremy Hylton's avatar
      Move cc_oid_unreferenced() into the C API and out of Python. · 1dab4948
      Jeremy Hylton authored
          The rationale is that this is an internal detail of the cache
          implementation called by Per_dealloc().  It's nice to make it
          fast, and it's good to prevent it from being called with anything
          other than an about-to-be-freed object.
      
          As a result of it being in the C API, omit tests of refcounts.  We
          would have been in Per_dealloc() otherwise.
      
          Initialize the percachdel slot of cPersistenceAPIstruct to NULL in
          cPersistence.  In cPickleCache, import the CObject and fill in the
          struct.
      
      Also, reformat many of the comments so that all the text starts to the
      right of the /*.
      
      Fiddle the text of the placeholder comment.  I think I understand it
      now :-).
      
      Add an XXX comment about the "old" cache API e.g. fullsweep and
      reallyfullsweep.
      
      Fix cc_get().  object_from_oid() doesn't ever set an exception.
      
      Remove a Py_FatalError() check from the end of a module init
      function.  We don't do that anymore.
      1dab4948
  9. 04 Apr, 2002 1 commit
  10. 03 Apr, 2002 4 commits
  11. 02 Apr, 2002 5 commits
  12. 01 Apr, 2002 2 commits
    • Jeremy Hylton's avatar
      Cache cleanups. · 316822a8
      Jeremy Hylton authored
      Remove use of staticforward.
      
      Avoid forward reference to Cctype by defining newccobject after type
      struct.
      316822a8
    • Jeremy Hylton's avatar
      Some first cosmetic changes to the new cache implementation. · 91985299
      Jeremy Hylton authored
      Define the contents of ccobject_head_struct via CACHE_HEAD macro.
      Don't rely on two different files to define a struct with the same
      layout by convention.
      
      Remove many levels of parentheses from the HOME and NON_GHOST_COUNT
      macros.
      
      Replace KEEP_THIS_ONE_AROUND_FOR_A_WHILE() macro with a call to the
      accessed() function.  (Who comes up with these names :-).
      
      Remove include of string.h in cPersistence.c.
      
      Expand cPersistent_HEAD macro so that it has one line for each
      attribute!
      
      Use typedef to define PerCache as "struct ccobject_head_struct" and
      use this for the entry cache slot in cPersistent_HEAD instead of
      PyObject *.
      
      In cPickleCache.c, reflow a bunch of long lines, add some whitespace,
      and an XXX comment explaining that I don't understand a different
      comment.
      91985299
  13. 27 Mar, 2002 1 commit
  14. 08 Mar, 2002 1 commit
    • Jeremy Hylton's avatar
      (Possibly) correct use of Python memory APIs. · 8d5f319c
      Jeremy Hylton authored
      Fix SF bug #516768 reported by Dave Wallace.
      
      Replace use of PyMem_DEL() with PyObject_Del() on object dealloc
      functions.  The use of PyMem_DEL() is incorrect for object
      deallocation, because it only ever calls the low-level free().  If a
      custom allocator like pymalloc is used, it needs to be called to free
      the memory.
      8d5f319c
  15. 11 Feb, 2002 2 commits
    • Guido van Rossum's avatar
      Upgrade to ZPL 2.0 (merge) · 08ae5c70
      Guido van Rossum authored
      08ae5c70
    • Jeremy Hylton's avatar
      Major reformatting of code along with a few sundry changes. · edb0f235
      Jeremy Hylton authored
      Summary of changes:
      
      - Add function gc_all_items() to call gc_item() on everything in
        dict.  This factors out common code in all the gc methods.
      
      - Add check_size() function that factors out code to check cache size
        before starting a gc.
      
      - Simplify argument processing in cc_invalidate(), avoiding a second
        call to PyArg_ParseTuple() when argument is a sequence instead of a
        dictionary.
      
      - Chance code to reflect belief that NULL return from PyDict_GetItem()
        does not set exception, except in cases that don't apply for the
        pickle cache like comparing a string with high-order bit set to a
        Unicode object.
      
      - Use if (!expr) instead of UNLESS().
      
      - Remove all statements from conditionals.
      
      - Reformat to 4 spaces and Python-style brace placement.
      
      - Put whitespace around operators and after commas.
      edb0f235
  16. 25 Jan, 2002 1 commit
  17. 28 Nov, 2001 1 commit
  18. 08 Nov, 2001 1 commit
    • Barry Warsaw's avatar
      initcPickleCache(): Some cleanup of the initializer. First be sure to · bb773b12
      Barry Warsaw authored
      decref the revision string, added to the module dict with the keys
      "__version__".  This fixes a small leaks detected by Insure.
      
      Also, at the end of the function, we do a PyErr_Occurred() check and
      throw a fatal error if true.  This makes this module's init function
      more in line with other init functions in this package.
      bb773b12
  19. 06 Nov, 2001 2 commits
  20. 28 Mar, 2001 2 commits
  21. 13 Oct, 1999 1 commit
  22. 07 Oct, 1999 1 commit
  23. 23 Sep, 1999 1 commit
  24. 20 Jul, 1999 1 commit