Mike Bayer [Tue, 13 May 2008 20:35:41 +0000 (20:35 +0000)]
- renamed query.slice_() to query.slice()
- pulled out DeclarativeMeta.__init__ into its own function, added instrument_declarative()
which will do the "declarative" thing to any class independent of its lineage (for ctheune)
- added "cls" kwarg to declarative_base() allowing user-defined base class for declarative base [ticket:1042]
Mike Bayer [Tue, 13 May 2008 19:55:49 +0000 (19:55 +0000)]
- LIMIT/OFFSET of zero is detected within compiler and is counted
- Query.__getitem__ now returns list/scalar in all cases, not generative (#1035)
- added Query.slice_() which provides the simple "limit/offset from a positive range" operation,
we can rename this to range_()/section()/_something_private_because_users_shouldnt_do_this() as needed
Mike Bayer [Mon, 12 May 2008 16:15:28 +0000 (16:15 +0000)]
- clause adaption hits _raw_columns of a select() (though no ORM tests need this feature currently)
- broke up adapter chaining in eagerload, erroneous "wrapping" in row_decorator. column_property() subqueries are now affected only by the ORMAdapter for that mapper. fixes [ticket:1037], and may possibly impact some of [ticket:949]
Mike Bayer [Sat, 10 May 2008 19:19:47 +0000 (19:19 +0000)]
- removed all the order by's that no longer apply.
- realized about declarative that foobar: relation("SomeFutureClass") is not very useful for collections since
we can't set "order_by" there.
Mike Bayer [Sat, 10 May 2008 00:26:28 +0000 (00:26 +0000)]
backref() function uses primaryjoin/secondaryjoin of the parent relation() if not otherwise specified, removing the frequently annoying need to specify primaryjoin twice.
Mike Bayer [Fri, 9 May 2008 23:58:30 +0000 (23:58 +0000)]
- fixed a fairly critical bug in clause adaption/corresponding column in conjunction with annotations
- implicit order by is removed, modified many tests to explicitly set ordering, probably many more to go
once it hits the buildbot.
Jason Kirtland [Fri, 9 May 2008 20:26:09 +0000 (20:26 +0000)]
Test suite modernization in progress. Big changes:
- @unsupported now only accepts a single target and demands a reason
for not running the test.
- @exclude also demands an exclusion reason
- Greatly expanded @testing.requires.<feature>, eliminating many
decorators in the suite and signficantly easing integration of
multi-driver support.
- New ORM test base class, and a featureful base for mapped tests
- Usage of 'global' for shared setup going away, * imports as well
Mike Bayer [Fri, 9 May 2008 19:20:49 +0000 (19:20 +0000)]
- more portable tests for eager/inheritance joins
- bumped 2.4 call count for profile test_select
- don't need initialize_properties() during reentrant compile() call (for now)
Mike Bayer [Fri, 9 May 2008 17:05:13 +0000 (17:05 +0000)]
- warnings about Query invalid operations become InvalidRequestErrors
- __no_criterion() checks for more pre-existing conditions
- helpful note in 0.5 svn readme
Mike Bayer [Thu, 8 May 2008 00:19:06 +0000 (00:19 +0000)]
- backported 0.5's contains_eager() behavior such that rendering of eager clauses are disabled. workaround here is compatible with 0.5 but not compatible with the little-known "decorator" argument to contains_eager() (which was also removed in 0.5). Doesn't remove any existing 0.4 functionality.
Mike Bayer [Tue, 6 May 2008 00:55:49 +0000 (00:55 +0000)]
- _Label adds itself to the proxy collection so that it works in correspoinding column. fixes some eager load with column_property bugs.
- this partially fixes some issues in [ticket:1022] but leaving the "unlabeled" fix for 0.5 for now
Jason Kirtland [Mon, 5 May 2008 21:33:29 +0000 (21:33 +0000)]
Adjusted inplace-binops on set-based collections and association proxies to
more closely follow builtin (2.4+) set semantics. Formerly any set duck-type
was accepted, now only types or subtypes of set, frozenset or the collection
type itself are accepted.
Mike Bayer [Mon, 5 May 2008 15:52:09 +0000 (15:52 +0000)]
- added "rollback_returned" option to Pool which will
disable the rollback() issued when connections are
returned. This flag is only safe to use with a database
which does not support transactions (i.e. MySQL/MyISAM).
Mike Bayer [Fri, 2 May 2008 19:23:58 +0000 (19:23 +0000)]
- fixes to the "exists" function involving inheritance (any(), has(),
~contains()); the full target join will be rendered into the
EXISTS clause for relations that link to subclasses.
Mike Bayer [Fri, 2 May 2008 01:02:23 +0000 (01:02 +0000)]
- factored out the logic used by Join to create its join condition
- With declarative, joined table inheritance mappers use a slightly relaxed
function to create the "inherit condition" to the parent
table, so that other foreign keys to not-yet-declared
Table objects don't trigger an error.
Mike Bayer [Wed, 30 Apr 2008 01:16:05 +0000 (01:16 +0000)]
- added a feature to eager loading whereby subqueries set
as column_property() with explicit label names (which is not
necessary, btw) will have the label anonymized when
the instance is part of the eager join, to prevent
conflicts with a subquery or column of the same name
on the parent object. [ticket:1019]
Mike Bayer [Sat, 26 Apr 2008 16:34:14 +0000 (16:34 +0000)]
- improved behavior of text() expressions when used as
FROM clauses, such as select().select_from(text("sometext"))
[ticket:1014]
- removed _TextFromClause; _TextClause just adds necessary FromClause descriptors
at the class level
Mike Bayer [Fri, 18 Apr 2008 14:49:21 +0000 (14:49 +0000)]
- restored usage of append_result() extension method for primary
query rows, when the extension is present and only a single-
entity result is being returned.
Mike Bayer [Mon, 14 Apr 2008 18:23:59 +0000 (18:23 +0000)]
- simplified __create_lazy_clause to make better usage of the new local/remote pairs collection
- corrected the direction of local/remote pairs for manytoone
- added new tests which demonstrate lazyloading working when the bind param is embedded inside of a SQL function,
when _local_remote_pairs argument is used; fixes the viewonly version of [ticket:610]
- removed needless kwargs check from visitors.traverse