:released: Thu Feb 22 2007
.. change::
:tags: sql
:tickets:
the value of "case_sensitive" defaults to True now, regardless of the
casing of the identifier, unless specifically set to False. this is
because the object might be label'ed as something else which does
contain mixed case, and propagating "case_sensitive=False" breaks that.
Other fixes to quoting when using labels and "fake" column objects
.. change::
:tags: sql
:tickets:
added a "supports_execution()" method to ClauseElement, so that
individual kinds of clauses can express if they are appropriate for
executing...such as, you can execute a "select", but not a "Table" or a
"Join".
.. change::
:tags: sql
:tickets:
fixed argument passing to straight textual execute() on engine,
connection. can handle \*args or a list instance for positional, \**kwargs
or a dict instance for named args, or a list of list or dicts to invoke
executemany()
.. change::
:tags: sql
:tickets:
small fix to BoundMetaData to accept unicode or string URLs
.. change::
:tags: sql
:tickets: 466
fixed named PrimaryKeyConstraint generation courtesy
andrija at gmail
.. change::
:tags: sql
:tickets: 464
fixed generation of CHECK constraints on columns
.. change::
:tags: sql
:tickets:
fixes to tometadata() operation to propagate Constraints at column and
table level
.. change::
:tags: oracle
:tickets: 436
when returning "rowid" as the ORDER BY column or in use with ROW_NUMBER
OVER, oracle dialect checks the selectable its being applied to and will
switch to table PK if not applicable, i.e. for a UNION. checking for
DISTINCT, GROUP BY (other places that rowid is invalid) still a TODO.
allows polymorphic mappings to function.
.. change::
:tags: oracle
:tickets:
sequences on a non-pk column will properly fire off on INSERT
.. change::
:tags: oracle
:tickets: 435
added PrefetchingResultProxy support to pre-fetch LOB columns when they
are known to be present, fixes
.. change::
:tags: oracle
:tickets: 379
implemented reflection of tables based on synonyms, including across
dblinks
.. change::
:tags: oracle
:tickets: 363
issues a log warning when a related table can't be reflected due to
certain permission errors
.. change::
:tags: mysql
:tickets:
fix to reflection on older DB's that might return array() type for
"show variables like" statements
.. change::
:tags: postgres
:tickets: 442
better reflection of sequences for alternate-schema Tables
.. change::
:tags: postgres
:tickets:
sequences on a non-pk column will properly fire off on INSERT
.. change::
:tags: postgres
:tickets: 460, 444
added PGInterval type, PGInet type
.. change::
:tags: mssql
:tickets: 419
preliminary support for pyodbc (Yay!)
.. change::
:tags: mssql
:tickets: 298
better support for NVARCHAR types added
.. change::
:tags: mssql
:tickets:
fix for commit logic on pymssql
.. change::
:tags: mssql
:tickets: 456
fix for query.get() with schema
.. change::
:tags: mssql
:tickets: 473
fix for non-integer relationships
.. change::
:tags: mssql
:tickets: 419
DB-API module now selectable at run-time
.. change::
:tags: tickets:422, 481, 415, mssql
:tickets:
now passes many more unit tests
.. change::
:tags: mssql
:tickets: 479
better unittest compatibility with ANSI functions
.. change::
:tags: mssql
:tickets: 415
improved support for implicit sequence PK columns with auto-insert
.. change::
:tags: mssql
:tickets: 371
fix for blank password in adodbapi
.. change::
:tags: mssql
:tickets: 481
fixes to get unit tests working with pyodbc
.. change::
:tags: mssql
:tickets:
fix to auto_identity_insert on db-url query
.. change::
:tags: mssql
:tickets:
added query_timeout to db-url query params. currently works only for
pymssql
.. change::
:tags: mssql
:tickets:
tested with pymssql 0.8.0 (which is now LGPL)
.. change::
:tags: orm, bugs
:tickets: 441, 448, 439
another refactoring to relationship calculation. Allows more accurate
ORM behavior with relationships from/to/between mappers, particularly
polymorphic mappers, also their usage with Query, SelectResults. tickets
include,,.
.. change::
:tags: orm, bugs
:tickets:
removed deprecated method of specifying custom collections on classes;
you must now use the "collection_class" option. the old way was
beginning to produce conflicts when people used assign_mapper(), which
now patches an "options" method, in conjunction with a relationship
named "options". (relationships take precedence over monkeypatched
assign_mapper methods).
.. change::
:tags: orm, bugs
:tickets: 454
extension() query option propagates to Mapper._instance() method so that
all loading-related methods get called
.. change::
:tags: orm, bugs
:tickets:
eager relation to an inheriting mapper won't fail if no rows returned for
the relationship.
.. change::
:tags: orm, bugs
:tickets: 486
eager relation loading bug fixed for eager relation on multiple
descendant classes
.. change::
:tags: orm, bugs
:tickets: 423
fix for very large topological sorts, courtesy ants.aasma at gmail
.. change::
:tags: orm, bugs
:tickets:
eager loading is slightly more strict about detecting "self-referential"
relationships, specifically between polymorphic mappers. this results in
an "eager degrade" to lazy loading.
.. change::
:tags: orm, bugs
:tickets: 449
improved support for complex queries embedded into "where" criterion for
query.select()
.. change::
:tags: orm, bugs
:tickets: 485
mapper options like eagerload(), lazyload(), deferred(), will work for
"synonym()" relationships
.. change::
:tags: orm, bugs
:tickets: 445
fixed bug where cascade operations incorrectly included deleted
collection items in the cascade
.. change::
:tags: orm, bugs
:tickets: 478
fixed relationship deletion error when one-to-many child item is moved
to a new parent in a single unit of work
.. change::
:tags: orm, bugs
:tickets:
fixed relationship deletion error where parent/child with a single
column as PK/FK on the child would raise a "blank out the primary key"
error, if manually deleted or "delete" cascade without "delete-orphan"
was used
.. change::
:tags: orm, bugs
:tickets:
fix to deferred so that load operation doesn't mistakenly occur when only
PK col attributes are set
.. change::
:tags: orm, enhancements
:tickets: 385
implemented foreign_keys argument to mapper. use in
conjunction with primaryjoin/secondaryjoin arguments to specify/override
foreign keys defined on the Table instance.
.. change::
:tags: orm, enhancements
:tickets:
contains_eager('foo') automatically implies eagerload('foo')
.. change::
:tags: orm, enhancements
:tickets:
added "alias" argument to contains_eager(). use it to specify the string
name or Alias instance of an alias used in the query for the eagerly
loaded child items. easier to use than "decorator"
.. change::
:tags: orm, enhancements
:tickets:
added "contains_alias()" option for result set mapping to an alias of
the mapped table
.. change::
:tags: orm, enhancements
:tickets: 468
added support for py2.5 "with" statement with SessionTransaction
.. change::
:tags: extensions
:tickets:
added distinct() method to SelectResults. generally should only make a
difference when using count().
.. change::
:tags: extensions
:tickets: 472
added options() method to SelectResults, equivalent to query.options()
.. change::
:tags: extensions
:tickets: 462
added optional __table_opts__ dictionary to ActiveMapper, will send kw
options to Table objects
.. change::
:tags: extensions
:tickets: 467
added selectfirst(), selectfirst_by() to assign_mapper
.. changelog::