Yong Zhang | 7 Apr 2008 09:58
Picon

When the next release come out

Hi, Developers,

I read the mails in this list, and find there are some bugs in Durus, especially in Windows version.

I just want to know: when the next release come out. And, is the project still alive?

Thanks.
- yzhang

_______________________________________________
Durus-users mailing list
Durus-users <at> mems-exchange.org
http://mail.mems-exchange.org/mailman/listinfo/durus-users
Binger David | 7 Apr 2008 12:36

Re: When the next release come out


On Apr 7, 2008, at 3:58 AM, Yong Zhang wrote:

> Hi, Developers,
>
> I read the mails in this list, and find there are some bugs in  
> Durus, especially in Windows version.
>
> I just want to know: when the next release come out. And, is the  
> project still alive?

Hi.

This project is still very much alive and we expect to get a release out
in the next few months.  Here is the current changelog we're working
with now for the next release, which will be version 3.8.  There are
no known bugs in the development version, but testing of this version
has only been on Linux and OS X so far.

-----

Revise all code so that it is functional in both python 2 and python 3.
Note that this has not been tested much in python 3.   The python 3
pickler code is a little different, so databases made with python 2 will
require conversion before they can work with python 3.  We've
added a script for this conversion.

This release requires Python version 2.4 or later.

Implement call_if_persistent and use it to guard calls to  
persistent_id()
during pickling.  In one benchmark, this reduces commit() CPU time by  
50%.

Make ShelfStorage the default FileStorage implementation.
The FileStorage2 implementation is supported in this release,
but deprecated.
To convert formats, use "python shelf.py old.durus new.durus".

Add BTree.get_depth() and  BTree.get_node_count() so that it is possible
to know something of the dimensions of a given BTree.

Add BTree.set_bnode_minimum_degree() so that you control the depth of  
a BTree.

Add Cache.__iter__(), so that it is easier to examine the objects  
currently
in the cache.

Implement __eq__() and __ne__() for PersistentDict, but remove  
__cmp__().
Drop support for comparing a PersistentDict to a plain dict.

Instead of using a set for recent_objects, use a special
ReferenceContainer class.  This removes the necessity for
persistent instances to be hashable.

Remove the time-travel Connection from Durus.

Add BitArray.items()
Add Byte.byte()
Remove ByteArray.__str__().

Add byte_string to utils.
Add join_bytes(), empty_byte_string, and as_bytes() to utils.
Make write() call as_bytes() on the argument so that write(f, 'foo')
works in python 2 and python 3.
Add write_all() to utils so that callers don't need to concatenate
their arguments.

Add a flush() after every write() on Windows.
This appears to fix a problem that shows up when using ShelfStorage.
The problem was detected and fixed by Matthew Scott.  Thanks.
Also change the nt implemention of obtain lock so that failure
to obtain a lock raises an IOError, as on other systems, instead
of a pywintypes.error.

Patch imports to work on nt.  Posted by Sergio Alvarez.

Fix bug in FileStorage constructor that would prevent a file from
being opened as readonly when another process has it open readwrite.

Add Shelf.items().

Remove Storage.get_size(), FileStorage2.get_size().

Remove support for calling _p_note_change() by assigning to
the "_p_changed" attribute.  If your code uses the attribute-setting
style, it should be updated to just call the method directly.
The attribute-setting notation is riskier because you may set the wrong
attribute, or set the right attribute on a non-persistent object,
and get unexpected results.
Yong Zhang | 7 Apr 2008 14:19
Picon

Re: When the next release come out

Hi David,

Where can I check out the current developing verion?

Thanks.
- yzhang

On Mon, Apr 7, 2008 at 6:36 PM, Binger David <dbinger <at> mems-exchange.org> wrote:

On Apr 7, 2008, at 3:58 AM, Yong Zhang wrote:

Hi, Developers,

I read the mails in this list, and find there are some bugs in Durus, especially in Windows version.

