In 0.6, dialects.oracle.base.NUMBER derives from types.Numeric and types.Integer. In 0.5.3, I think the equivalent is databases.oracle.OracleNumeric, which just derives from types.Numeric. There's a separate databases.oracle.OracleInteger which just derives from types.Integer.
This new behavior breaks my code, because I have something which is the equivalent of: if isinstance(t, types.Integer): v = int(val) elif isinstance(t, types.Numeric): v = Decimal(val) (There's other stuff going on in this code, but this illustrates the problem. Ignore typos, if any. The real code is table driven so modifying the individual tests isn't so easy.) t is the type of an Oracle column I'm trying to insert into, and val is a string. In 0.5, this code works, but in 0.6 all of the numeric columns match the first isinstance call, even ones with a specified scale. This isn't so much of a big deal to me, because in this specific case I can just convert everything to Decimal and it will all just work. I mention it here because it took me several days to diagnose and understand the problem, so no doubt others will have this problem as well. Eric. --~--~---------~--~----~------------~-------~--~----~ 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 sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---