summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix TypeError for class_mapper called w/ iterablepr/58Kyle Stark2014-01-131-1/+1
| | | When the class_ passed is not a mapped class but is actually an iterable, the string formatting operation fails with a TypeError, and the expected ArgumentError is not raised. Calling code which is using reflection and expects this error will fail (e.g. the sadisplay module).
* update changelog from 0.3.2 to 0.3.4, re-patching the part of ↵Mike Bayer2014-01-131-1/+1
| | | | | | 2775c95b1ee30831216cc5 that was intended
* revert r2775c95b1ee30831216cc5 which was mostly an inadvertent commit, ↵Mike Bayer2014-01-134-44/+23
| | | | except for the changelog part
* - continue with [ticket:2907] and further clean up how we set upMike Bayer2014-01-133-19/+48
| | | | | | | | | | | | | | _reset_agent, so that it's local to the various begin_impl(), rollback_impl(), etc. this allows setting/resetting of the flag to be symmetric. - don't set _reset_agent if it's not None, don't unset it if it isn't our own transaction. - make sure we clean it out in close(). - basically, we're dealing here with pools using "threadlocal" that have a counter, other various mismatches that the tests bring up - test for recover() now has to invalidate() the previous connection, because closing it actually rolls it back (e.g. this test was relying on the broken behavior).
* - dont run deletes hereMike Bayer2014-01-131-0/+1
|
* - :class:`.Connection` now associates a newMike Bayer2014-01-125-20/+299
| | | | | | | | | | | | | | | | | | | | | | :class:`.RootTransaction` or :class:`.TwoPhaseTransaction` with its immediate :class:`._ConnectionFairy` as a "reset handler" for the span of that transaction, which takes over the task of calling commit() or rollback() for the "reset on return" behavior of :class:`.Pool` if the transaction was not otherwise completed. This resolves the issue that a picky transaction like that of MySQL two-phase will be properly closed out when the connection is closed without an explicit rollback or commit (e.g. no longer raises "XAER_RMFAIL" in this case - note this only shows up in logging as the exception is not propagated within pool reset). This issue would arise e.g. when using an orm :class:`.Session` with ``twophase`` set, and then :meth:`.Session.close` is called without an explicit rollback or commit. The change also has the effect that you will now see an explicit "ROLLBACK" in the logs when using a :class:`.Session` object in non-autocommit mode regardless of how that session was discarded. Thanks to Jeff Dairiki and Laurence Rowe for isolating the issue here. [ticket:2907]
* - add new event PoolEvents.invalidate(). allows interception of invalidationMike Bayer2014-01-126-55/+309
| | | | | | | | | | | | | | | events including auto-invalidation, which is useful both for tests here as well as detecting failure conditions within the "reset" or "close" cases. - rename the argument for PoolEvents.reset() to dbapi_connection and connection_record to be consistent with everything else. - add new documentation sections on invalidation, including auto-invalidation and the invalidation process within the pool. - add _ConnectionFairy and _ConnectionRecord to the pool documentation. Establish docs for common _ConnectionFairy/_ConnectionRecord methods and accessors and have PoolEvents docs refer to _ConnectionRecord, since it is passed to all events. Rename a few _ConnectionFairy methods that are actually private to pool such as _checkout(), _checkin() and _checkout_existing(); there should not be any external code calling these
* - bump up how many args for "named arg style" to fourMike Bayer2014-01-121-1/+1
|
* - changelog for pullreq github 57Mike Bayer2014-01-121-0/+7
|
* - pullreq github 55 is in the wrong changelog! 0.9.2...Mike Bayer2014-01-121-2/+5
|
* Merge pull request #57 from sdague/mastermike bayer2014-01-121-0/+4
|\ | | | | expose SchemaVisitor in the compatibility layer
| * expose SchemaVisitor in the compatibility layerpr/57Sean Dague2014-01-111-0/+4
|/ | | | | | | | sqlalchemy-migrate uses SchemaVisitor. It was one of the only objects that changed namespaces without compatibility that we use. Would love to get this added to remove a work around we need at https://review.openstack.org/#/c/66156/
* - add a CLI to determine waht kind of test to runMike Bayer2014-01-111-19/+25
|
* new changelogMike Bayer2014-01-114-23/+44
|
* - fix some function mismatch in profilingMike Bayer2014-01-091-6/+3
|
* 0.9.2Mike Bayer2014-01-091-1/+1
|
* changelog for pullreq github:55pullreq55Mike Bayer2014-01-091-0/+11
|
* Use PyMODINIT_FUNCpr/55cgohlke2014-01-081-1/+1
|
* Use PyMODINIT_FUNCcgohlke2014-01-081-1/+1
|
* Use PyMODINIT_FUNCcgohlke2014-01-081-1/+1
|
* - fixesMike Bayer2014-01-081-4/+4
|
* - add more critical behavioral change for [ticket:2804]Mike Bayer2014-01-081-1/+49
|
* - 0.9.1rel_0_9_1Mike Bayer2014-01-052-2/+3
|
* - these tests are really old but trying to make sure everything is closed outMike Bayer2014-01-051-40/+40
|
* fix the changelog mergeMike Bayer2014-01-051-3/+2
|
* - happy new yearMike Bayer2014-01-05168-171/+171
|
* 0.9.1Mike Bayer2014-01-051-1/+1
|
* - docs + testsMike Bayer2014-01-052-0/+168
|
* Merge branch 'automap'Mike Bayer2014-01-0514-41/+1077
|\ | | | | | | | | Conflicts: doc/build/changelog/changelog_09.rst
| * - many-to-many supportMike Bayer2014-01-055-68/+866
| | | | | | | | | | - tests - full documentation, changelog, new in 0.9 announcement
| * - fix some docstring stuffMike Bayer2014-01-054-32/+81
| |
| * - conjunctions like and_() and or_() can now accept generators as arguments.Mike Bayer2014-01-055-1/+32
| |
| * - basic functionality.Mike Bayer2014-01-041-23/+30
| |
| * - The :paramref:`.Table.extend_existing` and :paramref:`.Table.autoload_replace`Mike Bayer2014-01-044-7/+44
| | | | | | | | | | | | parameters are now available on the :meth:`.MetaData.reflect` method. - starting to use paramref and need newer paramlinks version.
| * - hypothetical "automap" feature, would extend DeferredReflection to create ↵Mike Bayer2014-01-031-0/+113
| | | | | | | | | | | | classes against the remaining tables within the given metadata.
* | - Fixed regression where using a ``functools.partial()`` with the eventMike Bayer2014-01-045-4/+73
|/ | | | | | | | | | | system would cause a recursion overflow due to usage of inspect.getargspec() on it in order to detect a legacy calling signature for certain events, and apparently there's no way to do this with a partial object. Instead we skip the legacy check and assume the modern style; the check itself now only occurs for the SessionEvents.after_bulk_update and SessionEvents.after_bulk_delete events. Those two events will require the new signature style if assigned to a "partial" event listener. [ticket:2905]
* - Fixed an extremely unlikely memory issue where when usingMike Bayer2014-01-034-21/+93
| | | | | | | | | | :class:`.DeferredReflection` to define classes pending for reflection, if some subset of those classes were discarded before the :meth:`.DeferredReflection.prepare` method were called to reflect and map the class, a strong reference to the class would remain held within the declarative internals. This internal collection of "classes to map" now uses weak references against the classes themselves.
* Merged in davidszotten/sqlalchemy/doc_typo (pull request #10) Mike Bayer2014-01-021-1/+1
|\ | | | | typo in changelog
| * typo in changelogDavid Szotten2014-01-011-1/+1
| |
* | - changelog for pullreq 9 from bitbucketMike Bayer2014-01-021-0/+8
| |
* | Merge bitbucket.org:rschoon/sqlalchemy into tMike Bayer2014-01-022-1/+6
|\ \
| * | Don't barf on Session(info=...) from sessionmaker(info=None)Robin Schoonover2013-12-312-1/+6
| |/
* | - Fixed regression where we don't check the given name against theMike Bayer2014-01-023-1/+26
| | | | | | | | | | | | correct string class when setting up a backref based on a name, therefore causing the error "too many values to unpack". This was related to the Py3k conversion. [ticket:2901]
* | - A quasi-regression where apparently in 0.8 you can set a class-levelMike Bayer2014-01-023-2/+93
| | | | | | | | | | | | | | | | | | | | | | attribute on declarative to simply refer directly to an :class:`.InstrumentedAttribute` on a superclass or on the class itself, and it acts more or less like a synonym; in 0.9, this fails to set up enough bookkeeping to keep up with the more liberalized backref logic from :ticket:`2789`. Even though this use case was never directly considered, it is now detected by declarative at the "setattr()" level as well as when setting up a subclass, and the mirrored/renamed attribute is now set up as a :func:`.synonym` instead. [ticket:2900]
* | - Fixed regression where we apparently still create an implicitMike Bayer2014-01-024-8/+67
| | | | | | | | | | | | | | | | | | | | alias when saying query(B).join(B.cs), where "C" is a joined inh class; however, this implicit alias was created only considering the immediate left side, and not a longer chain of joins along different joined-inh subclasses of the same base. As long as we're still implicitly aliasing in this case, the behavior is dialed back a bit so that it will alias the right side in a wider variety of cases. [ticket:2903]
* | .pyoMike Bayer2014-01-021-0/+1
| |
* | - support addition of fails_if()/only_on(), just wraps the decoratorsMike Bayer2014-01-023-5/+17
|/ | | | - update a few exclusions to support current pymssql. passes all of test_suite and dialect/mssql
* - 0.9.0 release daterel_0_9_0Mike Bayer2013-12-302-2/+3
|
* - call it 0.9.0Mike Bayer2013-12-307-32/+32
|
* Merge branch 'master' into rel_0_9Mike Bayer2013-12-302-0/+2
|\