I just want to know: when the next release come out. And, is the project still alive?

Hi.

This project is still very much alive and we expect to get a release out
in the next few months.  Here is the current changelog we're working
with now for the next release, which will be version 3.8.  There are
no known bugs in the development version, but testing of this version
has only been on Linux and OS X so far.

-----

Revise all code so that it is functional in both python 2 and python 3.
Note that this has not been tested much in python 3.   The python 3
pickler code is a little different, so databases made with python 2 will
require conversion before they can work with python 3.  We've
added a script for this conversion.

This release requires Python version 2.4 or later.

Implement call_if_persistent and use it to guard calls to persistent_id()
during pickling.  In one benchmark, this reduces commit() CPU time by 50%.

Make ShelfStorage the default FileStorage implementation.
The FileStorage2 implementation is supported in this release,
but deprecated.
To convert formats, use "python shelf.py old.durus new.durus".

Add BTree.get_depth() and  BTree.get_node_count() so that it is possible
to know something of the dimensions of a given BTree.

Add BTree.set_bnode_minimum_degree() so that you control the depth of a BTree.

Add Cache.__iter__(), so that it is easier to examine the objects currently
in the cache.

Implement __eq__() and __ne__() for PersistentDict, but remove __cmp__().
Drop support for comparing a PersistentDict to a plain dict.

Instead of using a set for recent_objects, use a special
ReferenceContainer class.  This removes the necessity for
persistent instances to be hashable.

Remove the time-travel Connection from Durus.

Add BitArray.items()
Add Byte.byte()
Remove ByteArray.__str__().

Add byte_string to utils.
Add join_bytes(), empty_byte_string, and as_bytes() to utils.
Make write() call as_bytes() on the argument so that write(f, 'foo')
works in python 2 and python 3.
Add write_all() to utils so that callers don't need to concatenate
their arguments.

Add a flush() after every write() on Windows.
This appears to fix a problem that shows up when using ShelfStorage.
The problem was detected and fixed by Matthew Scott.  Thanks.
Also change the nt implemention of obtain lock so that failure
to obtain a lock raises an IOError, as on other systems, instead
of a pywintypes.error.

Patch imports to work on nt.  Posted by Sergio Alvarez.

Fix bug in FileStorage constructor that would prevent a file from
being opened as readonly when another process has it open readwrite.

Add Shelf.items().

Remove Storage.get_size(), FileStorage2.get_size().

Remove support for calling _p_note_change() by assigning to
the "_p_changed" attribute.  If your code uses the attribute-setting
style, it should be updated to just call the method directly.
The attribute-setting notation is riskier because you may set the wrong
attribute, or set the right attribute on a non-persistent object,
and get unexpected results.


_______________________________________________
Durus-users mailing list
Durus-users <at> mems-exchange.org
http://mail.mems-exchange.org/mailman/listinfo/durus-users
Binger David | 7 Apr 2008 15:27

Re: When the next release come out

I'm sorry, but we don't offer that.  I hope that
you can wait for the next release, or patch 3.7
for use on Windows, if that's what you need.

On Apr 7, 2008, at 8:19 AM, Yong Zhang wrote:
> Where can I check out the current developing verion?
Binger David | 7 Apr 2008 22:27

Re: When the next release come out

There is another feature expected in the next release that I forgot
to mention.  We added an "autopack" parameter to the StorageServer
constructor.  If the autopack argument is a positive number, it is
the number of transactions we wait before automatically triggering
a pack.  The default value is no autopacking, so that existing
behavior is preserved.  If the autopack is used, though, it means
we can run a server without a packing cron job.
Yong Zhang | 8 Apr 2008 07:59
Picon

Re: When the next release come out

Hi David,

Excuse me, how can I get the patch for 3.7 on Windows?

Thanks.
- yzhang

On Mon, Apr 7, 2008 at 9:27 PM, Binger David <dbinger <at> mems-exchange.org> wrote:
I'm sorry, but we don't offer that.  I hope that
you can wait for the next release, or patch 3.7
for use on Windows, if that's what you need.


