Mike Bayer [Sat, 30 Jul 2011 16:12:39 +0000 (12:12 -0400)]
- Fixed bug where query.join() + aliased=True
from a joined-inh structure to itself on
relationship() with join condition on the child
table would convert the lead entity into the
joined one inappropriately. [ticket:2234]
Mike Bayer [Sun, 24 Jul 2011 15:50:26 +0000 (11:50 -0400)]
- Fixed bug apparent only in Python 3 whereby
sorting of persistent + pending objects during
flush would produce an illegal comparison,
if the persistent object primary key
is not a single integer. [ticket:2228]
Mike Bayer [Thu, 21 Jul 2011 15:44:41 +0000 (11:44 -0400)]
- Added an informative error message when
ForeignKeyConstraint refers to a column name in
the parent that is not found.
- add tests for [ticket:2226], as if we hit each @declared_attr
directly with obj.__get__(obj, name) instead of using
getattr(cls, name). Basic inheritance mechanics are improperly
used in this case, so 2226 is invalid.
Mike Bayer [Wed, 20 Jul 2011 22:03:22 +0000 (18:03 -0400)]
- Fixed bug whereby the source clause
used by query.join() would be inconsistent
if against a column expression that combined
multiple entities together. [ticket:2197]
Mike Bayer [Tue, 19 Jul 2011 15:43:46 +0000 (11:43 -0400)]
- repaired the oracle.RAW type which did not
generate the correct DDL. [ticket:2220]
- Fixed bug whereby "warn on unicode" flag
would get set for the String type
when used with certain dialects. This
bug is not in 0.7.
Mike Bayer [Sun, 17 Jul 2011 20:44:07 +0000 (16:44 -0400)]
- Fixed bug whereby if a mapped class
redefined __hash__() or __eq__() to something
non-standard, which is a supported use case
as SQLA should never consult these,
the methods would be consulted if the class
was part of a "composite" (i.e. non-single-entity)
result set. [ticket:2215]
Mike Bayer [Thu, 7 Jul 2011 15:34:59 +0000 (11:34 -0400)]
- add a latex Makefile to texinputs that gets copied on latex build,
ensures pdflatex/latex errors are totally ignored
- fix all SQL/code examples in the inherits doc to be within 79 chars.
will need to do this for all the docs to get pdf to not look crappy.
- add an abspath to the "templates" dir, not sure of the rationale
here but is harmless, [ticket:2211]
- integrate pdf build with site-mako build
Mike Bayer [Wed, 6 Jul 2011 16:44:41 +0000 (12:44 -0400)]
- The join condition produced by with_parent
as well as when using a "dynamic" relationship
against a parent will generate unique
bindparams, rather than incorrectly repeating
the same bindparam. [ticket:2207].
Mike Bayer [Mon, 4 Jul 2011 20:35:27 +0000 (16:35 -0400)]
- fix pypostgresql typo, [ticket:2185]
- rewrite "getting a session" docs to delineate
all sessionmaker() use cases distinctly
- rewrite "Managing Transactions" doc to spell out
each specific step completely, [ticket:2204]
- add to create_engine() and main "engine" doc
an unambiguous statement that the create_engine()
does not create a connection
- other link fixes
- rewrite "deleting" section so that "deleting from collections"
is separate, well-described, [ticket:2202]
- rephrase "autocommit mode" into its own section, move it down,
put some bold text that you shouldn't be using it.
- simplify the "subtransactions" section and make it local to
"autocommit" since it is utterly unneeded by anybody.
- oracle is not doing 2-phase anytime soon
Mike Bayer [Mon, 27 Jun 2011 23:44:52 +0000 (19:44 -0400)]
- Fixed subtle bug that caused SQL to blow
up if: column_property() against subquery +
joinedload + LIMIT + order by the column
property() occurred. [ticket:2188].
Mike Bayer [Thu, 23 Jun 2011 23:54:50 +0000 (19:54 -0400)]
- the "cascade" section of the session doc was totally screwed up, mappings
used the wrong form, example for cascade_backref used the wrong names.
- rewrite relationship cascade_backrefs doc
Mike Bayer [Tue, 21 Jun 2011 14:03:40 +0000 (10:03 -0400)]
- Repaired the "no statement condition"
assertion in Query which would attempt
to raise if a generative method were called
after from_statement() were called.
[ticket:2199].
Mike Bayer [Sun, 5 Jun 2011 16:32:22 +0000 (12:32 -0400)]
- Fixed bug whereby DATETIME2 type would fail on
the "adapt" step when used in result sets or
bound parameters. This issue is not in 0.7.
[ticket:2159]
Mike Bayer [Sun, 5 Jun 2011 16:24:02 +0000 (12:24 -0400)]
- Fixed bug where transaction-level "deleted"
collection wouldn't be cleared of expunged
states, raising an error if they later
became transient [ticket:2182].
Mike Bayer [Sun, 5 Jun 2011 00:57:16 +0000 (20:57 -0400)]
- Adjusted the __contains__() method of
a RowProxy result row such that no exception
throw is generated internally;
NoSuchColumnError() also will generate its
message regardless of whether or not the column
construct can be coerced to a string.
[ticket:2178].
Mike Bayer [Sun, 5 Jun 2011 00:22:20 +0000 (20:22 -0400)]
- Some unit test fixes regarding numeric arrays,
MATCH operator. A potential floating-point
inaccuracy issue was fixed, and certain tests
of the MATCH operator only execute within an
EN-oriented locale for now. [ticket:2175].
Mike Bayer [Sun, 5 Jun 2011 00:09:21 +0000 (20:09 -0400)]
- Modify the text of the message which occurs
when the "identity" key isn't detected on
flush, to include the common cause that
the Column isn't set up to detect
auto-increment correctly; [ticket:2170].
Mike Bayer [Thu, 19 May 2011 16:03:00 +0000 (12:03 -0400)]
- Fixed bug in MSSQL dialect whereby the aliasing
applied to a schema-qualified table would leak
into enclosing select statements [ticket:2169].
Merge of r9b3bd0601a85 from default
Mike Bayer [Wed, 18 May 2011 16:12:00 +0000 (12:12 -0400)]
- merge 00380cf3c304ea7f1c7397f17b828166364c36ac from default
- Fixed bug whereby nesting a label of a select()
with another label in it would produce incorrect
exported columns. Among other things this would
break an ORM column_property() mapping against
another column_property(). [ticket:2167].
Mike Bayer [Sat, 7 May 2011 15:54:53 +0000 (11:54 -0400)]
- mapper() will ignore non-configured foreign keys
to unrelated tables when determining inherit
condition between parent and child class.
This is equivalent to behavior already
applied to declarative. [ticket:2153]
Mike Bayer [Sat, 7 May 2011 15:30:24 +0000 (11:30 -0400)]
- Fixed bug where determination of "self referential"
relationship would fail with no workaround
for joined-inh subclass related to itself,
or joined-inh subclass related to a subclass
of that with no cols in the sub-sub class
in the join condition. [ticket:2149]
Mike Bayer [Sat, 7 May 2011 15:18:40 +0000 (11:18 -0400)]
- Fixed the error message emitted for "can't
execute syncrule for destination column 'q';
mapper 'X' does not map this column" to
reference the correct mapper. [ticket:2163].
- orm/test_sync.py covers orm/sync.py 100%
Mike Bayer [Sat, 7 May 2011 14:44:49 +0000 (10:44 -0400)]
- Backported 0.7's identity map implementation, which
does not use a mutex around removal. This as some users
were still getting deadlocks despite the adjustments
in 0.6.7; the 0.7 approach that doesn't use a mutex
does not appear to produce "dictionary changed size"
issues, the original rationale for the mutex.
[ticket:2148]
Mike Bayer [Wed, 27 Apr 2011 16:51:50 +0000 (12:51 -0400)]
- a non_primary mapper will inherit the _identity_class
of the primary mapper. This so that a non_primary
established against a class that's normally in an
inheritance mapping will produce results that are
identity-map compatible with that of the primary
mapper [ticket:2151]
Mike Bayer [Sat, 23 Apr 2011 16:38:30 +0000 (12:38 -0400)]
- Fixed bug whereby if FetchedValue was passed
to column server_onupdate, it would not
have its parent "column" assigned, added
test coverage for all column default assignment
patterns. [ticket:2147]
Mike Bayer [Thu, 7 Apr 2011 21:58:48 +0000 (17:58 -0400)]
- Some fixes to the state handling regarding
backrefs, typically when autoflush=False, where
the back-referenced collection wouldn't
properly handle add/removes with no net
change. Thanks to Richard Murri for the
test case + patch. [ticket:2123]
Mike Bayer [Thu, 7 Apr 2011 17:47:43 +0000 (13:47 -0400)]
- The limit/offset keywords to select() as well
as the value passed to select.limit()/offset()
will be coerced to integer. [ticket:2116]
- Oracle dialect adds use_binds_for_limits=False
create_engine() flag, will render the LIMIT/OFFSET
values inline instead of as binds, reported to
modify the execution plan used by Oracle.
[ticket:2116]
Mike Bayer [Mon, 28 Mar 2011 00:38:50 +0000 (20:38 -0400)]
- Documented SQLite DATE/TIME/DATETIME types.
[ticket:2029]
- add "currentmodule" directive to all the dialect type docs to
ensure users import from the dialect package, not the "base" module
Mike Bayer [Sun, 27 Mar 2011 23:44:40 +0000 (19:44 -0400)]
- Using column names that would require quotes
for the column itself or for a name-generated
bind parameter, such as names with special
characters, underscores, non-ascii characters,
now properly translate bind parameter keys when
talking to cx_oracle. [ticket:2100]
Mike Bayer [Wed, 23 Mar 2011 03:44:38 +0000 (23:44 -0400)]
- Fixed bug in QueuePool, SingletonThreadPool whereby
connections that were discarded via overflow or periodic
cleanup() were not explicitly closed, leaving garbage
collection to the task instead. This generally only
affects non-reference-counting backends like Jython
and Pypy. Thanks to Jaimy Azle for spotting
this. [ticket:2102]
Mike Bayer [Thu, 17 Mar 2011 20:56:30 +0000 (16:56 -0400)]
- port query options test suite over from 0.7, plus extra test for [ticket:2098]
- apply fix for [ticket:2098] that just checks "if mapper is None". 0.7 has a
more comprehensive rework of this section already.
Mike Bayer [Wed, 16 Mar 2011 18:09:25 +0000 (14:09 -0400)]
- Rewrote the query used to get the definition of a view,
typically when using the Inspector interface, to
use sys.sql_modules instead of the information schema,
thereby allowing views definitions longer than 4000
characters to be fully returned. [ticket:2071]
Mike Bayer [Wed, 16 Mar 2011 16:47:42 +0000 (12:47 -0400)]
- The horizontal_shard ShardedSession class accepts the common
Session argument "query_cls" as a constructor argument,
to enable further subclassing of ShardedQuery.
[ticket:2090]
- The Beaker caching example allows a "query_cls" argument
to the query_callable() function. [ticket:2090]
Mike Bayer [Sat, 5 Mar 2011 17:19:40 +0000 (12:19 -0500)]
- Tightened the iterate vs. remove mutex around the
identity map iteration, attempting to reduce the
chance of an (extremely rare) reentrant gc operation
causing a deadlock. Might remove the mutex in
0.7. [ticket:2087]
Mike Bayer [Thu, 10 Feb 2011 16:42:35 +0000 (11:42 -0500)]
- A warning is emitted in the unusual case that an
append or similar event on a collection occurs after
the parent object has been dereferenced, which
prevents the parent from being marked as "dirty"
in the session. This will be an exception in 0.7.
[ticket:2046]
Mike Bayer [Wed, 9 Feb 2011 21:30:49 +0000 (16:30 -0500)]
- figured out the ::autodata directive, can move the docstring for
expression.func into the .py module
- added a note about logging only being checked on new connections,
as one user had this issue awhile back, and I suspect it for
a current ML user issue
Mike Bayer [Wed, 9 Feb 2011 21:04:29 +0000 (16:04 -0500)]
- The compiler extension now supports overriding the default
compilation of expression._BindParamClause including that
the auto-generated binds within the VALUES/SET clause
of an insert()/update() statement will also use the new
compilation rules. [ticket:2042]
Mike Bayer [Wed, 9 Feb 2011 20:16:13 +0000 (15:16 -0500)]
- Fixed bug where a column with a SQL or server side default
that was excluded from a mapping with include_properties
or exclude_properties would result in UnmappedColumnError.
[ticket:1995]