0.5 beta2 released

0.5 is pretty much done for the 0.5.0 release, we're not anticipating  
any more backwards-incompatible changes, or only very small ones.  
beta2 is to get the current functionality out there (even though most  
0.5 beta users might be using trunk anyway).  Also see the migration  
guide at http://www.sqlalchemy.org/trac/wiki/05Migration where I've  
added a full explaination of the change regarding the ".c." attribute  
on classes.

Download SQLAlchemy 0.5beta2 at:

http://www.sqlalchemy.org/download.html

0.5beta2
========
     - 0.5beta2 includes all bugfixes listed under release
       "0.4.7".

- orm
     - In addition to expired attributes, deferred attributes
       also load if their data is present in the result set.
       [ticket:870]

     - session.refresh() raises an informative error message if
       the list of attributes does not include any column-based
       attributes.

     - query() raises an informative error message if no columns
       or mappers are specified.

     - lazy loaders now trigger autoflush before proceeding.  This
       allows expire() of a collection or scalar relation to
       function properly in the context of autoflush.

     - column_property() attributes which represent SQL expressions
       or columns that are not present in the mapped tables
       (such as those from views) are automatically expired
       after an INSERT or UPDATE, assuming they have not been
       locally modified, so that they are refreshed with the
       most recent data upon access.  [ticket:887]

     - Fixed explicit, self-referential joins between two
       joined-table inheritance mappers when using
       query.join(cls, aliased=True).  [ticket:1082]

     - Fixed query.join() when used in conjunction with a
       columns-only clause and an SQL-expression
       ON clause in the join.

     - The "allow_column_override" flag from mapper() has
       been removed.  This flag is virtually always misunderstood.
       Its specific functionality is available via the
       include_properties/exclude_properties mapper arguments.

     - Repaired `__str__()` method on Query. [ticket:1066]

     - Session.bind gets used as a default even when table/mapper
       specific binds are defined.

- schema
     - Added prefixes option to `Table` that accepts a list of
       strings to insert after CREATE in the CREATE TABLE statement.
       [ticket:1075]

     - Unicode, UnicodeText types now set "assert_unicode" and
       "convert_unicode" by default, but accept overriding
       **kwargs for these values.

- sql
     - Added new match() operator that performs a full-text search.
       Supported on PostgreSQL, SQLite, MySQL, MS-SQL, and Oracle
       backends.

- sqlite
     - Modified SQLite's representation of "microseconds" to
       match the output of str(somedatetime), i.e. in that the
       microseconds are represented as fractional seconds in
       string format.  This makes SQLA's SQLite date type
       compatible with datetimes that were saved directly
       using Pysqlite (which just calls str()).
       Note that this is incompatible with the existing microseconds
       values in a SQLA 0.4 generated SQLite database file.

       To get the old behavior globally:

            from sqlalchemy.databases.sqlite import DateTimeMixin
            DateTimeMixin.__legacy_microseconds__ = True

       To get the behavior on individual DateTime types:

             t = sqlite.SLDateTime()
             t.__legacy_microseconds__ = True

       Then use "t" as the type on the Column.

       [ticket:1090]

     - SQLite Date, DateTime, and Time types only accept Python
       datetime objects now, not strings.  If you'd like to format
       dates as strings yourself with SQLite, use a String type.
       If you'd like them to return datetime objects anyway despite
       their accepting strings as input, make a TypeDecorator around
       String - SQLA doesn't encourage this pattern.

- extensions
     - Declarative supports a __table_args__ class variable, which
       is either a dictionary, or tuple of the form
       (arg1, arg2, ..., {kwarg1:value, ...}) which contains
       positional + kw arguments to be passed to the Table
       constructor. [ticket:1096]


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected]
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to