in internal/database/sqlserver/sqlserver.go [504:529]
func (h sqlServerHandler) GetTableComment(ctx context.Context, db *database.DB, tableName string) (string, error) {
query := `
SELECT CAST(ep.value AS NVARCHAR(MAX))
FROM sys.extended_properties AS ep
INNER JOIN sys.tables AS t ON ep.major_id = t.object_id
INNER JOIN sys.schemas AS s ON t.schema_id = s.schema_id
WHERE ep.minor_id = 0
AND ep.name = 'MS_Description'
AND t.name = @tableName
AND s.name = 'dbo';
`
var comment sql.NullString
err := db.QueryRowContext(ctx, query, sql.Named("tableName", tableName)).Scan(&comment)
if err != nil {
if err == sql.ErrNoRows {
return "", nil // No comment, return empty string.
}
return "", fmt.Errorf("failed to retrieve table comment: %w", err)
}
if comment.Valid {
return comment.String, nil
}
return "", nil // Comment is NULL.
}