summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/mssql.py
diff options
context:
space:
mode:
authorJonathan Ellis <jbellis@gmail.com>2007-07-29 04:15:14 +0000
committerJonathan Ellis <jbellis@gmail.com>2007-07-29 04:15:14 +0000
commita9a1f912fd9445d7496584a256e449ad1fd2a808 (patch)
tree665b8e937cd5811119f5ce8faa9e844e61190b9e /lib/sqlalchemy/databases/mssql.py
parentc838a981021b83f5690234b1d55513417306ac61 (diff)
downloadsqlalchemy-a9a1f912fd9445d7496584a256e449ad1fd2a808.tar.gz
engine.table_names()
tested vs sqlite and pg. mssql should also be ok (uses ischema like pg.) others are best-guess based on has_table code.
Diffstat (limited to 'lib/sqlalchemy/databases/mssql.py')
-rw-r--r--lib/sqlalchemy/databases/mssql.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/sqlalchemy/databases/mssql.py b/lib/sqlalchemy/databases/mssql.py
index 206291404..52963794c 100644
--- a/lib/sqlalchemy/databases/mssql.py
+++ b/lib/sqlalchemy/databases/mssql.py
@@ -462,6 +462,10 @@ class MSSQLDialect(ansisql.ANSIDialect):
except Exception, e:
raise exceptions.SQLError(statement, parameters, e)
+ def table_names(self, connection, schema):
+ from sqlalchemy.databases import information_schema as ischema
+ return ischema.table_names(connection, schema)
+
def raw_connection(self, connection):
"""Pull the raw pymmsql connection out--sensative to "pool.ConnectionFairy" and pymssql.pymssqlCnx Classes"""
try:
@@ -495,6 +499,10 @@ class MSSQLDialect(ansisql.ANSIDialect):
row = c.fetchone()
return row is not None
+ def table_names(self, connection):
+ sql = "SELECT tablename FROM pg_tables WHERE schemaname = 'public'"
+ return [row[0] for row in connection.execute(s)]
+
def reflecttable(self, connection, table, include_columns):
import sqlalchemy.databases.information_schema as ischema