patrick wrote:
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.
are you trying to create a *default* value for an INSERT/UPDATE when NULL
would otherwise be passed, or are you trying to run all incoming/outgoing
data through a SQL function ? those are two completely separate topics.
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.
--
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.