]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
raise NoSuchTableError in reflecttable
authorRandall Smith <randall@tnr.cc>
Thu, 23 Apr 2009 02:46:19 +0000 (02:46 +0000)
committerRandall Smith <randall@tnr.cc>
Thu, 23 Apr 2009 02:46:19 +0000 (02:46 +0000)
lib/sqlalchemy/engine/reflection.py

index a02a1c8b774d78b59921de9d0610457ddede00fd..372d0e3f49a57796db8fbba558ca1ef6b1a300d8 100644 (file)
@@ -19,7 +19,7 @@ methods such as get_table_names, get_columns, etc.
 """
 
 import sqlalchemy
-from sqlalchemy import sql
+from sqlalchemy import exc, sql
 from sqlalchemy import util
 from sqlalchemy.types import TypeEngine
 from sqlalchemy import schema as sa_schema
@@ -282,7 +282,9 @@ class Inspector(object):
             table_name = table_name.decode(self.dialect.encoding)
         # end Py2K
         # columns
+        found_table = False
         for col_d in self.get_columns(table_name, schema, **tblkw):
+            found_table = True
             name = col_d['name']
             coltype = col_d['type']
             nullable = col_d['nullable']
@@ -305,6 +307,9 @@ class Inspector(object):
                     colargs.append(sa_schema.DefaultClause(sql.text(default)))
             table.append_column(sa_schema.Column(name, coltype,
                                 nullable=nullable, *colargs, **col_kw))
+
+        if not found_table:
+            raise exc.NoSuchTableError(table.name)
         # Primary keys
         for pk in self.get_primary_keys(table_name, schema, **tblkw):
             if pk in table.c: