Contact: fumanchu@aminus.org

Log in as guest/dejavu to create tickets

I think I've seen this ORM somewhere before...

root/branches/ldap/old_changes.txt

Revision 42 (checked in by fumanchu, 7 years ago)

1. New named_opcodes(bits) in codewalk.
2. Moved old codewalk history to old_changes.

Line 
1 9/22/04: Moved code into Subversion repository. Changes now managed in SVN log.
2
3 1.2.3 (9/3/04):
4     1. Decoupled construction of stores from arena._load() into add_store().
5     2. Exceptions in SocketServer now get passed back to the calling app
6         and reraised.
7     3. Fixed nasty latent bug where engine FILTER rules weren't filtering
8         if the set already had elements; it would just pass through every
9         existing element without evaluating them against the filter operand.
10     4. Wrote dejavu.analysis.py, which provides aggregation and analysis
11         tools to dejavu applications. Moved dejavu.unit_sort to analysis.sort.
12     5. storeado.CALL_FUNCTION failed on some logic functions. If the func
13         object was stored in co_consts, it would error on .endswith. Now
14         falls through, setting imperfect, so dejavu can test with the lambda.
15
16 1.2.2 (8/18/04):
17     1. Changed storage/sockets to use blocking sockets, resulting in a 40% speedup.
18     2. Use faster CPickle if possible in sockets, storeado, engines.
19     3. Moved on_forget calls after the unit is forgotten. All known use
20         cases are OK with this; some needed it to update parent sums.
21
22 1.2.1 (8/10/04):
23     1. Got rid of unit.has(), which didn't fit the new unit formation process.
24     2. Rewrote CachingProxy.sweep() to destroy temporary units (which rolls
25         back the reserve(), in effect).
26     3. CachingProxy.shutdown duplicated sweep_all().
27     4. Sandbox was setting Unit.dirty = False on recall; that should be left
28         to SM's, since they might cache Units.
29     5. storeado.AdapterToADOFields.coerce_datetime() didn't trap
30         value == None (tried to add None + None).
31
32 1.2.0 (8/9/04):
33     1. Sandbox.forget had a NameError: store = self.arena.storage(cls)
34     2. Storage.CachingProxy.sweep errored on some _recallTimes[id]
35     3. for job, project in recall(Job, [expr, [Project, [expr]]]).
36         Recalls associated Units in a single SM query.
37     4. Added a special case for Expression(lambda x: x.ID == CONST),
38         to save the database hit if it's found in the cache.
39     5. Profiling: Changed storeado.py, storage/sockets.py to set
40         unit._properties directly to save __set__ overhead (which isn't
41         really needed until the unit is concrete).
42     7. Profiling: added unit._property_types for faster lookup.
43     8. After profiling, added _co_code_attrs to codewalk because dir() was so slow.
44
45 1.2.0 RC (8/5/04):
46     1. Did another big rework. Sandboxes now use straight dicts for caching
47         Units, and are never shared across requests. Any sharing has been
48         pushed into subclasses of StorageManager, for example, CachingProxy.
49         This should also give us the framework to write multi-Unit recall.
50     2. Given the new chainable StorageManagers, added "Load Order" and
51         "Shutdown Order" to config options.
52     3. Merged config "Cache" sections with "StorageManager" sections (since
53         there are no more Cache classes).
54     4. Changed arena.roster to be a Prism; removed RegisteredUnitClass class.
55
56 1.1.3 (7/30/04):
57     1. Dang. Forgot to have memorize() set dirty with all the refactoring.
58     2. Times and datetimes not being saved correctly (math/parens typo).
59     3. Times and datetimes not being retrieved correctly due to naive
60         rounding of times, which are fractional.
61
62 1.1.2 (7/29/04):
63     1. Change storeado to drop UnitCollection tables instead of emptying them;
64         this makes modifying the type of the ID column easier.
65     2. engines.take_snapshot(): nontemp Engines now create temp snapshots.
66     3. UnitEngine.on_repress removed--it isn't necessary.
67
68 1.1.1 (7/28/04):
69     1. storeado was failing on load_collection when looking up class.
70     2. storeado wasn't retrieving currencies correctly (lost fractions).
71
72 1.1.0 (7/27/04):
73     1. storeado.load_collection had a bug setting idtype.
74     2. Added shutdown() to Storage Managers.
75
76 1.1.0 RC (7/26/04):
77     1. distinct() functions at sandbox, cache, storage levels.
78     2. Completely reworked caching mechanism so apps could flush caches
79         after each request (which turns out to be most efficient for
80         web apps, rather than having each thread serialize access to
81         shared caches). UnitServer is gone, and Unit caches are now owned
82         by Sandboxes, which are doled out to apps.
83     3. Sandbox attribute of Units gets set on memorize, not init. No more
84         Unit.memorize(); instead, it's sandbox.memorize(unit), and any
85         custom unit code that was in overridden Unit.memorize functions
86         now needs to be in Unit.on_memorize().
87     4. storeado.save_collection: Unit.ID.type was not being detected
88         correctly; hence no save of UnitCollections.
89
90 1.0.3 (7/21/04):
91     1. Since cache wasn't being indexed anyway, went back to a plain dict.
92     2. Added an option to storeado to create a new ADO Connection
93         for each thread. Doesn't seem to make a difference on speed.
94     3. Added UnitServerWeakref.
95     4. Units were being saved on repress() even if not dirty.
96     5. Changed default UnitServer to no cache. UnitServerCaching should
97         be considered broken until its cache management can be made
98         thread-safe (that is, it's far too slow because it has to
99         synchronize every recall).
100     6. Modified Arena to handle unit class->server mappings more
101         statically, with a 'roster' dictionary. ALL unit classes must
102         now be registered via arena.register() or .associate().
103     7. Made Unit.server an attribute, set at __init__, rather than
104         a method. Consequently, was able to remove some of the litmus
105         testing done in UnitServer methods--the litmus should be tested
106         long before those calls; i.e., when arena.roster is populated.
107
108 1.0.2 (7/19/04):
109     1. Reworked recall by removing Recallers completely. Big speedup.
110
111 1.0.1 (7/16/04):
112     1. Added the COPY rule to engines.py.
113
114 codewalk.py 0.3.1 (4/29/04):
115     1. Added KeywordInspector.
116     2. Made LambdaDecompiler use function __name__, not repr() (early
117         binding makes e.g. datetime.date into <type datetime.date>).
118     3. Added safe_tuple.
119     4. Added TaintableStack.maxsize to help stack calculation.
120     5. Forgot to call deref_cell from visit_LOAD_DEREF! D'oh!
121     6. Put visit_ methods in alpha order.
122     7. Added name_index to Rewriter.
123     8. Got rid of extra args to EarlyBinder.
124     9. Added reduction of getattr to EarlyBinder as an option.
125     10. Combined 'ands' and 'ors' into 'targets' in LambdaDecompiler.
126     11. Fixed parenthesis problems in LambdaDecompiler.
127     12. Added BranchTracker class.
128
129 Prior to July 2004, Dejavu was integrated with a Python application
130 framework, which is now called "Cation". Development on the
131 previously-integrated project began in September 2003.
Note: See TracBrowser for help on using the browser.