From: Rodrigo Menezes Date: Fri, 5 Sep 2014 17:37:32 +0000 (-0400) Subject: Added get_foreign_table_names to interface and put it in the test requirements. X-Git-Tag: rel_1_0_0b1~70^2~84^2~4^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=619b0be0ce05c394613d8565c08c09cac10cdd88;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Added get_foreign_table_names to interface and put it in the test requirements. --- diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index 69ae6cfed3..f65bc24735 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 2fece76b9f..a59efd3015 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 e1e346850f..795be8273b 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 a04bcbbdd4..f0f0e9e470 100644 --- a/lib/sqlalchemy/testing/requirements.py +++ b/lib/sqlalchemy/testing/requirements.py @@ -252,6 +252,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 @@ -301,6 +310,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