diff options
author | Rodrigo Menezes <rodrigo.menezes@moat.com> | 2014-09-05 13:37:32 -0400 |
---|---|---|
committer | Rodrigo Menezes <rodrigo.menezes@moat.com> | 2014-09-05 13:37:32 -0400 |
commit | 619b0be0ce05c394613d8565c08c09cac10cdd88 (patch) | |
tree | 907e6441cb454e5df2cffa6c794ca3150b48592b | |
parent | fbd2d70a5cfd7b5c219c51cb5b7866c4ab89cece (diff) | |
download | sqlalchemy-619b0be0ce05c394613d8565c08c09cac10cdd88.tar.gz |
Added get_foreign_table_names to interface and put it in the test requirements.
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/base.py | 1 | ||||
-rw-r--r-- | lib/sqlalchemy/engine/default.py | 1 | ||||
-rw-r--r-- | lib/sqlalchemy/engine/interfaces.py | 4 | ||||
-rw-r--r-- | lib/sqlalchemy/testing/requirements.py | 15 |
4 files changed, 19 insertions, 2 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index 69ae6cfed..f65bc2473 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -1753,6 +1753,7 @@ class PGDialect(default.DefaultDialect): supports_default_values = True supports_empty_insert = False + supports_foreign_tables = True supports_multivalues_insert = True default_paramstyle = 'pyformat' ischema_names = ischema_names diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index 2fece76b9..a59efd301 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -107,6 +107,7 @@ class DefaultDialect(interfaces.Dialect): default_paramstyle = 'named' supports_default_values = False supports_empty_insert = True + supports_foreign_tables = False supports_multivalues_insert = False server_version_info = None diff --git a/lib/sqlalchemy/engine/interfaces.py b/lib/sqlalchemy/engine/interfaces.py index e1e346850..795be8273 100644 --- a/lib/sqlalchemy/engine/interfaces.py +++ b/lib/sqlalchemy/engine/interfaces.py @@ -319,8 +319,8 @@ class Dialect(object): raise NotImplementedError() - def get_foreign_tables(self, connection, view_name, schema=None, **kw): - """Return a list of foreign table names for `schema`.""" + def get_foreign_table_names(self, connection, schema=None, **kw): + """Return a list of foreign table names for `schema`. """ raise NotImplementedError() diff --git a/lib/sqlalchemy/testing/requirements.py b/lib/sqlalchemy/testing/requirements.py index a04bcbbdd..f0f0e9e47 100644 --- a/lib/sqlalchemy/testing/requirements.py +++ b/lib/sqlalchemy/testing/requirements.py @@ -253,6 +253,15 @@ class SuiteRequirements(Requirements): return exclusions.closed() @property + def foreign_tables(self): + """target platform supports FOREIGN TABLEs.""" + + return exclusions.only_if( + lambda config: config.db.dialect.supports_foreign_tables, + "%(database)s %(does_support)s 'FOREIGN TABLEs'" + ) + + @property def schemas(self): """Target database must support external schemas, and have one named 'test_schema'.""" @@ -302,6 +311,12 @@ class SuiteRequirements(Requirements): return self.views @property + def foreign_table_reflection(self): + """target database must support inspection of the full CREATE FOREIGN TABLE definition. + """ + return self.foreign_tables + + @property def schema_reflection(self): return self.schemas |