RE: [ZODB-Dev] RFC: Pre-commit hooks

2005-04-07 Thread Tim Peters
[Florent Guillaume] I've added the code on a branch off 3.4: http://svn.zope.org/?rev=29885view=rev Could someone check if it's suitable and merge it ? Very nice, Florent -- thank you! I added some stuff (trust me, you won't object wink), and merged it to the 3.4 branch and to the ZODB

RE: [ZODB-Dev] UnpicklingError in Ape 1.0

2005-04-08 Thread Tim Peters
Dtvie, if you don't get a useful response from this (zodb-dev) list, you may have better luck on the zope-db list: http://mail.zope.org/mailman/listinfo/zope-db APE and MySQL are discussed more often there. [Dinh Trung Viet] I had a problem when trying to use Ape 1.0 in Zope 2.7 to store

RE: [ZODB-Dev] Encoded strings as keys for OOBTree in 2.7.3

2005-04-13 Thread Tim Peters
[Chris Withers] Interesting problem with an OOBTree, in this case the _index attribute of a FieldIndex in a Zope 2.7.3 instance. doing self._index.get('tést') (you can get the é by doing Alt Gr - e ;-) resulted in a UnicodeDecodeError. The bizarre thing is that: t = OOBTree()

RE: [ZODB-Dev] Invalidations

2005-04-26 Thread Tim Peters
[Rajeev J Sebastian] Is there some means provided by ZODB/Zeo by which I can get notified about changes to certain objects after performing sync() ? There is not. Object state is loaded by calling its __setstate__() method, and you may be able to hack something out of that, but you would need

RE: [ZODB-Dev] python restricted mode subthreads bug

2005-04-30 Thread Tim Peters
[John Belmonte] I'm wondering if someone on the list able to pull some python-dev strings would be kind enough to raise the priority of Python bug 1163563. This is the one causing ZEO not to work with mod_python in Python 2.3.5 and later. The only one likely to work on that is Mark Hammond,

RE: [ZODB-Dev] ZODB.POSException.ReadConflictError

2005-05-03 Thread Tim Peters
[EMAIL PROTECTED] I'm getting a ZODB.POSException.ReadConflictError on my Plone 2.0.5 site (Zope 2.7.3, Python 2.3.4 on Mac OS X Server 10.3.9). It happens most frequently when members try to register on my site (about 10% of the time), but occasionally happens when other pages are accessed

RE: [ZODB-Dev] Indexing: Query Optimization

2005-05-03 Thread Tim Peters
[Thomas Guettler] I developed a simple index using ZODB. Searching for single values is very fast. Searching big ranges is slow. Example: Search: customer_id=0815 date_start=2001-01-01 date_end=2004-12-31 The index holds a btree which maps values to docids. The search for customer_id is

RE: [ZODB-Dev] historicalRevision for subobjects

2005-05-04 Thread Tim Peters
[Christian Heimes] I had the idea of getting a snapshot of the entire ZODB for a given transaction serial number but I don't know how to get it. Is this possible? ... [Dieter Maurer] It is possible (by means of a historical connection) and I posted relevant code some time ago. Search the

RE: [ZODB-Dev] ZODB memory problems

2005-05-31 Thread Tim Peters
... [Toby Dickenson] pb; perspective broker. I thought that suggestion was crazy when Jeremey first presented it in his blog, but increasing exposure to other twisted tools makes it seem more reasonable. Just thought I'd guess at the probably-intended references:

RE: [ZODB-Dev] CorruptedDataError sniff !

2005-06-02 Thread Tim Peters
[Eric Brun, with a corruption problem] This is a good place to discuss it, but I can't tell you more here than I said on zope-dev earlier this morning: http://mail.zope.org/pipermail/zope-dev/2005-June/024941.html ... I have tried to do a fsrecover, it removes a transaction. ... fstest say

RE: [ZODB-Dev] ZODB 3.4 and Persistence

2005-06-02 Thread Tim Peters
[Kevin Dangoor] I'm working with the ZODB 3.4 beta, and I'm working on getting Catalog running with it. I noticed that the _Persistence module is not being built. Is this because ExtensionClass is not included and _Persistence requires ExtensionClass? Catalog has a couple of acquisition

RE: [ZODB-Dev] ZODB 3.4 and Persistence

2005-06-02 Thread Tim Peters
[Tim Peters] ... Hmm. _Persistence.c should be removed from ZODB. Zope 2.8 has its own copy now, in its lib/python/Persistence/ directory. Sorry, I lied about that part. Zope 2.8 copies its Persistence directory from ZODB, so _Persistence.c can't be removed from ZODB yet. Grr -- which

RE: [ZODB-Dev] [Proposal] Size controlled ZODB cache

2005-06-03 Thread Tim Peters
[Chris Withers] I don't suppose there's any way that, as part of this work, the size of the cache could also be limited DURING a transaction? ... That didn't look like part of Dieter's proposal to me wink. It carries its own risks, and I'd rather not tie them together. For example, _v_

RE: [ZODB-Dev] Generational Caching

2005-06-07 Thread Tim Peters
[Chris McDonough] One way to potentially soften the impact of cache busting by spiders might be to allow Zope to choose a particular ZODB connection based on request parameters (like sessionid or requesting ip address, or most likely user agent in the case of legitimate spiders). This is a

RE: [ZODB-Dev] ZEO client hangs when combined with other asyncore code

2005-06-21 Thread Tim Peters
[EMAIL PROTECTED] We have an application that makes use of a ZEO client and has other async socket code that implements as POP3 proxy. The ZEO client is called (to query and store ZEO server) from within the proxy code when it runs during mail checks, so we have multiple async connections at

RE: [ZODB-Dev] ZEO client hangs when combined with other asyncore code

2005-06-21 Thread Tim Peters
... [Tim Peters] asyncore gives me a headache. [Paul Boots] Same here Then it's time to admit that ZEO's attempts to mix threads with asyncore give me migraine headaches 0.5 wink. I wonder whether this could be the problem: Paul said he's calling ZEO from within the proxy code

RE: [ZODB-Dev] ZEO client hangs when combined with other asyncore code

2005-06-23 Thread Tim Peters
... [Tim Peters] asyncore gives me a headache. [Tony Meyer] I think this is true for any value of me 0.5 wink. Not Sam Rushing -- he's asyncore's dad. He doesn't use threads, and, for that matter, doesn't use asyncore anymore either (possibly because it isn't confusing enough wink

RE: [ZODB-Dev] TmpStore missing loadBefore

2005-06-26 Thread Tim Peters
[Tim Peters] This was fixed a few weeks [ago], in rev 30825: http://svn.zope.org/ZODB/branches/3.4/?rev=30825view=rev [Sidnei da Silva] Ah, there we go. So that was fixed after 3.4.0 was tagged, and Zope 2.8 branch still points to the 3.4.0 tag. All correct! Guess we need a new tag

RE: [ZODB-Dev] Handling more databases with zeo

2005-06-29 Thread Tim Peters
[Tim Peters] As before, I'd run a different ZEO server for each database.  I'm not sure that what you're doing here will be supported for much longer (or really even _is_ supported anymore -- see my last msg). [Lukas Linhart] Well, I'm stuck on zodb 3.2.x line because I'm using IndexedCatalog

RE: Re: [ZODB-Dev] Handling more databases with zeo

2005-06-29 Thread Tim Peters
[Tim Peters] As before, I'd run a different ZEO server for each database. I'm not sure that what you're doing here will be supported for much longer (or really even _is_ supported anymore -- see my last msg). [Dieter Maurer] I do not know whether it is supported but it works in ZODB

RE: [ZODB-Dev] tcp_begin in tests

2005-07-06 Thread Tim Peters
[Antonio Beamud Montero] In my app, I'm using ZODB to store data, the problem is that I have implemented several unittest, for every unit test I create the ZODB database and when the test finished I destroy the database (including files). When I run 2 test, the first is executed ok, but the

RE: [ZODB-Dev] tcp_begin in tests [SOLVED]

2005-07-07 Thread Tim Peters
[Antonio Beamud Montero] Solved... well, as you can see in the traceback, the zope-ZODB library was in the path, and I want using the ZODB alone installed in the python lib path... I've removed the /opt/zope/lib/python from my app pythonpath, and now all works fine... Great! I'm especially

RE: [ZODB-Dev] How expensive are savepoints?

2005-07-09 Thread Tim Peters
[Christian Heimes] How expensive and costly are savepoints? 6, maybe 6.2, depending on the units you're using wink. Seriously, how can such a question be answered? How expensive is math.log()? I wasn't able to find informations about it in the Zope docs. Savepoints are very new, and AFAIK

RE: [ZODB-Dev] Re: How expensive are savepoints?

2005-07-10 Thread Tim Peters
[Christian Heimes] How expensive and costly are savepoints? [Tim Peters] 6, maybe 6.2, depending on the units you're using wink. Seriously, how can such a question be answered? How expensive is math.log()? [Christian] My professor for numerical mathmatics would say it is very expensive

RE: [ZODB-Dev] Savepoints are invalidated once they are used

2005-07-11 Thread Tim Peters
[Christian Heimes] ... From my point of view I can't see a reason why the ZODB forbids a second rolback to the savepoint. [Jim Fulton] I agree. This should be changed. Sounds good to me -- it looks easy, so I'll do it wink. ___ For more

RE: [ZODB-Dev] Savepoints are invalidated once they are used

2005-07-11 Thread Tim Peters
[Christian Heimes] From my point of view I can't see a reason why the ZODB forbids a second rolback to the savepoint. [Jim Fulton] I agree. This should be changed. [Tim Peters] Sounds good to me -- it looks easy, so I'll do it wink. Something subtler than I've been able to figure out yet

RE: [ZODB-Dev] Savepoints are invalidated once they are used

2005-07-11 Thread Tim Peters
[Tim Peters] Something subtler than I've been able to figure out yet is going wrong, so I made a tim-savepoint branch. All the tests pass, but ... Br. The pickle cache invalidate method (which is coded in C, so isn't visible from pdb) clears the dictionary passed to it, and when using

RE: [ZODB-Dev] Savepoints are invalidated once they are used

2005-07-11 Thread Tim Peters
[Tim Peters] ... The good news is that, while it was hard to find, it's a one-line repair. Alas, that wasn't the end of it either. I think I'm at the end now, and all the tests are passing again (including new tests to provoke new problems I found). A savepoint (of the data manager Connection

RE: [ZODB-Dev] Re: Savepoints are invalidated once they are used

2005-07-12 Thread Tim Peters
[Christian Heimes, suggests changing Transaction.commit() to start with if subtransaction: # TODO deprecate subtransactions self._subtransaction_savepoint = self.savepoint(1) return if self._savepoint2index:

RE: [ZODB-Dev] Savepoints are invalidated once they are used

2005-07-12 Thread Tim Peters
[Jeremy Hylton] I understand. The further invariant is that the index captured when a savepoint created is immutable. Or at least acts like it. Copying is an easy-to-code and effective way to ensure that, and I don't know of a better feasible way. Capturing a lot of savepoints (or doing a

RE: [ZODB-Dev] Re: Savepoints are invalidated once they are used

2005-07-12 Thread Tim Peters
[Jim Fulton] A good community project would be to convert all of the subtransaction calls in Zope to savepoint calls. [Christian Heimes] Done I found commit(1) in Zope3 zope.app.file.file Pdata handling and in code and tests in Zope2. Bless you! Alas, I haven't received any messages from

RE: [ZODB-Dev] Reloading product in 2.8

2005-07-12 Thread Tim Peters
[Victor Safronovich, having problems with auto refresh] Victor (et alia), I think a discussion of auto-refresh would be more useful on a Zope list -- it's not really (AFAIK) a ZODB issue. This is what changed in ZODB, from ZODB 3.3c1's NEWS file (and no, it won't be changed back to the way it

RE: [ZODB-Dev] zodb connection question

2005-07-12 Thread Tim Peters
[Jürgen Herrmann] ... so, what i need is a way to have my mechanism called before transaction commits (would be possible to use the hooks provided by zodb 3.4 for that, sure) and cycle through all modified objects (that's where the hooks in 3.4 are not enough for me, they don't provide any way

RE: [ZODB-Dev] zodb connection question

2005-07-13 Thread Tim Peters
[Jürgen Herrmann] hmm, as it seemed quite impossible the way i wanted it, i almost dropped it from my wishlist. now you say, it's doable... It would be possible to add new official APIs to ZODB to supply some notion of the collection of all modified objects, at the level ZODB sees objects. Of

RE: [ZODB-Dev] Savepoints are invalidated once they are used

2005-07-14 Thread Tim Peters
[Jeremy Hylton] IIRC, the old implementation of savepoints kept a copy of the index at the time the savepoint was taken so that you could rollback to it multiple times. I don't think there's any way to avoid such a copy. [Dieter Maurer] Maybe, we keep the original implementation (a savepoint

RE: [ZODB-Dev] Reloading product in 2.8

2005-07-14 Thread Tim Peters
[Jim Fulton] It [reload] also doesn't handle global data properly. It tries to do something that Python modules were never designed to support, which is to load them more than once. [Shane Hathaway] However, given the existence of the reload() builtin, someone apparently believed Python

RE: [ZODB-Dev] Savepoints are invalidated once they are used

2005-07-15 Thread Tim Peters
[Dieter] If we do, we can (usually) create a one with the state after the restore. [Tim] Sorry, I couldn't follow that sentence. [Dieter] After I have restored to a savepoint s, then the current state is the one saved in s, thus the sequence: s.restore() # and eliminate from stack

RE: [ZODB-Dev] tweaking invalidation-queue-size

2005-08-02 Thread Tim Peters
[Paul Winkler] invalidation-queue-size is described in ZEO/component.xml like so: The storage server keeps a queue of the objects modified by the last N transactions, where N == invalidation_queue_size. This queue is used to speed client cache verification when a

RE: [ZODB-Dev] zodb-3.4.0 leaks ZEO.cache.Entry objects?

2005-08-03 Thread Tim Peters
[Chris Bainbridge] After some time of running it seems that my process has a lot of ZEO.cache.Entry objects around... sys.getrefcount reports a huge number of references To what was sys.getrefcount() applied? Which version of Python are you using? (155989 when I only have 625 object

RE: [ZODB-Dev] zodb-3.4.0 leaks ZEO.cache.Entry objects?

2005-08-03 Thread Tim Peters
[Tim] ... If you have (or can create) a small, self-contained script showing the problem, that would be the most effective way to make progress. Hmm! This appears to be enough: import sys import random import logging logging.basicConfig() import ZODB from ZODB.config import

RE: [ZODB-Dev] Setting the jar

2005-08-04 Thread Tim Peters
[Florent Guillaume] What part of the transaction/persistence code sets the _p_jar of a persistent object to that of its parent when the object is assigned to a persistent parent and transaction.commit(1) is called ? [Tim] I'm massively overloaded today, so it would really help if you could

RE: [ZODB-Dev] Re: SVN: ZODB/branches/anguenot-ordering-beforecommitsubscribers/src/transaction/ Implements the ordering of before commit subscribers :

2005-08-08 Thread Tim Peters
[Julien Anguenot] +def beforeCommitHookOrdered(hook, order, *args, **kws): + Register a hook to call before the transaction is committed. ... +Note, a hook __call__() method can't define any 'order' argument since +this one is reserved by this method [Florent Guillaume]

RE: [ZODB-Dev] Re: SVN: ZODB/branches/anguenot-ordering-beforecommitsubscribers/src/transaction/ Implements the ordering of before commit subscribers :

2005-08-08 Thread Tim Peters
[Julien Anguenot] Zope3 seems to use one (1) underscore as a suffix like in : See for instance this : http://svn.zope.org/Zope3/trunk/src/zope/app/component/metaconfigure.py?rev= 37586view=auto def subscriber(_context, for_=None, factory=None, handler=None, provides=None, permission=None,

[ZODB-Dev] ZODB 3.4.1 final released

2005-08-10 Thread Tim Peters
I'm pleased to announce the release of ZODB 3.4.1 final. This corresponds to the ZODB that will ship in Zope 2.8.1. You can download a source tarball or Windows installer from: http://zope.org/Products/ZODB3.4 Note that there are two Windows installers, for Python 2.3 (2.3.5 is

RE: [ZODB-Dev] Re:SVN: ZODB/branches/anguenot-ordering-beforecommitsubscribers/src/transaction/Implements the ordering of before commit subscribers :

2005-08-10 Thread Tim Peters
[Julien Anguenot] I renamed those arguments in both methods. How can we solve this 2 methods problem ? Deprecation of the old one ? Or can we live like this ? I think this would leave us in the best state: 1. Deprecate beforeCommitHook(), to be subsumed by #2. 2. Change the name of your new

RE: [ZODB-Dev] Re: SVN: ZODB/branches/anguenot-ordering-beforecommitsubscribers/src/transaction/_transaction.py Implement the sort and insert using bisect.insort()

2005-08-10 Thread Tim Peters
[Florent Guillaume] Frankly I don't see the point of using bisect if you do a linear pass on the list first. The original code was clearer and was faster. If you had a natural way of getting the index, then why not. But anyway this kind of hook list will have only a few elements in it.

RE: [ZODB-Dev] Re: SVN: ZODB/branches/anguenot-ordering-beforecommitsubscribers/src/transaction/_transaction.py Implement the sort and insert using bisect.insort()

2005-08-11 Thread Tim Peters
[Florent Guillaume] I guess you could simply store and increment then index as an attribute of the transaction, yes. Right! That's an easy, obviously correct way to do it, and is the one I'd probably do. Another way is to define a little class to hold a hook's info, and give it a __cmp__

RE: [ZODB-Dev]Re:SVN: ZODB/branches/anguenot-ordering-beforecommitsubscribers/src/transaction/Implementsthe ordering of before commit subscribers :

2005-08-11 Thread Tim Peters
[Julien Anguenot] ok I changed it as you mentionned above + the use of a global index on the transaction for the bisect. Like this the complexity is removed. Thank you again, Julien! It's obviously right now, and that's always a nice place to declare victory wink. For the deprecations, I

RE: [ZODB-Dev] Ordering before commit hooks

2005-08-18 Thread Tim Peters
[Jim Fulton, on Julien's addBeforeCommitHook() change] What is the motivation for this? Can you give any use cases? I'm -1 on this because it adds complexity to something that I think should be simple. It feels like something that is likely to be missused. I do have an open mind though.

[ZODB-Dev] PersistentMapping glitches

2005-08-22 Thread Tim Peters
Collector http://www.zope.org/Collectors/Zope/1873 raises some odd issues. One (although the poster didn't realize this, it's _part_ of their complaint) is that PersistentMapping doesn't play well with the newer Python iteration protocol: from ZODB.PersistentMapping import

RE: [ZODB-Dev] Ordering before commit hooks

2005-08-22 Thread Tim Peters
[Tim] ... Julien provided links to code that already uses the new feature: As an Indexation Manager : http://svn.nuxeo.org/trac/pub/file/CPSCore/trunk/IndexationManager.py As an Event Manager : http://svn.nuxeo.org/trac/pub/file/CPSSubscriptions/trunk/EventManager.py He appears to use

FW: [ZODB-Dev] python types question

2005-08-23 Thread Tim Peters
[fwd'ing private msg, since it appears to have been intended to go to the list] -Original Message- From: Jürgen Herrmann [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 23, 2005 7:31 AM To: Tim Peters Subject: RE: [ZODB-Dev] python types question hi! first of all, thanks to everybody

RE: [ZODB-Dev] BTrees and setdefault

2005-08-30 Thread Tim Peters
[Dmitry Vasiliev] Since then I've changed my mind and almost haven't used setdefault(). So now I'm only +0 on the idea. :-) I think pop() is even more useful than setdefault(), I've planned to use it for some persistent queue implementation (based on BTrees). So if setdefault() will be added I

RE: [ZODB-Dev] Re: setdefault branch

2005-08-30 Thread Tim Peters
[Ruslan Spivak] Really, that usage of calling setdefault without explicit default is confusing and useless IMHO too. I just wanted to think about possible solution if someone ever could think about usefulness of setdefault without default, but definitely in that case

RE: [ZODB-Dev] multi-level undo on a single object

2005-08-30 Thread Tim Peters
[Arthur Peters] I want to do the following: commit a change to an object, then commit another. Now I want to undo the second change. Easy: get the tid using undoLog and call undo(tid, transaction.get()). Now the following transactions are in the DB: - Change 1 - Change 2 - Undo change 2

RE: [ZODB-Dev] Re: BTrees and setdefault

2005-08-30 Thread Tim Peters
[Ruslan Spivak] Do you think code for pop() should go into separate branch? I think code for pop() should go on _a_ branch, yes. ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list -

RE: [ZODB-Dev] multi-level undo on a single object

2005-08-30 Thread Tim Peters
[Arthur Peters] Thanks you very much. Hey, we're both named Peters -- you're probably the son I never knew (or vice versa ;-)) I'm still having issues but I'll investigant it myself before I ask anything else. I think I came across as pushy and demanding and I'm sorry. I didn't mean to. I

RE: [ZODB-Dev] zodb-3.5.0 install : Syntax error on sampletests_i.py

2005-09-13 Thread Tim Peters
/lib/python2.3/site-packages/zope/testi ng/testrunner-ex/sample2/sampletests_i.py to sampletests_i.pyc File usr/lib/python2.3/site-packages/zope/testing/testrunner-ex/sample2/samplete sts_i.py, line 15 importx unittest ^ SyntaxError: invalid syntax ... [Tim Peters] Ah

RE: [ZODB-Dev] Re: Zope 2.8.1 w Zeo 3.4.1 fails where standalone Zope2.8.1works

2005-09-22 Thread Tim Peters
[Sidnei da Silva, to Erik Lundh] Hint: If you are using persistent (disk-based) ZEO cache, removing the cache file and/or disabling persistent caching. It sounds like Erik is hitting problems immediately on a fresh, virgin setup -- in which case there shouldn't be any cache files sitting around

[ZODB-Dev] ZODB 3.5.1 final released

2005-09-26 Thread Tim Peters
I'm pleased to announce the release of ZODB 3.5.1 final. This corresponds to the ZODB that will ship in Zope 3.1.0 final. You can download a source tarball or Windows installer from: http://zope.org/Products/ZODB3.5 Note that there are two Windows installers, for Python 2.3 (2.3.5 is

RE: [ZODB-Dev] afterCommitHook

2005-10-03 Thread Tim Peters
[Julien Anguenot] ... I mean, this is an *after* commit hook after all. If one wants to change persistent objects then one can use the beforeCommmitHook() (with ordering support right ;) ) to launch it at the end just before the actual commit. I see, on my side, the afterCommitHook system

RE: [ZODB-Dev] Questions about [get_]transaction[()].abort()

2005-10-04 Thread Tim Peters
[Chris Withers] If I abort a transaction (and bear in mind this might well happen after a ConflictError has been caught) Shouldn't matter whether an exception occurred, or, if one did occur, which particular exception it was. do I need to do a sync() or some such to bring all the objects back

RE: [ZODB-Dev] Race condition in basestorage commit locks?

2005-10-05 Thread Tim Peters
[Christian Theune] this is nasty. We detected a couple of hangs with a Zope 2.7.7 final and (using the DeadlockDebugger) we found this situation in every of the four threads: (See attached file for complete listing of all threads) And there are 4 threads each stuck at

RE: [ZODB-Dev] Race condition in basestorage commit locks?

2005-10-05 Thread Tim Peters
[Tim] The code does seem to implicitly assume that neither of those _will_ raise an exception, and I agree the commit lock release belongs in the `finally` clause instead. I'll change that, but doubt it will make a difference to you: if either of those did raise an exception, I expect you

[ZODB-Dev] New ZODB-related project on svn.zope.org

2005-10-06 Thread Tim Peters
There's a new zodbbench project, at svn://svn.zope.org/repos/main/zodbbench/trunk Those on the zodb-checkins mailing list may already have noticed that zodbbench checkins show up on that list too. Sad but true: we've never had a way to quantify ZODB performance across releases (or across

RE: [ZODB-Dev] Race condition in basestorage commit locks?

2005-10-07 Thread Tim Peters
[Christian Theune] It looks like we have been bitten by a bug in a C-Module for MySQL access. Sometimes it led to a segfault, a halt, or the hang. We can't reproduce it after switching that C-Module anymore. Any theory for how that could make all four threads appear to be blocked on an attempt

Re: [ZODB-Dev] Re: Multi-Threading Transactions

2005-10-13 Thread Tim Peters
[Jeremy] The default transaction manager maintains a separate transaction for each thread. When you call transaction.commit() from thread T1, it commits the transaction for thread T1. It has no effect on other thread's running transactions. My apologies if this has been mentioned already

[ZODB-Dev] ZODB 3.2.10 final released

2005-10-13 Thread Tim Peters
I'm pleased to announce the release of ZODB 3.2.10 final. This corresponds to the ZODB in Zope 2.7.8 final. You can download a source tarball or Windows installer from: http://zope.org/Products/ZODB3.2 Note that there are two Windows installers, for Python 2.3 (2.3.5 is recommended) and

RE: [ZODB-Dev] know the state of an object

2005-10-13 Thread Tim Peters
[dvd] this my first post to this list, and first of all thanks for your work. I'm developing a ZODB based Collection Management software, and, for a bunch of reasons, i have to know the list of modified objects before the current transaction commit. Looking around seems there is no a public

RE: [ZODB-Dev] know the state of an object

2005-10-14 Thread Tim Peters
[Chris Withers, about getting at the collection of modified objects] How hard would it be to expose? The coding would be trivial in ZODB 3.6 (earliest version a new feature could land) if limited solely to Connection objects. More work to specify the interface and write tests. Would there be

RE: [ZODB-Dev] Weird errors with Zope 2.7.7

2005-10-17 Thread Tim Peters
[Chris Withers] We've been seeing these errors for a while now, but had assumed it was due to an old Zope version. We've been running 2.7.7 for a week or two now and we're still seeing these intermittently: ... AttributeError: ClientCache instance has no attribute '_get' [Tim Peters

RE: [ZODB-Dev] Weird errors with Zope 2.7.7

2005-10-20 Thread Tim Peters
[Chris Withers] First question, would you mind if I added oid_unrepr to ZODB.utils? I [Dieter Maurer] Why do you not like p64 (which is already there)? [Chris] If that's the case, then great :-) I was just asking 'cos I couldn't find he functionality anywhere, You found ZODB.utils, which

RE: Re[4]: [ZODB-Dev] know the state of an object

2005-10-20 Thread Tim Peters
[Victor Safronovich] invalidate [Dieter Maurer] I think, this is not easily available, but obj._p_changed = None might work [Victor] What about obj._p_invalidate()? I don't think _p_invalidate() existed before ZODB 3.3. At and after 3.3, obj._p_invalidate() is the same as

RE: [ZODB-Dev] Slow Zeo load times after upgrade to ZODB 3.4

2005-10-21 Thread Tim Peters
[Dieter Maurer] The ZODB cache lives in RAM and is a Python object cache. It is a per connection cache. The ZEO client cache lives on disk and is a pickle cache (it caches the object states not the objects themselves). It is shared by all connections to a single storage (in one process).

RE: Re[2]: [ZODB-Dev] question about connections

2005-10-24 Thread Tim Peters
... [Tim Peters] Heh. Is there a secret agenda here, or is that line an elaborate way to spell time.sleep(random())? [Victor Safronovich] yes, this is an elaborate way :)). Do you think that use time.sleep is more correct way to freeze the thread? I'm not entirely sure what you're

RE: [ZODB-Dev] In search of Information for ZODB University Paper

2005-10-26 Thread Tim Peters
[Markus Kalb] i'm in search for some general information about ZODB, to help me compile a presentation about ZODB. With google if found a lot of information (maybe even to much) and so i thought i would ask you people if you could point me to some resources ? At the moment i only now ZODB the

RE: [ZODB-Dev] oids, numbers, hex and 8-byte strings

2005-10-27 Thread Tim Peters
[Tim] There is no inverse for oid_repr, and there isn't a need for one. For any 8-byte string oid S, p64(int(oid_repr(S), 0)) == S so that's how to get an inverse of oid_repr if you really want one (although I don't know why anyone would). [Chris] ...'cos oid_repr is what gets used

RE: [ZODB-Dev] Re: Weird errors with Zope 2.7.7

2005-10-27 Thread Tim Peters
[Chris] logger.info('blah',show_stack=True) ... [Tim] It's not hard to roll yourself, so I expect (but don't know) that the logging module's author would resist adding it. [Chris] I guess that's my question. Where and who should I ask about it? On a Python list (doh ;-)). Vinay Sajip is

RE: [ZODB-Dev] strange savepoint behavior

2005-11-03 Thread Tim Peters
[dvd] Hi all, I'm writing a framework on top of ZODB and I'm now investigate on a strange savepoint-related behavior (after a savepoint.rollback the attributes of a Persistent-derived class disappears) While investigate i write this code and found another strange behavior (maybe

RE: [ZODB-Dev] strange savepoint behavior

2005-11-03 Thread Tim Peters
[Tim] ... I'll open a Collector issue about the POSKeyError (extreme case or not, it shouldn't happen). FYI, the Collector report is here: http://www.zope.org/Collectors/Zope/1940 Thank you for the slim test case! That really helps. ___ For

RE: [ZODB-Dev] import Status from _transaction to __init__

2005-11-03 Thread Tim Peters
[Victor Safronovich] there is a proposal to import transaction._transaction.Status instance to transaction package namespace and use in Zope for example from transaction import get, Status class Test: def __del__(self): if get().status = Status.Commited:

RE: [ZODB-Dev] strange savepoint behavior

2005-11-03 Thread Tim Peters
[dvd] ... I'm using ZODB 3.5.1 OK. [Tim] .. If I add transaction.commit() right after your data = root['data'] = OOBTree() then the POSKeyError goes away, and I get Traceback (most recent call last): File pos_dvd.py, line 34, in ? print commonWords[1].id

RE: [ZODB-Dev] strange savepoint behavior

2005-11-03 Thread Tim Peters
[Tim Peters] ... When you later do sv = transaction.savepoint() Sorry! That should have said sv.rollback() you're explicitly asking the transaction machinery to throw away _all_ current state _that it knows about_. This now includes the state for commonWords[0

RE: [ZODB-Dev] misleading exception

2005-11-06 Thread Tim Peters
[dvd] Hi all, I'm still working with savepoints and today I spend about tewo hours to find an error, misleaded by a strange Exception As Dieter said (thanks, Dieter!), the current transaction should always be explicitly committed or aborted before closing any Connection involved in the

RE: [ZODB-Dev] Retrieval of contents of corrupted plone folder

2005-11-07 Thread Tim Peters
[Jim Rippon] ... -- 2005-11-07T15:03:51 ERROR(200) ZODB Couldn't load state for 0x1655 Traceback (most recent call last): File /data/newsite/lib/python/ZODB/Connection.py, line 600, in setstate self._set_ghost_state(obj, p) File /data/newsite/lib/python/ZODB/Connection.py, line

RE: [ZODB-Dev] Migrating classes in ZODB 3.5.1

2005-11-08 Thread Tim Peters
[Syver Enstad] In ZODB 3.2 I can replace the _classFactory method on DB and locate the renamed/moved class by other means (a lookup table that maps old module classname pairs to another class in another module). If I change attributes of the persistent instance it will be saved with the new

RE: [ZODB-Dev] Migrating classes in ZODB 3.5.1

2005-11-09 Thread Tim Peters
[David Binger] Is there something to prevent your update script from setting _p_changed = 1 on every persistent object that contains a reference to an instance of the moved class? I think that if you do that and commit and pack the database, the old module/class references will be purged. If

RE: [ZODB-Dev] Migrating classes in ZODB 3.5.1

2005-11-10 Thread Tim Peters
[Tim Peters] Stephan Richter was wrestling with a migration script a couple months ago. I don't know whether he packaged the code he ended up with for reuse. Here's a record of the IRC chat in which details got worked out: http://zope3.pov.lt/irclogs/%23zope3-dev.2005-08-25.log.html

RE: [ZODB-Dev] custom mount point container type

2005-11-17 Thread Tim Peters
[Jim Fulton] Please note that this is the wrong list for this discussion. The ZODBMountPoint thing is in Zope. I will note though that before doing anything new in this area, you should take a look at the multi-database support in ZODB 3.5 and later. Also look at the current Zope(2) trunk

RE: [ZODB-Dev] Migration of obsolete BTrees to ZOPE 2.8

2005-11-18 Thread Tim Peters
[Margie Watkins CONT] The issue http://www.zope.org/Collectors/Zope/1695 asks for a statement from users who are affected by the missing modules. Unfortunately, that's become out of sight, out of mind since then -- the issue was opened 9 months ago, and to date you're the first to say you

RE: [ZODB-Dev] RE: RE: RE: PersistentMapping

2005-11-18 Thread Tim Peters
[Tim] ... This worked (which is what I normally do): [build_ext -i] [Thomas] It did for me too. I guess the crucial difference was doing build_ext instead of just build. Yes. Maybe someone with more distutils clue could say something about it; if my guess is right, README.txt should be

RE: [ZODB-Dev] RE: RE: PersistentMapping

2005-11-18 Thread Tim Peters
[Tim] ... BTW, setup.py build python test.py should work too; it's a bug that it doesn't (and it worked fine within the last few months), but I don't have time for it now. Well, bug or not, the resident zpkgtools expert tells me he doesn't expect that to work anymore, and that it

RE: [ZODB-Dev] RE: RE: PersistentMapping

2005-11-18 Thread Tim Peters
[Julien] Well I'm not sure it works Tim. My comment was to be able to test the build *before* installing the ZODB on the Python. Right, and that's the way ZODB tests are normally run by everyone who works on ZODB (they never _install_ ZODB to run tests). I need to try that again but, if I

RE: [ZODB-Dev] RE: RE: PersistentMapping

2005-11-20 Thread Tim Peters
[Thomas Lotze] ZODB/branches/3.5 My newly added tests for PersistentMapping break here; PersistentMapping seems to lack __iter__. (PersistentMapping hadn't been tested at all before.) The suite passes fine on the trunk and the 3.4 and 3.6 branches, but it fails on 3.5. Should __iter__

RE: [ZODB-Dev] Migration of obsolete BTrees to ZOPE 2.8

2005-11-20 Thread Tim Peters
[Dieter Maurer] It is no problem as long as you migrate while you are still using a Zope 2.7 (ZODB 3.2) release. I believe (but don't know) that the OP has many distinct, physically distributed installations of their product, involving many distinct databases. I don't know how many many is

RE: [ZODB-Dev] RE: RE: RE: PersistentMapping

2005-11-22 Thread Tim Peters
[Thomas Lotze] Tests... there are test suites for PersistentMapping both in src/ZODB/tests/testPersistentMapping.py (which is the one that checkin message talked about) and one in src/persistent/tests/test_mapping.py (which I added when I found test_list.py, but no mapping tests in that

RE: [ZODB-Dev] Re: [Zope] DateTime mess

2005-12-01 Thread Tim Peters
Sorry, I couldn't find a comprehensible question here after reasonable effort to extract one. Clearly, Zope2's DateTime.DateTime.DateTime objects are neither persistent nor do they define any mutating methods. Are those relevant? If not, try to ask a question directly, without assuming everyone

RE: [ZODB-Dev] Different weird errors with Zope 2.8.4

2005-12-01 Thread Tim Peters
[Chris Withers] Yay! Where's the correct place to report these nowadays? Same as always: ZODB bugs should be reported on a Zope Collector, with topic Database. It's fine to discuss them on zodb-dev, but when (as appears to be the case with this one) nobody has an immediate answer or time to

RE: [ZODB-Dev] Re: [Zope] DateTime mess

2005-12-01 Thread Tim Peters
[Jürgen Herrmann] the question was wether DateTime instances (of the new implementation, which is yet to be coded) should mixin Persistent. OK. Since ZODB doesn't care whether you do, is there confusion about what ZODB may or may not do in either case? That is, what's the ZODB issue here?

RE: [ZODB-Dev] Re: [Zope] DateTime mess

2005-12-01 Thread Tim Peters
[Chris Withers] Sorry, my question was that if DateTime's were persistent, would the following code result in a complete pickle for 'a' being written on the second transaction commit? There is only one commit in the following, so I'll assume you intended a second commit at the end:

  1   2   >