in internal/database/sqlserver/sqlserver.go [130:150]
func (h sqlServerHandler) ListTables(db *database.DB) ([]string, error) {
query := "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = DB_NAME()"
rows, err := db.Query(query)
if err != nil {
return nil, fmt.Errorf("error querying tables: %w", err)
}
defer rows.Close()
var tables []string
for rows.Next() {
var tableName string
if err := rows.Scan(&tableName); err != nil {
return nil, fmt.Errorf("error scanning table name: %w", err)
}
tables = append(tables, tableName)
}
if err := rows.Err(); err != nil {
return nil, fmt.Errorf("error iterating table rows: %w", err)
}
return tables, nil
}