summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm
Commit message (Collapse)AuthorAgeFilesLines
* remove double methodsMike Bayer2013-06-171-19/+0
|
* - rework PropComparator.adapted() to be PropComparator.adapt_to_entity(),Mike Bayer2013-06-175-120/+137
| | | | | | | passes in AliasedInsp and allows more flexibility. - rework the AliasedClass/AliasedInsp relationship so that AliasedInsp has all state and functionality. AliasedClass is just a facade. [ticket:2756]
* Fixed bug in polymorphic SQL generation where multiple joined-inheritanceMike Bayer2013-06-151-5/+10
| | | | | | | entities against the same base class joined to each other as well would not track columns on the base table independently of each other if the string of joins were more than two entities long. Also in 0.8.2. [ticket:2759]
* Fixed bug where sending a composite attribute into :meth:`.Query.order_by`Mike Bayer2013-06-101-1/+1
| | | | | would produce a parenthesized expression not accepted by some databases. [ticket:2754]
* Fixed the interaction between composite attributes andMike Bayer2013-06-102-15/+24
| | | | | | the :func:`.aliased` function. Previously, composite attributes wouldn't work correctly in comparison operations when aliasing was applied. Also in 0.8.2. [ticket:2755]
* - tests for the alias() APIMike Bayer2013-06-081-0/+26
| | | | - docs docs docs
* - Fixed an obscure bug where the wrong results would beMike Bayer2013-06-071-2/+7
| | | | | | | | | | | fetched when joining/joinedloading across a many-to-many relationship to a single-table-inheriting subclass with a specific discriminator value, due to "secondary" rows that would come back. The "secondary" and right-side tables are now inner joined inside of parenthesis for all ORM joins on many-to-many relationships so that the left->right join can accurately filtered. [ticket:2369]
* remove all remaining start/end py2k/py3k blocksMike Bayer2013-06-072-14/+10
|
* dial back the default "flatness" a bit, it will be there for joinedload and ↵Mike Bayer2013-06-064-13/+23
| | | | | | | query.join(), but if you're dealing with aliased() or with_polymorphic() you need to say "flat=True". Just the one flag though, "flat" implies "aliased".
* shrugsMike Bayer2013-06-051-1/+6
|
* a test for what's breaking, plus a non-working fix for it...Mike Bayer2013-06-051-0/+3
|
* - improve overlapping selectables, apply to both query and relationshipMike Bayer2013-06-042-23/+17
| | | | | | - clean up inspect() calls within query._join() - make sure join.alias(flat) propagates - fix almost all assertion tests
* - eager loadsMike Bayer2013-06-042-3/+2
| | | | - two suite of SQL assertions converted
* here's the flat join thing. it just works. Changing the existing compiled ↵Mike Bayer2013-06-042-3/+5
| | | | | | SQL assertions might even be most of the tests we need (though dedicated sql tests would be needed anyway)
* rewriting scheme now works.Mike Bayer2013-06-041-6/+3
|
* OK this is the broken version, need to think a lot more about thisMike Bayer2013-06-031-2/+2
|
* - pulling out more aliases, sort ofMike Bayer2013-06-031-4/+9
|
* working through tests....Mike Bayer2013-06-021-5/+21
|
* - figured out what the from_self() thing was about, part of query.statement, ↵Mike Bayer2013-06-021-0/+2
| | | | | | but would like to improve upon query.statement needing to do this
* getting things to join without subqueries, but some glitches in the compiler ↵Mike Bayer2013-06-021-8/+8
| | | | | | step when we do query.count() are showing
* - blow away context._attributesMike Bayer2013-06-024-40/+44
| | | | | - to account for query._attributes/context.attributes, just pass the attributes dict directly to the PathRegistry methods
* Fixed a regression caused by [ticket:2682] whereby theMike Bayer2013-05-311-0/+6
| | | | | | | evaluation invoked by :meth:`.Query.update` and :meth:`.Query.delete` would hit upon unsupported ``True`` and ``False`` symbols which now appear due to the usage of ``IS``. [ticket:2737]
* The "auto-aliasing" behavior of the :class:`.Query.select_from`Mike Bayer2013-05-302-12/+131
| | | | | | method has been turned off. The specific behavior is now availble via a new method :class:`.Query.select_entity_from`. [ticket:2736]
* Merge branch 'rel_0_9'Mike Bayer2013-05-2917-161/+154
|\ | | | | | | | | | | | | Conflicts: lib/sqlalchemy/dialects/postgresql/hstore.py lib/sqlalchemy/util/__init__.py lib/sqlalchemy/util/compat.py
| * clean up some of this collection stuffMike Bayer2013-05-261-2/+1
| |
| * a pass where we try to squash down as many list()/keys() combinationsMike Bayer2013-05-267-16/+16
| | | | | | | | as possible
| * do a sweep of some obvious 3kismsMike Bayer2013-05-261-25/+21
| |
| * repair py3kisms in key ORM modulesMike Bayer2013-05-263-22/+22
| |
| * merge defaultMike Bayer2013-05-131-1/+8
| |\
| * \ merge defaultMike Bayer2013-05-101-20/+53
| |\ \
| * | | most of ORM passing...Mike Bayer2013-05-045-40/+32
| | | |
| * | | merge defaultMike Bayer2013-04-301-3/+4
| |\ \ \
| * | | | import of "sqlalchemy" and "sqlalchemy.orm" works.Mike Bayer2013-04-273-7/+5
| | | | |
| * | | | - the raw 2to3 runMike Bayer2013-04-2718-172/+180
| | | | | | | | | | | | | | | | | | | | - went through examples/ and cleaned out excess list() calls
* | | | | - move an import stuck in the middle here...Mike Bayer2013-05-281-1/+1
| |_|_|/ |/| | |
* | | | Fixed a regression from 0.7 caused by this ticket, whichMike Bayer2013-05-131-1/+8
| |_|/ |/| | | | | | | | | | | | | | | | | | | | made the check for recursion overflow in self-referential eager joining too loose, missing a particular circumstance where a subclass had lazy="joined" or "subquery" configured and the load was a "with_polymorphic" against the base. [ticket:2481]
* | | - moderinzed the docs for the foreign_keys parameter a bit,Mike Bayer2013-05-101-20/+53
| |/ |/| | | | | [ticket:2725]
* | - Fixed a regression from 0.7 where the contextmanager featureMike Bayer2013-04-301-3/+4
|/ | | | | | | of :meth:`.Session.begin_nested` would fail to correctly roll back the transaction when a flush error occurred, instead raising its own exception while leaving the session still pending a rollback. [ticket:2718]
* Fixes to the ``sqlalchemy.ext.serializer`` extension, includingMike Bayer2013-04-261-2/+13
| | | | | | | that the "id" passed from the pickler is turned into a string to prevent against bytes being parsed on Py3K, as well as that ``relationship()`` and ``orm.join()`` constructs are now properly serialized. [ticket:2698] and some other observed issues.
* - further cleanup. in particular, the left clause is never None. But we stillMike Bayer2013-04-251-24/+12
| | | | can have errors when we do the auto-join, these are both covered in test_joins
* we can always adapt to right also. suppose if rightMike Bayer2013-04-251-5/+1
| | | | were an alias of a table, should add tests for that.
* cleanupMike Bayer2013-04-252-58/+15
|
* everything passes with this!!!!!!! holy crap !!!!! and its the simplest of allMike Bayer2013-04-251-57/+69
|
* - attempt to replace the whole idea of "join_to_left" with a moreMike Bayer2013-04-242-36/+24
| | | | | fundamental and general purpose heuristic. this initial approach has about 60 tests failing but seems to have gone pretty far
* - merge exists() patch + changelogMike Bayer2013-04-231-0/+20
|\
| * adding convenience method exists() to Query (see # 2673)Diana Clarke2013-03-291-0/+20
| |
* | Added a conditional to the unpickling process for ORMMike Bayer2013-04-231-1/+2
| | | | | | | | | | | | | | mapped objects, such that if the reference to the object were lost when the object was pickled, we don't erroneously try to set up _sa_instance_state - fixes a NoneType error.
* | Fixed bug where many-to-many relationship with uselist=FalseMike Bayer2013-04-211-3/+7
| | | | | | | | | | | | would fail to delete the association row and raise an error if the scalar attribute were set to None. Also in 0.7.11. [ticket:2710]
* | - dont do a boolean check on the mapped objectMike Bayer2013-04-201-1/+1
| |
* | Improved the behavior of instance management regardingMike Bayer2013-04-204-17/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the creation of strong references within the Session; an object will no longer have an internal reference cycle created if it's in the transient state or moves into the detached state - the strong ref is created only when the object is attached to a Session and is removed when the object is detached. This makes it somewhat safer for an object to have a `__del__()` method, even though this is not recommended, as relationships with backrefs produce cycles too. A warning has been added when a class with a `__del__()` method is mapped. [ticket:2708]