in internal/database/mysql/mysql.go [440:467]
func (h mysqlHandler) GenerateTableCommentSQL(db *database.DB, data *database.TableCommentData, enrichments map[string]bool) (string, error) {
if data == nil || data.TableName == "" {
return "", fmt.Errorf("table comment data cannot be nil or empty")
}
config := database.GetConfig()
newMetadataComment := h.generateTableMetadataComment(data, enrichments)
existingComment, err := h.GetTableComment(context.Background(), db, data.TableName)
if err != nil {
return "", err
}
finalComment := h.mergeComments(existingComment, newMetadataComment, config.UpdateExistingMode)
quotedComment, err := quotedCommentSQL(finalComment)
if err != nil {
return "", err
}
if finalComment == "" {
return "", nil
}
return fmt.Sprintf(
"ALTER TABLE %s COMMENT = %s;",
h.QuoteIdentifier(data.TableName),
quotedComment,
), nil
}