diff options
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/engine/default.py | 1 | ||||
| -rw-r--r-- | lib/sqlalchemy/testing/assertions.py | 4 | ||||
| -rw-r--r-- | lib/sqlalchemy/testing/fixtures.py | 1 | ||||
| -rw-r--r-- | lib/sqlalchemy/testing/requirements.py | 7 |
4 files changed, 11 insertions, 2 deletions
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index 4bb2427c7..778ec6be6 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -671,6 +671,7 @@ class DefaultExecutionContext(interfaces.ExecutionContext): def post_insert(self): if not self._is_implicit_returning and \ + not self._is_explicit_returning and \ not self.compiled.inline and \ self.dialect.postfetch_lastrowid and \ (not self.inserted_primary_key or \ diff --git a/lib/sqlalchemy/testing/assertions.py b/lib/sqlalchemy/testing/assertions.py index 1e8559c1a..2b305b98a 100644 --- a/lib/sqlalchemy/testing/assertions.py +++ b/lib/sqlalchemy/testing/assertions.py @@ -2,7 +2,7 @@ from __future__ import absolute_import from . import util as testutil from sqlalchemy import pool, orm, util -from sqlalchemy.engine import default +from sqlalchemy.engine import default, create_engine from sqlalchemy import exc as sa_exc from sqlalchemy.util import decorator from sqlalchemy import types as sqltypes, schema @@ -183,6 +183,8 @@ class AssertsCompiledSQL(object): dialect = default.DefaultDialect() elif dialect is None: dialect = config.db.dialect + elif isinstance(dialect, basestring): + dialect = create_engine("%s://" % dialect).dialect kw = {} if params is not None: diff --git a/lib/sqlalchemy/testing/fixtures.py b/lib/sqlalchemy/testing/fixtures.py index 018276d4d..1a1204898 100644 --- a/lib/sqlalchemy/testing/fixtures.py +++ b/lib/sqlalchemy/testing/fixtures.py @@ -202,7 +202,6 @@ class TablesTest(TestBase): class _ORMTest(object): - __requires__ = ('subqueries',) @classmethod def teardown_class(cls): diff --git a/lib/sqlalchemy/testing/requirements.py b/lib/sqlalchemy/testing/requirements.py index 4df2163b7..fa617025f 100644 --- a/lib/sqlalchemy/testing/requirements.py +++ b/lib/sqlalchemy/testing/requirements.py @@ -55,6 +55,12 @@ class SuiteRequirements(Requirements): return exclusions.open() @property + def subqueries(self): + """Target database must support subqueries.""" + + return exclusions.open() + + @property def autoincrement_insert(self): """target platform generates new surrogate integer primary key values when insert() is executed, excluding the pk column.""" @@ -65,6 +71,7 @@ class SuiteRequirements(Requirements): def returning(self): """target platform supports RETURNING.""" + self.config.db.connect() return exclusions.only_if( lambda: self.config.db.dialect.implicit_returning, "'returning' not supported by database" |
