Hey,
  I'm trying to create dynamic defaults for columns ala "http://
www.sqlalchemy.org/docs/metadata.html#context-sensitive-default-functions".
MySQL has COMPRESS and UNCOMPRESS functions that I'm trying to
leverage.  I don't want to compress with python's zlib because I have
legacy tables that were compressed using MySQL (which has a weird non-
standard zip header and body), and I need to interface with them.
Anyway, during an insert or update, I want to grab the 'text' variable
from the instance object and insert it into the database like:
COMPRESS("the text value").  Obviously context.current_parameters is
not the appropriate object, but I can't figure out if it's possible to
access the instance being inserted/updated.

def compress_text(context):
    return "COMPRESS('%s')" % context.current_parameters['text']

class Tree(BaseStruct, Base):
    __tablename__ = 'tree'
    __table_args__ = (
            {'autoload':True}
            )

    compressed =
deferred(Column(Binary(),default=compress_text,default=compress_text,onupdate=compress_text))
    text =
column_property(select(["UNCOMPRESS(compressed)"]),deferred=True)

Is this possible with 0.5.7?

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to