On Apr 7, 2008, at 8:19 AM, Yong Zhang wrote:
Where can I check out the current developing verion?


_______________________________________________
Durus-users mailing list
Durus-users <at> mems-exchange.org
http://mail.mems-exchange.org/mailman/listinfo/durus-users
Yong Zhang | 8 Apr 2008 08:05
Picon

Re: When the next release come out

I saw that there is a Berkeley storage backend, with it, Durus need not packing any more. How the status of this storage backend in v3.8? Will it integrate it?

BR.
- yzhang

On Tue, Apr 8, 2008 at 4:27 AM, Binger David <dbinger <at> mems-exchange.org> wrote:
There is another feature expected in the next release that I forgot
to mention.  We added an "autopack" parameter to the StorageServer
constructor.  If the autopack argument is a positive number, it is
the number of transactions we wait before automatically triggering
a pack.  The default value is no autopacking, so that existing
behavior is preserved.  If the autopack is used, though, it means
we can run a server without a packing cron job.



_______________________________________________
Durus-users mailing list
Durus-users <at> mems-exchange.org
http://mail.mems-exchange.org/mailman/listinfo/durus-users

_______________________________________________
Durus-users mailing list
Durus-users <at> mems-exchange.org
http://mail.mems-exchange.org/mailman/listinfo/durus-users
Binger David | 8 Apr 2008 11:57

Re: When the next release come out


On Apr 8, 2008, at 1:59 AM, Yong Zhang wrote:

>
> Excuse me, how can I get the patch for 3.7 on Windows?

There is no official patch, but I was thinking about this thread
in the archive:
http://mail.mems-exchange.org/durusmail/durus-users/872/
Binger David | 8 Apr 2008 12:05

Re: When the next release come out


On Apr 8, 2008, at 2:05 AM, Yong Zhang wrote:

I saw that there is a Berkeley storage backend, with it,

That is a separate (and interesting) project, but we
don't use it here.

Durus need not packing any more.

That's not really correct.  Packing still happens.  It is just
a different mechanism that makes it happen.

I think the Berkeley Storage does avoid packing
by maintaining reference counts to objects.  The
regular Durus Storage does not use reference counts
(at the object level).

How the status of this storage backend in v3.8?

There has been no testing of that combination.

Will it integrate it?

No.



_______________________________________________
Durus-users mailing list
Durus-users <at> mems-exchange.org
http://mail.mems-exchange.org/mailman/listinfo/durus-users
Matthew Scott | 8 Apr 2008 18:01
Picon
Gravatar

Re: When the next release come out

yzhang,

We maintain a "friendly fork" of Durus for the Schevo project that is patched for Windows use.  You can access our Mercurial repository here:


Additionally, you can easy_install our "3.7-schevo2" tag directly from the repository using this command (if you use setuptools, that is):


If you do not have a C compiler toolchain on your Windows system, we have a pre-built egg for Python 2.5 you can install:


Hope this helps!

- Matt


On Mon 2008-04-07, at 22:59, Yong Zhang wrote:

Hi David,

Excuse me, how can I get the patch for 3.7 on Windows?

Thanks.
- yzhang

On Mon, Apr 7, 2008 at 9:27 PM, Binger David <dbinger <at> mems-exchange.org> wrote:
I'm sorry, but we don't offer that.  I hope that
you can wait for the next release, or patch 3.7
for use on Windows, if that's what you need.


On Apr 7, 2008, at 8:19 AM, Yong Zhang wrote:
Where can I check out the current developing verion?


_______________________________________________
Durus-users mailing list
Durus-users <at> mems-exchange.org
http://mail.mems-exchange.org/mailman/listinfo/durus-users

--
Matthew Scott

_______________________________________________
Durus-users mailing list
Durus-users <at> mems-exchange.org
http://mail.mems-exchange.org/mailman/listinfo/durus-users

Gmane