The 0.3 series is now coming in for a landing, foregoing shiny new bells and whistles which are instead skipping ahead in the 0.4 branch. Release 0.3.8 is primarily a bugfix release, with some new features of an only mildly spectacular nature (unless youre really into every single MySQL datatype ever made...then its totally spectacular). There is also a fairly spectacular speedup to ResultProxy which removes a function call from every column fetch (of course not as spectacular as the version in 0.4 which removes two or three).
so heres the spectacular list of new whizbangs youll get by downloading 0.3.8 at http://www.sqlalchemy.org/download.html : 0.3.8 - engines - added detach() to Connection, allows underlying DBAPI connection to be detached from its pool, closing on dereference/close() instead of being reused by the pool. - added invalidate() to Connection, immediately invalidates the Connection and its underlying DBAPI connection. - sql - _Label class overrides compare_self to return its ultimate object. meaning, if you say someexpr.label('foo') == 5, it produces the correct "someexpr == 5". - _Label propigates "_hide_froms()" so that scalar selects behave more properly with regards to FROM clause #574 - fix to long name generation when using oid_column as an order by (oids used heavily in mapper queries) - significant speed improvement to ResultProxy, pre-caches TypeEngine dialect implementations and saves on function calls per column - parenthesis are applied to clauses via a new _Grouping construct. uses operator precedence to more intelligently apply parenthesis to clauses, provides cleaner nesting of clauses (doesnt mutate clauses placed in other clauses, i.e. no 'parens' flag) - added 'modifier' keyword, works like func.<foo> except does not add parenthesis. e.g. select([modifier.DISTINCT(...)]) etc. - removed "no group by's in a select thats part of a UNION" restriction [ticket:578] - orm - added reset_joinpoint() method to Query, moves the "join point" back to the starting mapper. 0.4 will change the behavior of join() to reset the "join point" in all cases so this is an interim method. for forwards compatibility, ensure joins across multiple relations are specified using a single join(), i.e. join(['a', 'b', 'c']). - fixed bug in query.instances() that wouldnt handle more than on additional mapper or one additional column. - "delete-orphan" no longer implies "delete". ongoing effort to separate the behavior of these two operations. - many-to-many relationships properly set the type of bind params for delete operations on the association table - many-to-many relationships check that the number of rows deleted from the association table by a delete operation matches the expected results - session.get() and session.load() propigate **kwargs through to query - fix to polymorphic query which allows the original polymorphic_union to be embedded into a correlated subquery [ticket:577] - fix to select_by(<propname>=<object instance>) -style joins in conjunction with many-to-many relationships, bug introduced in r2556 - the "primary_key" argument to mapper() is propigated to the "polymorphic" mapper. primary key columns in this list get normalized to that of the mapper's local table. - restored logging of "lazy loading clause" under sa.orm.strategies logger, got removed in 0.3.7 - improved support for eagerloading of properties off of mappers that are mapped to select() statements; i.e. eagerloader is better at locating the correct selectable with which to attach its LEFT OUTER JOIN. - mysql - Nearly all MySQL column types are now supported for declaration and reflection. Added NCHAR, NVARCHAR, VARBINARY, TINYBLOB, LONGBLOB, YEAR - The sqltypes.Binary passthrough now always builds a BLOB, avoiding problems with very old database versions - support for column-level CHARACTER SET and COLLATE declarations, as well as ASCII, UNICODE, NATIONAL and BINARY shorthand. - firebird - set max identifier length to 31 - supports_sane_rowcount() set to False due to ticket #370. versioned_id_col feature wont work in FB. - some execution fixes -extensions - new association proxy implementation, implementing complete proxies to list, dict and set-based relation collections - added orderinglist, a custom list class that synchronizes an object attribute with that object's position in the list - small fix to SelectResultsExt to not bypass itself during select(). - added filter(), filter_by() to assignmapper --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---