[Checkins] [zopefoundation/persistent] 72237b: On deactivate release in-slots objects only for cl...

GitHub noreply at github.com
Tue Nov 29 19:43:14 CET 2016


  Branch: refs/heads/master
  Home:   https://github.com/zopefoundation/persistent
  Commit: 72237bde60bc06624589bfde5ab66a5740ef3640
      https://github.com/zopefoundation/persistent/commit/72237bde60bc06624589bfde5ab66a5740ef3640
  Author: Kirill Smelkov <kirr at nexedi.com>
  Date:   2016-11-29 (Tue, 29 Nov 2016)

  Changed paths:
    M persistent/cPersistence.c
    M persistent/persistence.py
    M persistent/tests/test_persistence.py

  Log Message:
  -----------
  On deactivate release in-slots objects only for classes that don't override __new__

Commit fe2219f4 taught Persistent to release in-slots objects on
deactivation. That however broke pure-python implementation of many
things because they were using __slots__ as a place which survive
deactivation.

As per discussion in

    https://github.com/zopefoundation/persistent/pull/44

and resolution:

    https://github.com/zopefoundation/persistent/pull/44#issuecomment-261019084

let's try to preserve backward compatibility by not releasing slots for
classes that override __new__

/proposed-by-and-helped @jimfulton


  Commit: c2327db5d49aa98af550883edd3e97a7503905a1
      https://github.com/zopefoundation/persistent/commit/c2327db5d49aa98af550883edd3e97a7503905a1
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2016-11-29 (Tue, 29 Nov 2016)

  Changed paths:
    M persistent/cPersistence.c
    M persistent/persistence.py
    M persistent/tests/test_persistence.py

  Log Message:
  -----------
  Merge pull request #50 from navytux/y/invalidate-slots

On deactivate release in-slots objects only for classes that don't ov…


Compare: https://github.com/zopefoundation/persistent/compare/3767c97ba129...c2327db5d49a


More information about the checkins mailing list