summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2015-09-28 15:40:39 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2015-09-28 15:40:39 -0400
commite4d445c6f56b2962b2b8e649575f70f5cb7fdc1f (patch)
treed412ff064245335cf7651728ba3ad7bea29b5ac9
parent1704eacf24f803283033c172cb74b0fb4e9e36d8 (diff)
parent4d53b31247265422a36cc2e58e8db0bf200e8329 (diff)
downloadsqlalchemy-e4d445c6f56b2962b2b8e649575f70f5cb7fdc1f.tar.gz
Merge remote-tracking branch 'origin/pr/198' into pr198
-rw-r--r--lib/sqlalchemy/dialects/sqlite/base.py7
-rw-r--r--test/dialect/test_sqlite.py5
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(