all the default SQL functions are being executed "inline" here. so it doesnt like aggregates like "max" being placed into defaults like that.
the best I can do for you here, other than rolling back the entire "inilne" default thing, would look like this: Column('foo', Integer, ColumnDefault(func.coalesce(func.max (metanumber_table.c.id), 0), inline=False)) so that it gets the hint to "pre-execute" that default. On Sep 6, 2007, at 8:44 AM, Koen Bok wrote: > > Hi there, I am upgrading my app to 0.4 and while it's going pretty > well, I encountered something strange. > > I have the following code: > > request_table = Table('request', metadata, > Column('id', Integer, primary_key=True), > ... > Column('metanumberstate', Integer, nullable=False, > default=func.coalesce(func.max(metanumber_table.c.id), 0)), > ... > ) > > And this is bound to the Request object. But when I init a new > instance and commit it I get an error (see below). But this always > worked (0.3.x) so I have no clue what I am doing wrong. Anyone has a > hint? > > ProgrammingError: (ProgrammingError) missing FROM-clause entry for > table "metanumber" > LINE 1: ...uest), NULL, 5, 1, 2, 3, 2, NULL, 7, > coalesce(max(metanumber... > ^ > 'INSERT INTO request (id, number, id_parent, id_item, id_employee, > id_terminal, id_location, srcstocktype, dststocktype, metadatastate, > metanumberstate, metataxstate, quantity, discount, over ride_price, > allocation, date, is_business, has_tax, is_quote) VALUES (%(id)s, > (SELECT coalesce(max(number), 0) + 1 FROM request), %(id_parent)s, % > (id_item)s, %(id_employee)s, %(id_terminal)s, %(id_location)s, % > (srcstocktype)s, %(dststocktype)s, %(metadatastate)s, > coalesce(max(metanumber.id), %(coalesce)s), coalesce(max > (metatax.id), % > (coalesce_1)s), %(quantity)s, %(discount)s, %(override_price)s, % > (allocation)s, now(), %(is_business)s, %(has_tax)s, % > (is_quote)s)' {'id_item': 5L, 'is_business': False, 'srcstocktype': 2, > 'is_quote': False, 'coalesce_1': 0, 'id_terminal': 2L, 'id_parent': > None, 'id_employee': 1L, 'allocation': 0, 'coalesce': 0, > 'id_location': 3L, 'has_tax': True, 'override_price': None, > 'dststocktype': None, 'discount': None, 'quantity': 1, 'id': 1L, > 'metadatastate': 7L} > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---