Any idea when a .deb will be available? http://packages.debian.org/unstable/python/python-sqlalchemy is still .4.5
On Wed, May 14, 2008 at 3:02 PM, Michael Bayer <[EMAIL PROTECTED]> wrote: > > SQLAlchemy 0.4.6 is now available at: > > http://www.sqlalchemy.org/download.html > > This release includes some fixes for some refactorings in 0.4.5, > introduces a new collate() expression construct, and improves the > behavior of contains_eager(), a useful ORM option. > > The 0.4 series is now in bugfix mode as we put the new features into > 0.5, which is in the current trunk. > > changelog: > > - orm > - A fix to the recent relation() refactoring which fixes > exotic viewonly relations which join between local and > remote table multiple times, with a common column shared > between the joins. > > - Also re-established viewonly relation() configurations > that join across multiple tables. > > - contains_eager(), the hot function of the week, suppresses > the eager loader's own generation of the LEFT OUTER JOIN, > so that it is reasonable to use any Query, not just those > which use from_statement(). > > - Added an experimental relation() flag to help with > primaryjoins across functions, etc., > _local_remote_pairs=[tuples]. This complements a complex > primaryjoin condition allowing you to provide the > individual column pairs which comprise the relation's > local and remote sides. Also improved lazy load SQL > generation to handle placing bind params inside of > functions and other expressions. (partial progress > towards [ticket:610]) > > - repaired single table inheritance such that you > can single-table inherit from a joined-table inherting > mapper without issue [ticket:1036]. > > - Fixed "concatenate tuple" bug which could occur with > Query.order_by() if clause adaption had taken place. > [ticket:1027] > > - Removed an ancient assertion that mapped selectables > require "alias names" - the mapper creates its own alias > now if none is present. Though in this case you need to > use the class, not the mapped selectable, as the source of > column attributes - so a warning is still issued. > > - Fixes to the "exists" function involving inheritance > (any(), has(), ~contains()); the full target join will be > rendered into the EXISTS clause for relations that link to > subclasses. > > - Restored usage of append_result() extension method for > primary query rows, when the extension is present and only > a single- entity result is being returned. > > - Fixed Class.collection==None for m2m relationships > [ticket:4213] > > - Refined mapper._save_obj() which was unnecessarily calling > __ne__() on scalar values during flush [ticket:1015] > > - Added a feature to eager loading whereby subqueries set as > column_property() with explicit label names (which is not > necessary, btw) will have the label anonymized when the > instance is part of the eager join, to prevent conflicts > with a subquery or column of the same name on the parent > object. [ticket:1019] > > - Same as [ticket:1019] but repaired the non-labeled use > case [ticket:1022] > > - Adjusted class-member inspection during attribute and > collection instrumentation that could be problematic when > integrating with other frameworks. > > - Fixed duplicate append event emission on repeated > instrumented set.add() operations. > > - set-based collections |=, -=, ^= and &= are stricter about > their operands and only operate on sets, frozensets or > subclasses of the collection type. Previously, they would > accept any duck-typed set. > > - added an example dynamic_dict/dynamic_dict.py, illustrating > a simple way to place dictionary behavior on top of > a dynamic_loader. > > - sql > - Added COLLATE support via the .collate(<collation>) > expression operator and collate(<expr>, <collation>) sql > function. > > - Fixed bug with union() when applied to non-Table connected > select statements > > - Improved behavior of text() expressions when used as FROM > clauses, such as select().select_from(text("sometext")) > [ticket:1014] > > - Column.copy() respects the value of "autoincrement", fixes > usage with Migrate [ticket:1021] > > - engines > - Pool listeners can now be provided as a dictionary of > callables or a (possibly partial) duck-type of > PoolListener, your choice. > > - Added "reset_on_return" option to Pool which will disable > the database state cleanup step (e.g. issuing a > rollback()) when connections are returned to the pool. > > -extensions > - set-based association proxies |=, -=, ^= and &= are > stricter about their operands and only operate on sets, > frozensets or other association proxies. Previously, they > would accept any duck-typed set. > > - declarative extension > - Joined table inheritance mappers use a slightly relaxed > function to create the "inherit condition" to the parent > table, so that other foreign keys to not-yet-declared > Table objects don't trigger an error. > > - Fixed re-entrant mapper compile hang when a declared > attribute is used within ForeignKey, > i.e. ForeignKey(MyOtherClass.someattribute) > > - mssql > - Added "odbc_autotranslate" parameter to engine / dburi > parameters. Any given string will be passed through to the > ODBC connection string as: > > "AutoTranslate=%s" % odbc_autotranslate > > [ticket:1005] > > - Added "odbc_options" parameter to engine / dburi > parameters. The given string is simply appended to the > SQLAlchemy-generated odbc connection string. > > This should obviate the need of adding a myriad of ODBC > options in the future. > > - firebird > - Handle the "SUBSTRING(:string FROM :start FOR :length)" > builtin. > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---