[sqlalchemy] Re: some error around trunk
On Dec 16, 2007, at 2:40 AM, [EMAIL PROTECTED] wrote: from sqlalchemy import * m= MetaData() trans =Table( 'trans', m, Column( 'date', Date), ) balance=Table( 'balance', m, Column( 'finaldate', Date), ) b = balance.alias('b') sprev = select( [ func.max( b.c.finaldate)], b.c.finaldate balance.c.finaldate ) #correlate is non-generative in 0.3 (ret None) but generative in 0.4 sprev = sprev.correlate( balance) or sprev r = trans.c.date func.coalesce( sprev,0 ) #, as_scalar=True ) with or without all the same r = trans.c.date func.coalesce( sprev.as_scalar(),0 ) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com 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 -~--~~~~--~~--~--~---
[sqlalchemy] Re: some error around trunk
ok; see mapper.py line 1134, calling after_update with state instead of state.obj() Michael Bayer wrote: On Dec 16, 2007, at 2:40 AM, [EMAIL PROTECTED] wrote: from sqlalchemy import * m= MetaData() trans =Table( 'trans', m, Column( 'date', Date), ) balance=Table( 'balance', m, Column( 'finaldate', Date), ) b = balance.alias('b') sprev = select( [ func.max( b.c.finaldate)], b.c.finaldate balance.c.finaldate ) #correlate is non-generative in 0.3 (ret None) but generative in 0.4 sprev = sprev.correlate( balance) or sprev r = trans.c.date func.coalesce( sprev,0 ) #, as_scalar=True ) with or without all the same r = trans.c.date func.coalesce( sprev.as_scalar(),0 ) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com 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 -~--~~~~--~~--~--~---
[sqlalchemy] Re: some error around trunk
seems like you might need an as_scalar() on the select object. otherwise send an example. On Dec 15, 2007, at 10:06 AM, svilen wrote: seems something about .type vs .type_ or similar: Traceback (most recent call last): File tests/convertertest.py, line 152, in test4_balance_trans_via_prev_balance_date_subselect trans.c.date func.coalesce( sprev,0 ) File sqlalchemy/sql/expression.py, line 777, in __call__ return func(*c, **o) File sqlalchemy/sql/functions.py, line 12, in __call__ return type.__call__(self, *args, **kwargs) File sqlalchemy/sql/functions.py, line 35, in __init__ kwargs.setdefault('type_', _type_from_args(args)) File sqlalchemy/sql/functions.py, line 75, in _type_from_args if not isinstance(a.type, sqltypes.NullType): AttributeError: 'Select' object has no attribute 'type' --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com 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 -~--~~~~--~~--~--~---
[sqlalchemy] Re: some error around trunk
from sqlalchemy import * m= MetaData() trans =Table( 'trans', m, Column( 'date', Date), ) balance=Table( 'balance', m, Column( 'finaldate', Date), ) b = balance.alias('b') sprev = select( [ func.max( b.c.finaldate)], b.c.finaldate balance.c.finaldate ) #correlate is non-generative in 0.3 (ret None) but generative in 0.4 sprev = sprev.correlate( balance) or sprev r = trans.c.date func.coalesce( sprev,0 ) #, as_scalar=True ) with or without all the same Michael Bayer wrote: seems like you might need an as_scalar() on the select object. otherwise send an example. On Dec 15, 2007, at 10:06 AM, svilen wrote: seems something about .type vs .type_ or similar: Traceback (most recent call last): File tests/convertertest.py, line 152, in test4_balance_trans_via_prev_balance_date_subselect trans.c.date func.coalesce( sprev,0 ) File sqlalchemy/sql/expression.py, line 777, in __call__ return func(*c, **o) File sqlalchemy/sql/functions.py, line 12, in __call__ return type.__call__(self, *args, **kwargs) File sqlalchemy/sql/functions.py, line 35, in __init__ kwargs.setdefault('type_', _type_from_args(args)) File sqlalchemy/sql/functions.py, line 75, in _type_from_args if not isinstance(a.type, sqltypes.NullType): AttributeError: 'Select' object has no attribute 'type' --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com 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 -~--~~~~--~~--~--~---