diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-09-28 15:40:39 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-09-28 15:40:39 -0400 |
commit | e4d445c6f56b2962b2b8e649575f70f5cb7fdc1f (patch) | |
tree | d412ff064245335cf7651728ba3ad7bea29b5ac9 | |
parent | 1704eacf24f803283033c172cb74b0fb4e9e36d8 (diff) | |
parent | 4d53b31247265422a36cc2e58e8db0bf200e8329 (diff) | |
download | sqlalchemy-e4d445c6f56b2962b2b8e649575f70f5cb7fdc1f.tar.gz |
Merge remote-tracking branch 'origin/pr/198' into pr198
-rw-r--r-- | lib/sqlalchemy/dialects/sqlite/base.py | 7 | ||||
-rw-r--r-- | test/dialect/test_sqlite.py | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/sqlite/base.py b/lib/sqlalchemy/dialects/sqlite/base.py index e19047b76..fcb39da86 100644 --- a/lib/sqlalchemy/dialects/sqlite/base.py +++ b/lib/sqlalchemy/dialects/sqlite/base.py @@ -1095,6 +1095,13 @@ class SQLiteDialect(default.DefaultDialect): return None @reflection.cache + def get_schema_names(self, connection, **kw): + s = "PRAGMA database_list" + dl = connection.execute(s) + + return [db[1] for db in dl] + + @reflection.cache def get_table_names(self, connection, schema=None, **kw): if schema is not None: qschema = self.identifier_preparer.quote_identifier(schema) diff --git a/test/dialect/test_sqlite.py b/test/dialect/test_sqlite.py index 17920c127..2e929de9c 100644 --- a/test/dialect/test_sqlite.py +++ b/test/dialect/test_sqlite.py @@ -581,6 +581,11 @@ class AttachedMemoryDBTest(fixtures.TestBase): insp = inspect(self.conn) eq_(insp.get_table_names("test_schema"), ["created"]) + def test_schema_names(self): + self._fixture() + insp = inspect(self.conn) + eq_(insp.get_schema_names(), ["main", "test_schema"]) + def test_reflect_system_table(self): meta = MetaData(self.conn) alt_master = Table( |