@@ -554,6 +554,19 @@ def getColumns(self, onlyColNames=False, colTuple=None, bruteForce=None):
554554 name = safeSQLIdentificatorNaming (columnData [0 ])
555555
556556 if name :
557+ if conf .getComments :
558+ _ = queries [Backend .getIdentifiedDbms ()].column_comment
559+ if hasattr (_ , "query" ):
560+ if Backend .getIdentifiedDbms () in (DBMS .ORACLE , DBMS .DB2 ):
561+ query = _ .query % (unsafeSQLIdentificatorNaming (conf .db .upper ()), unsafeSQLIdentificatorNaming (tbl .upper ()), unsafeSQLIdentificatorNaming (name .upper ()))
562+ else :
563+ query = _ .query % (unsafeSQLIdentificatorNaming (conf .db ), unsafeSQLIdentificatorNaming (tbl ), unsafeSQLIdentificatorNaming (name ))
564+ comment = unArrayizeValue (inject .getValue (query , blind = False , time = False ))
565+ else :
566+ warnMsg = "on %s it is not " % Backend .getIdentifiedDbms ()
567+ warnMsg += "possible to get column comments"
568+ singleTimeWarnMessage (warnMsg )
569+
557570 if len (columnData ) == 1 :
558571 columns [name ] = None
559572 else :
@@ -666,6 +679,19 @@ def getColumns(self, onlyColNames=False, colTuple=None, bruteForce=None):
666679 column = unArrayizeValue (inject .getValue (query , union = False , error = False ))
667680
668681 if not isNoneValue (column ):
682+ if conf .getComments :
683+ _ = queries [Backend .getIdentifiedDbms ()].column_comment
684+ if hasattr (_ , "query" ):
685+ if Backend .getIdentifiedDbms () in (DBMS .ORACLE , DBMS .DB2 ):
686+ query = _ .query % (unsafeSQLIdentificatorNaming (conf .db .upper ()), unsafeSQLIdentificatorNaming (tbl .upper ()), unsafeSQLIdentificatorNaming (column .upper ()))
687+ else :
688+ query = _ .query % (unsafeSQLIdentificatorNaming (conf .db ), unsafeSQLIdentificatorNaming (tbl ), unsafeSQLIdentificatorNaming (column ))
689+ comment = unArrayizeValue (inject .getValue (query , union = False , error = False ))
690+ else :
691+ warnMsg = "on %s it is not " % Backend .getIdentifiedDbms ()
692+ warnMsg += "possible to get column comments"
693+ singleTimeWarnMessage (warnMsg )
694+
669695 if not onlyColNames :
670696 if Backend .getIdentifiedDbms () in (DBMS .MYSQL , DBMS .PGSQL ):
671697 query = rootQuery .blind .query2 % (unsafeSQLIdentificatorNaming (tbl ), column , unsafeSQLIdentificatorNaming (conf .db ))
0 commit comments