[ZODB-Dev] Blob backward compatibility
    Jim Fulton 
    jim at zope.com
       
    Fri May 18 10:55:23 EDT 2007
    
    
  
I'm finally looking closely at Blobs and making a few changes.  Some  
of these are backward incompatible.  Most are inconsequential.  Since  
Blobs are still considered experimental, I feel fairly free to do  
this, but I don't want to create undue pain for people.
I will make sure that the Zope 3 tests pass after the changes.
Is anyone using Blobs in production?  Does anyone have precious blob  
pickles?
The changes that are likely to affect application code:
- Text-mode blobs are no-longer supported.  (I doubt they ever truly  
were.)  Blob files will always be created and opened in binary mode.   
Only the (previously) documented open modes: 'r', 'w', 'a', and 'r+',  
will be accepted.  It will be an error, for example, to use 'wb'.
- The blob consumeFile method will officially not work with open  
files, which has never worked reliably on Windows.  (We'll need yet  
another chi-module tempory-file hack to allow FieldStorage files to  
work with consumeFile.)  Unfortunately, I know of no way to make it  
fail with open files on Linux.
- I'd like to simplify the directory structure.  I'd like to get rid  
of the ZODB.Blob package and replace it with a ZODB.blob module.   
This means that you'll import the Blob class like this:
   import ZODB.blob
   myblob = ZODB.blob.Blob
Of course, this will affect pickles.  If necessary, I can probably  
create a module alias, but I hope this isn't necessary.
I'll be making other changes that will make blob use less restrictive  
than it is now.
Jim
--
Jim Fulton			mailto:jim at zope.com		Python Powered!
CTO 				(540) 361-1714			http://www.python.org
Zope Corporation	http://www.zope.com		http://www.zope.org
    
    
More information about the ZODB-Dev
mailing list