+ - global "propigate"->"propagate" change.
- polymorphic_union() function respects the "key" of each
Column if they differ from the column's name.
- repaired single table inheritance such that you
- can single-table inherit from a joined-table inherting
+ can single-table inherit from a joined-table inherting
mapper without issue [ticket:1036].
- Fixed "concatenate tuple" bug which could occur with
whether or not it remains attached to its also-deleted
- - delete-orphan cas
acde is properly detected on
+ - delete-orphan cascde is properly detected on
relations that are present on superclasses when using
- _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 prop
igates "_hide_froms()" so that scalar selects
+ - _Label propgates "_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)
- many-to-many relationships check that the number of rows deleted
from the association table by a delete operation matches the
- - session.get() and session.load() prop
igate **kwargs through to
+ - session.get() and session.load() propgate **kwargs through to
- fix to polymorphic query which allows the original
polymorphic_union to be embedded into a correlated subquery
- fix to select_by(<propname>=<object instance>) -style joins in
conjunction with many-to-many relationships, bug introduced in
- - the "primary_key" argument to mapper() is prop
igated to the
+ - the "primary_key" argument to mapper() is propgated 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
are to work around glitchy SQLite behavior that doesnt understand
"foo.id" as equivalent to "id", are now only generated in the case
that those named columns are selected from (part of [ticket:513])
- - the label() method on ColumnElement will properly prop
+ - the label() method on ColumnElement will properly propgate the
TypeEngine of the base element out to the label, including a label()
created from a scalar=True select() statement.
- MS-SQL better detects when a query is a subquery and knows not to
- slight tweak to raw execute() change to also support tuples
for positional parameters, not just lists [ticket:523]
- - fix to case() construct to prop
igate the type of the first
+ - fix to case() construct to propgate the type of the first
WHEN condition as the return type of the case statement
- fixed critical issue when, after options(eagerload()) is used,
- quoting wont occur for literal columns when they are "proxied" into
the column collection for their selectable (is_literal flag is
igated). literal columns are specified via
+ propgated). literal columns are specified via
- added "fold_equivalents" boolean argument to Join.select(), which
occur on the "backref" side of the operation [ticket:249]
- added "refresh-expire" cascade [ticket:492]. allows refresh() and
- expire() calls to prop
igate along relationships.
+ expire() calls to propgate along relationships.
- more fixes to polymorphic relations, involving proper lazy-clause
generation on many-to-one relationships to polymorphic mappers
- also fixed CLOB read/write on a separate changeset.
- auto_setinputsizes defaults to True for Oracle, fixed cases where
- it improperly prop
igated bad types.
+ it improperly propgated bad types.
- added a catchall **kwargs to MSString, to help reflection of
- fixed named PrimaryKeyConstraint generation [ticket:466] courtesy
- fixed generation of CHECK constraints on columns [ticket:464]
- - fixes to tometadata() operation to prop
igate Constraints at column and
+ - fixes to tometadata() operation to propgate Constraints at column and
- when returning "rowid" as the ORDER BY column or in use with ROW_NUMBER
now patches an "options" method, in conjunction with a relationship
named "options". (relationships take precedence over monkeypatched
- - extension() query option prop
igates to Mapper._instance() method so that
+ - extension() query option propgates to Mapper._instance() method so that
all loading-related methods get called [ticket:454]
- eager relation to an inheriting mapper wont fail if no rows returned for
- added an error message if you actually try to modify primary key values on
an entity and then flush it [ticket:412]
- - added "validate=False" argument to assign_mapper, if True will
+ - added "validate=False" argument to assign_mapper, if True will nsure that
only mapped attributes are named [ticket:426]
- assign_mapper gets "options", "instances" functions added (i.e.
- added label() function to Select class, when scalar=True is used
to create a scalar subquery
i.e. "select x, y, (select max(foo) from table) AS foomax from table"
-- added onupdate and ondelete keyword arguments to ForeignKey; propigate
-to underlying ForeignKeyConstraint if present. (dont propigate in the
+- added onupdate and ondelete keyword arguments to ForeignKey; propagate
+to underlying ForeignKeyConstraint if present. (dont propagate in the
other direction, however)
- fix to session.update() to preserve "dirty" status of incoming object
- sending a selectable to an IN via the in_() function no longer creates
- a wide refactoring to "attribute loader" and "options" architectures.
ColumnProperty and PropertyLoader define their loading behaivor via switchable
"strategies", and MapperOptions no longer use mapper/property copying
- in order to function; they are instead prop
igated via QueryContext
+ in order to function; they are instead propgated via QueryContext
and SelectionContext objects at query/instances time.
All of the internal copying of mappers and properties that was used to handle
inheritance as well as options() has been removed; the structure
if it was not loaded already
- [ticket:256] - pass URL query string arguments to connect() function
- [ticket:257] - oracle boolean type
-- custom primary/secondary join conditions in a relation *will* be prop
+- custom primary/secondary join conditions in a relation *will* be propgated
to backrefs by default. specifying a backref() will override this behavior.
-- better check for ambiguous join conditions in sql.Join; prop
igates to a
+- better check for ambiguous join conditions in sql.Join; propgates to a
better error message in PropertyLoader (i.e. relation()/backref()) for when
the join condition can't be reasonably determined.
- sqlite creates ForeignKeyConstraint objects properly upon table
propname the same as another, for the purposes of overriding props
and allowing the original propname to be accessible in select_by().
- fix to typing in clause construction which specifically helps
-type issues with polymorphic_union (CAST/ColumnClause prop
+type issues with polymorphic_union (CAST/ColumnClause propgates
its type to proxy columns)
- mapper compilation work ongoing, someday it'll work....moved
around the initialization of MapperProperty objects to be after
- postgres will not place SERIAL keyword on a primary key column
if it has a foreign key constraint
- cursor() method on ConnectionFairy allows db-specific extension
-arguments to be propigated [ticket:221]
-- lazy load bind params properly propigate column type [ticket:225]
+arguments to be propagated [ticket:221]
+- lazy load bind params properly propagate column type [ticket:225]
- new MySQL types: MSEnum, MSTinyText, MSMediumText, MSLongText, etc.
more support for MS-specific length/precision params in numeric types
patch courtesy Mike Bernson
- small tweak to cascade_mappers, not very strongly supported
-- some fixes to between(), column.between() to prop
+- some fixes to between(), column.between() to propgate typing
information better [ticket:202]
- if an object fails to be constructed, is not added to the
- more fixes to threadlocal connection nesting patterns
-- "pool" argument to create_engine() properly prop
+- "pool" argument to create_engine() properly propgates
- fixes to URL, raises exception if not parsed, does not pass blank
fields along to the DB connect string (a string such as
user:host@/db was breaking on postgres)
"threadlocal" mod if used
- mods now called in via "import <modname>". extensions favored over
mods as mods are globally-monkeypatching
-- fix to add_property so that it prop
igates properties to inheriting
+- fix to add_property so that it propgates properties to inheriting
- backrefs create themselves against primary mapper of its originating
property, priamry/secondary join arguments can be specified to override.