File: release.notes

package info (click to toggle)
python-bobopos 2.1-6
  • links: PTS
  • area: main
  • in suites: woody
  • size: 244 kB
  • ctags: 220
  • sloc: python: 1,774; makefile: 38; sh: 24
file content (134 lines) | stat: -rw-r--r-- 4,738 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134

The Bobo Persistent Object System release 2

    2.1

      Features added
 
        - Changed the copyright to be open source!

        - Added an extra argument to
          SimpleDB.MultipleRevision.transaction_info to limit info to
          transactions written since a given time, which should be the
          time of the last pack.  Undoing a transaction that was
          written before the last pack *will* cause objects to be lost
          from the database.

          Unfortunately, it is up to the application to keep
          track of pack times.

	- PickleJar now has a (crude) hook to deal with problems in
          importing classes during unpickling.  Simply add a method to
	  BoboPOS.PickleJar.PickleJar::

            def Broken(self, oid, (module_name, class_name)):
	        ... Construct a Persistent object, given 
                    the module and class names ....
                theObject._p_jar=self
		theObject._p_oid=oid
		return theObject
	
	  Typically, the method is added *not* by modifying
          the source, but by doing surgery on the class at run time.
	
	  To support this hook, classes are now pickled a bit
	  differently.

	- Changed file import so 'seek; is no longer used.  This allows
          any object with a 'read' method to be used as an import source.
  
	- Source files used tabs and spaces for indentation.
          All tabs have now been removed.
    
      Bugs Fixed

        - Changes to volatile attributes, which are attributes with 
          names beginning with '_v_' were causing unneeded database 
          updates.

        - Changes made in custom __setstate__ methods caused objects
          to be incorrectly registered with the transaction manager.

	- PickleJar PickleCache objects lacked a __len__ method
          and had an ineffective minimize method.

        - Changed garbage collection phase of
          SimpleDB.MultipleRevision.pack to skip over dangling object
          references that are caused by undoing transactions that were
          written before a pack.

        - Changed added logic to check for and skip over dangling object
          references that are caused by undoing transactions that were
          written before a pack.

        - PickleDictionary changes were not being properly registered
          with the transaction manager.

        - Fixed bug in importing modules using built-in
          __import__.

	- Added 'b' flags in various open calls to make everything
          work correctly on Windows.

    2.0.2

      Fixed bug that caused incompatability between BoboPOS and
      ExtensionClass.

    2.0.1

      This is a bug fix release.  The module, PickleCache, failed to
      import getrefcount from sys.  I'm surprized this wasn'tt seen
      earler. 

    2.0

      This release has a number of important features, including:
  
	  - A more robust file format that provides direct support for
	    grouping database records into transactions and for storing
	    transaction meta-data, 
  
          - A platform independent file format, with automatic conversion
	    from the current platform-dependent format,
  
	  - cPickle support, 
  
	  - Instances of classes that do not define '__getinitargs__' no
	    longer have their constructors called when they are loaded from
	    the database.
	    
	  - When loading objects with persistent subobjects, BoboPOS no
	    longer has to read the subobject data records to create
	    ghosts. This should significantly speed loading objects with
	    many subobjects. (This feature doesn't take effect until 
	    to record for the container object is rewritten.)
  
	  - The PersistentMapping class has been moved to a separate module,
  
	  - Methods to store index files that speed startup.
  
	  - and many other features that have accumulated in over a
	    year of usage. 

      Bugs fixed since the alpha release:
    
	- Circular data structures caused infinite loops.  This was
	  due to a bug in clearing change flags that might also have
	  led to spurious database growth in some cases.
    
	- A miss-spelling of __getinitargs__ caused classes that 
	  used getinitargs to be loaded incorrectly.
    
	- Logic to handle non-threaded environments was flawed in a way
	  that caused garbage collection to fail and be skipped while
	  packing.  With this fix, packing should be much more affective.
    
	- A bug was fixed in handling circular data structures when
	  exporting objects from a database.
    
	- A new method, objectReferencesIn, was added to
	  SimpleDB.MultipleRevision to find all of the (ids of) objects
	  referenced in a database record.

  "Download The Bobo Persistent Object System release 2.1":BoboPOS-2.1.tar.gz.