summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/exc.py
Commit message (Collapse)AuthorAgeFilesLines
* - copyright 2015Mike Bayer2015-03-101-1/+1
|
* - apply pep8 formatting to sqlalchemy/sql, sqlalchemy/util, sqlalchemy/dialects,Brian Jarrett2014-07-201-1/+2
| | | | sqlalchemy/orm, sqlalchemy/event, sqlalchemy/testing
* - break up the <authors> copyright comment as part of a passMike Bayer2014-07-091-1/+2
| | | | to get all flake8 passing
* - happy new yearMike Bayer2014-01-051-1/+1
|
* - apply an import refactoring to the ORM as wellMike Bayer2013-08-141-9/+9
| | | | | | | | | - rework the event system so that event modules load after their targets, dependencies are reversed - create an improved strategy lookup system for the ORM - rework the ORM to have very few import cycles - move out "importlater" to just util.dependency - other tricks to cross-populate modules in as clear a way as possible
* happy new year (see #2645)Diana Clarke2013-01-011-1/+1
|
* just a pep8 pass of lib/sqlalchemy/orm/Diana Clarke2012-11-191-3/+15
|
* -whitespace bonanza, contdMike Bayer2012-07-281-11/+11
|
* - move all of orm to use absolute importsMike Bayer2012-06-231-20/+15
| | | | | | | | - break out key mechanics of loading objects into new "orm.loading" module, removing implementation details from both mapper.py and query.py. is analogous to persistence.py - some other cleanup and old cruft removal
* Add some `Sphinx` paragraph level versions informations markups,Mike Bayer2012-06-081-2/+4
| | | | such as ``.. versionadded::``, ``.. versionchanged::`` and ``.. deprecated::``.
* - [bug] ensure pickleability of all ORM exceptionsMike Bayer2012-01-111-5/+12
| | | | for multiprocessing compatibility. [ticket:2371]
* happy new yearMike Bayer2012-01-041-1/+1
|
* - attribute system gets a pop() method.Mike Bayer2011-10-301-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove() on a scalar object will raise if the object removed is not what was present. - InstanceState can be pickled if obj() is None; this to support the other changes in this commit - only use trackparent flag on attributes if single_parent or ONETOMANY; otherwise we can skip this overhead - attribute hasparent()/sethasparent() check that trackparent is set, else their usage is invalid - [bug] Fixed backref behavior when "popping" the value off of a many-to-one in response to a removal from a stale one-to-many - the operation is skipped, since the many-to-one has since been updated. [ticket:2315] - [bug] After some years of not doing this, added more granularity to the "is X a parent of Y" functionality, which is used when determining if the FK on "Y" needs to be "nulled out" as well as if "Y" should be deleted with delete-orphan cascade. The test now takes into account the Python identity of the parent as well its identity key, to see if the last known parent of Y is definitely X. If a decision can't be made, a StaleDataError is raised. The conditions where this error is raised are fairly rare, requiring that the previous parent was garbage collected, and previously could very well inappropriately update/delete a record that's since moved onto a new parent, though there may be some cases where "silent success" occurred previously that will now raise in the face of ambiguity. Expiring "Y" resets the "parent" tracker, meaning X.remove(Y) could then end up deleting Y even if X is stale, but this is the same behavior as before; it's advised to expire X also in that case. [ticket:2264]
* - Load of a deferred() attribute on an objectMike Bayer2011-07-311-2/+7
| | | | | | | | | where row can't be located raises ObjectDeletedError instead of failing later on; improved the message in ObjectDeletedError to include other conditions besides a simple "delete". [ticket:2191] - break up test_get_refreshes() in test_expire
* - document query.get(), ObjectDeletedError fully, [ticket:2146]Mike Bayer2011-07-231-1/+18
|
* - An exception is raised in the unusual case that anMike Bayer2011-02-101-0/+3
| | | | | | | | 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. Will commit as a warning in 0.6. [ticket:2046]
* - whitespace removal bonanzaMike Bayer2011-01-021-6/+6
|
* - clean up copyright, update for 2011, stamp every file withMike Bayer2011-01-021-2/+2
| | | | | a consistent tag - AUTHORS file
* - add doc pages for exceptionsMike Bayer2010-09-091-1/+1
|
* - The name ConcurrentModificationError has beenMike Bayer2010-08-011-3/+21
| | | | | | | | | | changed to StaleDataError, and descriptive error messages have been revised to reflect exactly what the issue is. Both names will remain available for the forseeable future for schemes that may be specifying ConcurrentModificationError in an "except:" clause.
* - Now uses sqlalchemy.orm.exc.DetachedInstanceError when anMike Bayer2010-02-071-1/+3
| | | | | | attribute load or refresh action fails due to object being detached from any Session. UnboundExecutionError is specific to engines bound to sessions and statements.
* - raise error when unpickling non-mapped state, [ticket:1610]Mike Bayer2010-01-171-4/+2
| | | | - remove pickle language from regular unmapped class error
* - The "entity_name" feature of SQLAlchemy mappersMike Bayer2008-08-021-10/+7
| | | | | has been removed. For rationale, see http://groups.google.com/group/sqlalchemy/browse_thread/thread/9e23a0641a88b96d?hl=en
* - Centralized 'x is not mapped' reporting into sa.orm.exc.Jason Kirtland2008-05-211-10/+75
| | | | | | | - Guards are now present on all public Session methods and passing in an unmapped hoho anywhere yields helpful exception messages, going to some effort to provide hints for debugging situations that would otherwise seem hopeless, such as broken user instrumentation or half-pickles.
* Query.one() raises either NoResultFound or MultipleResultsFound, [ticket:1034]Jason Kirtland2008-05-141-0/+5
|
* r4695 merged to trunk; trunk now becomes 0.5.Mike Bayer2008-05-091-0/+31
0.4 development continues at /sqlalchemy/branches/rel_0_4