Michael,

Thanks very much for your quick replies.  I'll try out the patch.

Matthew

On Sep 25, 3:15 pm, Michael Bayer <[EMAIL PROTECTED]> wrote:
> Here's a patch against the current 0.5 trunk which I am going to add  
> some test coverage for, feel free to try it out.   This will instruct  
> the OracleBinary type to not read() the LOBs if the flag is set.   It  
> makes no sense for it to do so otherwise.
>
>  oracle_no_lobs_patch.txt
> 1KViewDownload
>
>
>
> On Sep 25, 2008, at 3:09 PM, Michael Bayer wrote:
>
>
>
> > On Sep 25, 2008, at 2:51 PM, Michael Bayer wrote:
>
> >> On Sep 25, 2008, at 2:37 PM, MHC wrote:
>
> >>> Perhaps someone can comment on this question about Oracle BFILE's.
> >>> (Oracle BFILE's are like BLOB's but the data is kept outside the
> >>> database tables, in regular files on disk.  Each BFILE has a
> >>> directory
> >>> and filename entry in the table that points to the file on disk).
>
> >>> SQLAlchemy handles BFILE's in the same way as BLOB's, and they work
> >>> nicely, with one exception.  BFILE's have several methods that can  
> >>> be
> >>> called on the LOB handle, and there doesn't appear to be a way in
> >>> SQLAlchemy that one can call these methods.  In particular it would
> >>> be
> >>> very useful to be able to call getfilename() and fileexists().  
> >>> These
> >>> are implemented in cx_Oracle, so the underlying facility is
> >>> available.
> >>> SQLAlchemy always gets the data with read() and returns  the  data.
>
> >>> In the particular application I'm working on the user can upload
> >>> various files to a database and these are stored as BFILE's.  The
> >>> user
> >>> can also browse through the database in various ways, and what he
> >>> wants to see at first is the name of the file he uploaded (that is,
> >>> from lob.getfilename()), rather than the contents of the file.
>
> >>> Is there a way to call getfilename() on a BFILE column currently, or
> >>> could that be implemented?
>
> > sigh...I just checked the source, and i didn't quite finish the
> > story.  The OracleBinary type is whats actually calling LOB.read()
> > here.  auto_convert_lobs is the part which is invoking OracleBinary
> > for all result sets, whether OracleBinary was specified or not.  But
> > if you are in fact reading from a column that you've stated has a
> > Binary type (either directly or via table reflection), its still going
> > to LOB.read().   So you'd additionally have to forego the usage of the
> > Binary type and use an agnostic type such as NullType to get the "raw"
> > cx_oracle LOB object in those cases.
>
> > putting on my thinking cap to see if theres a way to smooth this out,
> > given that the unicode question from earlier in the day has some
> > overlap here.
>
> > 

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to