MetaData instances and executed automatically when those
objects are created and/or dropped.
- - Table columns and constraints can be overridden on a
- an existing table (such as a table that was already
- reflected) using the 'useexisting=True' flag, which now
- takes into account the arguments passed along with it.
-
+ - Table columns and constraints can be overridden on a an
+ existing table (such as a table that was already reflected)
+ using the 'useexisting=True' flag, which now takes into
+ account the arguments passed along with it.
+
- Added a callable-based DDL events interface, adds hooks
before and after Tables and MetaData create and drop.
- - added generative where(<criterion>) method to delete()
- and update() constructs which return a new object with
- criterion joined to existing criterion via AND, just
- like select().where().
-
+ - Added generative where(<criterion>) method to delete() and
+ update() constructs which return a new object with criterion
+ joined to existing criterion via AND, just like
+ select().where().
+
- Added "ilike()" operator to column operations. Compiles to
ILIKE on postgres, lower(x) LIKE lower(y) on all
others. [ticket:727]
- - added "now()" as a generic function; on SQLite and Oracle
+ - Added "now()" as a generic function; on SQLite and Oracle
compiles as "CURRENT_TIMESTAMP"; "now()" on all others
[ticket:943]
- - the startswith(), endswith(), and contains() operators now
+ - The startswith(), endswith(), and contains() operators now
concatenate the wildcard operator with the given operand in
SQL, i.e. "'%' || <bindparam>" in all cases, accept
text('something') operands properly [ticket:962]
- Deferrable constraints can now be defined.
- - added "autocommit=True" kwarg to select() and text(), as
- well as generative autocommit() method on select(); for
- statements which modify the database through some
- user-defined means other than the usual INSERT/UPDATE/
- DELETE etc., this flag will enable "autocommit" behavior
- during execution if no transaction is in progress
+ - Added "autocommit=True" keyword argument to select() and
+ text(), as well as generative autocommit() method on
+ select(); for statements which modify the database through
+ some user-defined means other than the usual INSERT/UPDATE/
+ DELETE etc. This flag will enable "autocommit" behavior
+ during execution if no transaction is in progress.
[ticket:915]
- The '.c.' attribute on a selectable now gets an entry for
Session.rollback() or Session.close() in order for that
Session to continue after an exception.
- - fixed merge() collection-doubling bug when merging transient
+ - Fixed merge() collection-doubling bug when merging transient
entities with backref'ed collections. [ticket:961]
- merge(dont_load=True) does not accept transient entities,
merge(dont_load=True) does not accept any "dirty" objects
either.
- - added standalone "query" class attribute generated by a
+ - Added standalone "query" class attribute generated by a
scoped_session. This provides MyClass.query without using
Session.mapper. Use via:
- The proper error message is raised when trying to access
expired instance attributes with no session present
-
- - added expire_all() method to Session. Calls expire()
- for all persistent instances. This is handy in conjunction
- with .....
-
- - instances which have been partially or fully expired
- will have their expired attributes populated during a regular
- Query operation which affects those objects, preventing
- a needless second SQL statement for each instance.
-
+
+ - Added expire_all() method to Session. Calls expire() for
+ all persistent instances. This is handy in conjunction
+ with...
+
+ - Instances which have been partially or fully expired will
+ have their expired attributes populated during a regular
+ Query operation which affects those objects, preventing a
+ needless second SQL statement for each instance.
+
- Dynamic relations, when referenced, create a strong
reference to the parent object so that the query still has a
parent to call against even if the parent is only created
relation. This affects how many arguments need to be sent
to query.get(), among other things. [ticket:933]
- - lazy loader can now handle a join condition where the "bound"
- column (i.e. the one that gets the parent id sent as a bind
- parameter) appears more than once in the join condition.
- Specifically this allows the common task of a relation()
- which contains a parent-correlated subquery, such as "select
- only the most recent child item". [ticket:946]
-
- - Fixed bug in polymorphic inheritance where incorrect
+ - The lazy loader can now handle a join condition where the
+ "bound" column (i.e. the one that gets the parent id sent as
+ a bind parameter) appears more than once in the join
+ condition. Specifically this allows the common task of a
+ relation() which contains a parent-correlated subquery, such
+ as "select only the most recent child item". [ticket:946]
+
+ - Fixed bug in polymorphic inheritance where an incorrect
exception is raised when base polymorphic_on column does not
correspond to any columns within the local selectable of an
inheriting mapper more than one level deep