Re: [ZODB-Dev] Removing version support

2007-04-25 Thread Rodrigo Senra

[ Jim Fulton ]:
|There are undoubtedly databases somewhere that have version data.   
|They would be pretty rare.

Indeed.

|I don't know what you mean by "the API's would be monkey patched".  
|What would monkey patch them? 

What I had in mind was a product that would do these (analysis
and monkey patch) things if necessary. After the first run,
if no version vestige is detected the product could self-destruct ;o)

| Would there be some optional package  
|that people would install that would do this monkey patching?

Yep.

|It sounds like we would have to provide an analysis tool,

Ops, I thought that detecting the need to support versions
would be something simpler, something like looping through
the objects and checking types-and-bytes. 
I'm afraid I had a simplistic view of the problem.
 
|a monkey-patching tool and some pretty complicated documentation.
|This feels like a lot more work than other options.

Ok, thanks for the feedback.

cheers,
Senra
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Removing version support

2007-04-25 Thread Jim Fulton


On Apr 25, 2007, at 1:53 PM, Rodrigo Senra wrote:



[ Jim Fulton ]:

|- We need to first remove the APIs that allow versions to be
|created.
|- We need to have plans for dealing with databases that contain
|version data.  For example, database iterators need to skip over
|version data, or we need database conversion tools that remove
|version data.

Supposing that the number of databases that actually *use* versions
is smaller than the ones that have stayed away from them...
couldn't we just remove versions from the API by default. And,
check for vestiges of versions data in databses files. If vestiges
were found then the API's would be monkey patched to give some bare
minimum version support. If vestiges are *not found*, then these
fortunate souls would be running a version-clean (ZODB) version from
day one.

Nevertheless, I do not know if this suggestion makes any sense,
(I never have touched ZODB versions) and if it does,
how much work would it imply.


There are undoubtedly databases somewhere that have version data.   
They would be pretty rare.


I don't know what you mean by "the API's would be monkey patched".  
What would monkey patch them?  Would there be some optional package  
that people would install that would do this monkey patching?  It  
sounds like we would have to provide an analysis tool, a monkey- 
patching tool and some pretty complicated documentation.  This feels  
like a lot more work than other options.


Jim

--
Jim Fulton  mailto:[EMAIL PROTECTED]Python 
Powered!
CTO (540) 361-1714  
http://www.python.org
Zope Corporationhttp://www.zope.com http://www.zope.org



___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Removing version support

2007-04-25 Thread Rodrigo Senra

[ Jim Fulton ]:

|- We need to first remove the APIs that allow versions to be  
|created.
|- We need to have plans for dealing with databases that contain  
|version data.  For example, database iterators need to skip over  
|version data, or we need database conversion tools that remove  
|version data.

Supposing that the number of databases that actually *use* versions
is smaller than the ones that have stayed away from them...
couldn't we just remove versions from the API by default. And,
check for vestiges of versions data in databses files. If vestiges
were found then the API's would be monkey patched to give some bare
minimum version support. If vestiges are *not found*, then these
fortunate souls would be running a version-clean (ZODB) version from
day one.

Nevertheless, I do not know if this suggestion makes any sense,
(I never have touched ZODB versions) and if it does,
how much work would it imply. 

Just my 0.5 cents.

best regards,
Senra

-
Rodrigo Senra
http://rodrigo.senra.nom.br
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Removing version support

2007-04-25 Thread Jim Fulton


I plan to remove version support from ZODB.  Here's my plan:

- In 3.8, we'll still have the version support we have now, bugs and  
all. We will try not to add new bugs, but we won't necessarily fix  
old ones.  New APIs, if any, introduced in 3.8 won't support  
versions, but won't break  them.


- We will be free, after 3.8, to rip out version support as we have  
time.  When we begin this:


   - We need to first remove the APIs that allow versions to be  
created.


   - We need to have plans for dealing with databases that contain  
version data.  For example, database iterators need to skip over  
version data, or we need database conversion tools that remove  
version data.


Unfortunately, I expect we'll be saddled with remnants for some time,  
as many APIs that are not version specific have version-related  
arguments and return values.  Also, and related, I don't want to  
break the current ZEO protocol.  I find it very useful that current  
ZEO servers work with fairly old clients (back to 3.2).  (I have a  
Zope 2.6 site that is using a current ZEO server.) Eventually, I hope  
we will create new version-free APIs.


Jim

--
Jim Fulton  mailto:[EMAIL PROTECTED]Python 
Powered!
CTO (540) 361-1714  
http://www.python.org
Zope Corporationhttp://www.zope.com http://www.zope.org



___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev