summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
Commit message (Collapse)AuthorAgeFilesLines
...
| * | pg8000.dbapi is now just pg8000Tony Locke2014-05-211-1/+1
| | |
* | | update commentsMike Bayer2014-05-301-4/+6
| | |
* | | Merge branch 'psycopg_disconnect' of https://github.com/dirkmueller/sqlalchemyMike Bayer2014-05-301-1/+5
|\ \ \
| * | | Another Variant for detecting if a connection is closedpr/87Dirk Mueller2014-05-111-1/+5
| | |/ | |/| | | | | | | | | | | | | | | | If there is a closed attribute on the connection and it is true, return true. Implements a todo in the code and helps in one specific disconnect case where it previously did not match because the error message was "unknown error".
* | | revert this, not sure why that changedMike Bayer2014-05-301-1/+1
| | |
* | | - Related to :ticket:`3060`, an adjustment has been made to the unitMike Bayer2014-05-306-25/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of work such that loading for related many-to-one objects is slightly more aggressive, in the case of a graph of self-referential objects that are to be deleted; the load of related objects is to help determine the correct order for deletion if passive_deletes is not set. - revert the changes to test_delete_unloaded_m2o, these deletes do in fact need to occur in the order of the two child objects first.
* | | - add a new assertsql construct "Or", so that we can test for a UOW flushMike Bayer2014-05-301-1/+20
| | | | | | | | | | | | | | | | | | that might take one of multiple directions; apply this to test_delete_unloaded_m2o which is now illustrating multiple paths due to #3060/#3061, though still doing the right thing.
* | | - Adjustment to attribute mechanics concerning when a value isMike Bayer2014-05-2911-64/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implicitly initialized to None via first access; this action, which has always resulted in a population of the attribute, now emits an attribute event just like any other attribute set operation and generates the same kind of history as one. Additionally, many mapper internal operations will no longer implicitly generate these "None" values when various never-set attributes are checked. These are subtle behavioral fixes to attribute mechanics which provide a better solution to the problem of :ticket:`3060`, which also involves recognition of attributes explicitly set to ``None`` vs. attributes that were never set. fixes #3061
* | | - Fixed a few edge cases which arise in the so-called "row switch"Mike Bayer2014-05-284-10/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scenario, where an INSERT/DELETE can be turned into an UPDATE. In this situation, a many-to-one relationship set to None, or in some cases a scalar attribute set to None, may not be detected as a net change in value, and therefore the UPDATE would not reset what was on the previous row. This is due to some as-yet unresovled side effects of the way attribute history works in terms of implicitly assuming None isn't really a "change" for a previously un-set attribute. See also :ticket:`3061`. fixes #3060
* | | - Fixed bug in INSERT..FROM SELECT construct where selecting from aMike Bayer2014-05-251-1/+1
| | | | | | | | | | | | | | | UNION would wrap the union in an anonymous (e.g. unlabled) subquery. fixes #3044
* | | - Added the ``hashable=False`` flag to the PG :class:`.HSTORE` type, whichMike Bayer2014-05-251-0/+1
| | | | | | | | | | | | | | | | | | is needed to allow the ORM to skip over trying to "hash" an ORM-mapped HSTORE column when requesting it in a mixed column/entity list. Patch courtesy Gunnlaugur Þór Briem. Fixes #3053
* | | - Fixed bug in subquery eager loading where a long chain ofMike Bayer2014-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | eager loads across a polymorphic-subclass boundary in conjunction with polymorphic loading would fail to locate the subclass-link in the chain, erroring out with a missing property name on an :class:`.AliasedClass`. fixes #3055
* | | - Fixed bug in SQLite join rewriting where anonymized column namesMike Bayer2014-05-251-0/+3
| | | | | | | | | | | | | | | | | | due to repeats would not correctly be rewritten in subqueries. This would affect SELECT queries with any kind of subquery + join. fixes #3057
* | | - repair oracle compilation for new limit/offset system.Mike Bayer2014-05-241-15/+26
| | |
* | | - fix some identity map accessorsMike Bayer2014-05-242-1/+40
| | | | | | | | | | | | - fix a bad comparison in MySQL w/ limit/offset thing
* | | - revert the memoized committed_state / callables changes as they appear to ↵Mike Bayer2014-05-241-19/+8
| | | | | | | | | | | | | | | | | | add to lazy loading. not really clear which approach is better in the long run.
* | | - fix typos in testMike Bayer2014-05-241-0/+3
| | | | | | | | | | | | - restore __len__ to identity map
* | | - Fixed bug where the :meth:`.Operators.__and__`,Mike Bayer2014-05-242-8/+40
| | | | | | | | | | | | | | | | | | | | | :meth:`.Operators.__or__` and :meth:`.Operators.__invert__` operator overload methods could not be overridden within a custom :class:`.TypeEngine.Comparator` implementation. fixes #3012
* | | - hyperlink all the column operators listed in the ORM tutorial common ↵Mike Bayer2014-05-241-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | filter operators section - add language to MATCH explicitly stating this operator varies by backend and is not available on SQLite, as the tutorial defaults to SQLite to start with, fix #3059 - on the actual match() documentation fix this up to be more accurate, list some example renderings for different backends. again mention SQLite not supported
* | | - document the compiler_kwargs accessorMike Bayer2014-05-231-0/+20
| | | | | | | | | | | | - add new FAQ for rendering SQL as a string
* | | Merge branch 'ticket_3034'Mike Bayer2014-05-2311-68/+258
|\ \ \
| * | | - more tests, including backend testsMike Bayer2014-05-164-48/+173
| | | | | | | | | | | | | | | | - implement for SQL server, use window functions when simple limit/offset not available
| * | | Merge branch 'issue_3034' of ↵Mike Bayer2014-05-169-54/+119
| |\ \ \ | | |_|/ | |/| | | | | | https://bitbucket.org/dobesv/sqlalchemy/branch/issue_3034 into ticket_3034
| | * | Remove unused importDobes Vandermeer2014-05-091-6/+29
| | | |
| | * | Remove unused importDobes Vandermeer2014-04-251-1/+1
| | | |
| | * | Remove unused importDobes Vandermeer2014-04-251-1/+0
| | | |
| | * | Remove unused importDobes Vandermeer2014-04-251-1/+0
| | | |
| | * | Remove unused importDobes Vandermeer2014-04-251-1/+0
| | | |
| | * | Pull out offset/limit to a local variable to reduce the impact of the ↵Dobes Vandermeer2014-04-251-8/+10
| | | | | | | | | | | | | | | | inefficient select._offset and select._limit operations.
| | * | Remove unused importDobes Vandermeer2014-04-251-1/+0
| | | |
| | * | Use _offset_clause and _limit_clause, which are always Visitable and usually ↵Dobes Vandermeer2014-04-257-43/+74
| | | | | | | | | | | | | | | | a BindParameter, instead of _offset and _limit in GenerativeSelect.
| | * | Extract limit/offset to variablesDobes Vandermeer2014-04-251-5/+7
| | | |
| | * | Proof-of-concept implementation of supporting bindparam for offset and limit ↵Dobes Vandermeer2014-04-245-13/+24
| | | | | | | | | | | | | | | | on a query.
* | | | - switch master to be 1.0Mike Bayer2014-05-231-1/+1
| | | |
* | | | - mark translate_row, create_instance, populate_instance, append_result as ↵Mike Bayer2014-05-232-3/+25
| | | | | | | | | | | | | | | | legacy
* | | | inliningMike Bayer2014-05-193-17/+27
| | | |
* | | | Revert "remove events nobody uses...?"Mike Bayer2014-05-191-4/+60
| | | | | | | | | | | | | | | | This reverts commit 72a09d9e5c54e3ee8b3561da144d8379ce1df747.
* | | | remove events nobody uses...?Mike Bayer2014-05-191-60/+4
| | | |
* | | | - some inlining, speed up identity mapMike Bayer2014-05-193-45/+69
|/ / /
* | | - changelog for #2785Mike Bayer2014-05-161-3/+6
| | | | | | | | | | | | | | | - refactor tests a bit fixes #2785
* | | Merge branch 'zero_indexes-param-for-postgresql-ARRAY-type' of ↵Mike Bayer2014-05-161-1/+16
|\ \ \ | | | | | | | | | | | | https://bitbucket.org/LevonXXL/sqlalchemy/overview into t
| * | | zero_indexes-param-for-postgresql-ARRAY-typeAlexey Terentev2014-05-131-1/+16
| | | |
* | | | - Fixed bug in mutable extension where :class:`.MutableDict` did notMike Bayer2014-05-141-0/+5
| | | | | | | | | | | | | | | | | | | | report change events for the ``setdefault()`` dictionary operation. fixes #3051
* | | | Posgtresql -> PostgreSQLWieland Hoffmann2014-05-121-1/+1
| | | |
* | | | Merged in WSMcG/sqlalchemy (pull request #15) Mike Bayer2014-05-121-1/+1
|\ \ \ \ | |/ / / |/| | | Added optional '=' to MySQL KEY_BLOCK_SIZE regex
| * | | Added optional '=' to MySQL KEY_BLOCK_SIZE regexW. Sean McGivern2014-04-191-1/+1
| | | |
* | | | Merge pull request #91 from smurfix/de_apostroph_ifymike bayer2014-05-1118-21/+21
|\ \ \ \ | | | | | | | | | | Documentation fix-up: "its" vs. "it's"
| * | | | Documentation fix-up: "its" vs. "it's"pr/91Matthias Urlichs2014-05-1118-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed ungrammatical apostrophes from documentation, replacing "it's" with "its" where appropriate (but in a few cases with "it is" when that read better). While doing that, I also fixed a couple of minor typos etc. as I noticed them.
* | | | | - Fixed ORM bug where the :func:`.class_mapper` function would maskMike Bayer2014-05-101-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AttributeErrors or KeyErrors that should raise during mapper configuration due to user errors. The catch for attribute/keyerror has been made more specific to not include the configuration step. fixes #3047
* | | | | - Fixed some "double invalidate" situations were detected whereMike Bayer2014-05-102-3/+14
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a connection invalidation could occur within an already critical section like a connection.close(); ultimately, these conditions are caused by the change in :ticket:`2907`, in that the "reset on return" feature calls out to the Connection/Transaction in order to handle it, where "disconnect detection" might be caught. However, it's possible that the more recent change in :ticket:`2985` made it more likely for this to be seen as the "connection invalidate" operation is much quicker, as the issue is more reproducible on 0.9.4 than 0.9.3. Checks are now added within any section that an invalidate might occur to halt further disallowed operations on the invalidated connection. This includes two fixes both at the engine level and at the pool level. While the issue was observed with highly concurrent gevent cases, it could in theory occur in any kind of scenario where a disconnect occurs within the connection close operation. fixes #3043 ref #2985 ref #2907 - add some defensive checks during an invalidate situation: 1. _ConnectionRecord.invalidate might be called twice within finalize_fairy if the _reset() raises an invalidate condition, invalidates, raises and then goes to invalidate the CR. so check for this. 2. similarly within Conneciton, anytime we do handle_dbapi_error(), we might become invalidated. so a following finally must check self.__invalid before dealing with the connection any futher.