File: release.html

package info (click to toggle)
python-bobopos 2.1-3
  • links: PTS
  • area: main
  • in suites: potato
  • size: 236 kB
  • ctags: 220
  • sloc: python: 1,774; makefile: 38; sh: 24
file content (166 lines) | stat: -rw-r--r-- 5,358 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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<html><head><title>The Bobo Persistent Object System release 2</title>
	    </head><body>
	    <h1>The Bobo Persistent Object System release 2</h1>
<h2>2.1</h2>
<h3>Features added</h3>
<ul><li><p>Changed the copyright to be open source!</p>


<li><p>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 <em>will</em> cause objects to be lost
          from the database.</p>
<p>          Unfortunately, it is up to the application to keep
          track of pack times.</p>



<li><p>PickleJar now has a (crude) hook to deal with problems in
          importing classes during unpickling.  Simply add a method to
          BoboPOS.PickleJar.PickleJar::</p>
<p>            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</p>

<p>          Typically, the method is added <em>not</em> by modifying
          the source, but by doing surgery on the class at run time.</p>

<p>          To support this hook, classes are now pickled a bit
          differently.</p>



<li><p>Changed file import so 'seek; is no longer used.  This allows
          any object with a <code>read</code> method to be used as an import source.</p>


<li><p>Source files used tabs and spaces for indentation.
          All tabs have now been removed.</p>

</ul>

<h3>Bugs Fixed</h3>
<ul><li><p>Changes to volatile attributes, which are attributes with 
          names beginning with <code>_v_</code> were causing unneeded database 
          updates.</p>


<li><p>Changes made in custom __setstate__ methods caused objects
          to be incorrectly registered with the transaction manager.</p>


<li><p>PickleJar PickleCache objects lacked a __len__ method
          and had an ineffective minimize method.</p>


<li><p>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.</p>


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


<li><p>PickleDictionary changes were not being properly registered
          with the transaction manager.</p>


<li><p>Fixed bug in importing modules using built-in
          __import__.</p>


<li><p>Added <code>b</code> flags in various open calls to make everything
          work correctly on Windows.</p>

</ul>


<h2>2.0.2</h2>
<p>      Fixed bug that caused incompatability between BoboPOS and
      ExtensionClass.</p>


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


<h2>2.0</h2>
<p>      This release has a number of important features, including:</p>
<ul><li><p>A more robust file format that provides direct support for
            grouping database records into transactions and for storing
            transaction meta-data,</p>


<li><p>A platform independent file format, with automatic conversion
            from the current platform-dependent format,</p>


<li><p>cPickle support,</p>


<li><p>Instances of classes that do not define <code>__getinitargs__</code> no
            longer have their constructors called when they are loaded from
            the database.</p>


<li><p>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.)</p>


<li><p>The PersistentMapping class has been moved to a separate module,</p>


<li><p>Methods to store index files that speed startup.</p>


<li><p>and many other features that have accumulated in over a
            year of usage.</p>

</ul>

<p>      Bugs fixed since the alpha release:</p>
<ul><li><p>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.</p>


<li><p>A miss-spelling of __getinitargs__ caused classes that 
          used getinitargs to be loaded incorrectly.</p>


<li><p>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.</p>


<li><p>A bug was fixed in handling circular data structures when
          exporting objects from a database.</p>


<li><p>A new method, objectReferencesIn, was added to
          SimpleDB.MultipleRevision to find all of the (ids of) objects
          referenced in a database record.</p>

</ul>


<p>  <a href="BoboPOS-2.1.tar.gz">Download The Bobo Persistent Object System release 2.1</a>.
</p>



	    </body></html>