@@ -535,6 +535,14 @@ def get_table_comment(
535535 CAST(ep.value AS NVARCHAR(MAX)) comment
536536 FROM fn_listextendedproperty('MS_Description', 'schema', '{ schema_name } ', '{ kind } ', '{ table_name } ', DEFAULT, DEFAULT) ep
537537 """
538+ elif self .dialect == "db2" :
539+ # Db2 stores table/view remarks in SYSCAT.TABLES
540+ query = f"""
541+ SELECT TABNAME, REMARKS
542+ FROM SYSCAT.TABLES
543+ WHERE UPPER(TABSCHEMA) = '{ schema_name .upper ()} '
544+ AND UPPER(TABNAME) = '{ table_name .upper ()} '
545+ """
538546
539547 result = self .engine_adapter .fetchall (query )
540548
@@ -650,11 +658,19 @@ def get_column_comments(
650658 query = f"""
651659 SELECT
652660 col.COLUMN_NAME column_name,
653- CAST(ep.value AS NVARCHAR(MAX)) comment
661+ CAST(ep.value AS NVARCHAR(MAX)) comment
654662 FROM INFORMATION_SCHEMA.COLUMNS col
655663 CROSS APPLY fn_listextendedproperty('MS_Description', 'schema', col.TABLE_SCHEMA, '{ kind } ', col.TABLE_NAME, 'column', col.COLUMN_NAME) ep
656664 WHERE col.TABLE_SCHEMA = '{ schema_name } ' AND col.TABLE_NAME = '{ table_name } '
657665 """
666+ elif self .dialect == "db2" :
667+ # Db2 stores column remarks in SYSCAT.COLUMNS
668+ query = f"""
669+ SELECT COLNAME, REMARKS
670+ FROM SYSCAT.COLUMNS
671+ WHERE UPPER(TABSCHEMA) = '{ schema_name .upper ()} '
672+ AND UPPER(TABNAME) = '{ table_name .upper ()} '
673+ """
658674
659675 result = self .engine_adapter .fetchall (query )
660676
0 commit comments