(ctx context.Context, query string, args ...any)
| 94 | } |
| 95 | |
| 96 | func (d *Driver) queryStringValues(ctx context.Context, query string, args ...any) ([]string, error) { |
| 97 | rows, err := d.db.QueryContext(ctx, query, args...) |
| 98 | if err != nil { |
| 99 | return nil, err |
| 100 | } |
| 101 | defer rows.Close() |
| 102 | |
| 103 | var results []string |
| 104 | for rows.Next() { |
| 105 | var value string |
| 106 | if err := rows.Scan(&value); err != nil { |
| 107 | return nil, errors.Wrap(err, "failed to scan row") |
| 108 | } |
| 109 | results = append(results, value) |
| 110 | } |
| 111 | |
| 112 | if err := rows.Err(); err != nil { |
| 113 | return nil, errors.Wrap(err, "error during row iteration") |
| 114 | } |
| 115 | |
| 116 | return results, nil |
| 117 | } |
| 118 | |
| 119 | func (d *Driver) getCatalog(ctx context.Context) ([]string, error) { |
| 120 | query := "SELECT catalog_name FROM system.metadata.catalogs ORDER BY catalog_name" |
no test coverage detected