diff --git a/ibm_db_sa/reflection.py b/ibm_db_sa/reflection.py index 9340049..2aa6791 100644 --- a/ibm_db_sa/reflection.py +++ b/ibm_db_sa/reflection.py @@ -512,6 +512,7 @@ class AS400Reflector(BaseReflector): Column("TABLE_SCHEMA", CoerceUnicode, key="tabschema"), Column("TABLE_NAME", CoerceUnicode, key="tabname"), Column("TABLE_TYPE", CoerceUnicode, key="tabtype"), + Column("LONG_COMMENT", CoerceUnicode, key="remarks"), schema="QSYS2") sys_table_constraints = Table("SYSCST", ischema, @@ -616,7 +617,13 @@ def has_sequence(self, connection, sequence_name, schema=None): return c.first() is not None def get_table_comment(self, connection, table_name, schema=None, **kw): - raise NotImplementedError() + current_schema = self.denormalize_name(schema or self.default_schema_name) + table_name = self.denormalize_name(table_name) + systbl = self.sys_tables + query = sql.select(systbl.c.remarks).\ + where(systbl.c.tabschema == current_schema).\ + where(systbl.c.tabname == table_name) + return {'text': connection.execute(query).scalar()} @reflection.cache def get_sequence_names(self, connection, schema=None, **kw): @@ -884,6 +891,7 @@ class OS390Reflector(BaseReflector): Column("OWNERTYPE", CoerceUnicode, key="ownertype"), Column("TYPE", CoerceUnicode, key="type"), Column("STATUS", CoerceUnicode, key="status"), + Column("REMARKS", CoerceUnicode, key="remarks"), schema="SYSIBM") sys_indexes = Table("SYSINDEXES", ischema, @@ -993,7 +1001,13 @@ def get_schema_names(self, connection, **kw): return [self.normalize_name(r[0]) for r in connection.execute(query)] def get_table_comment(self, connection, table_name, schema=None, **kw): - raise NotImplementedError() + current_schema = self.denormalize_name(schema or self.default_schema_name) + table_name = self.denormalize_name(table_name) + systbl = self.sys_tables + query = sql.select(systbl.c.remarks).\ + where(systbl.c.tabschema == current_schema).\ + where(systbl.c.tabname == table_name) + return {'text': connection.execute(query).scalar()} @reflection.cache def get_table_names(self, connection, schema=None, **kw):