| 275 | } |
| 276 | |
| 277 | func DedicatedColumnsFromTempopb(tempopbCols []*tempopb.DedicatedColumn) (DedicatedColumns, error) { |
| 278 | cols := make(DedicatedColumns, 0, len(tempopbCols)) |
| 279 | |
| 280 | for _, c := range tempopbCols { |
| 281 | scope, err := DedicatedColumnScopeFromTempopb(c.Scope) |
| 282 | if err != nil { |
| 283 | return nil, fmt.Errorf("unable to convert dedicated column '%s': %w", c.Name, err) |
| 284 | } |
| 285 | |
| 286 | typ, err := DedicatedColumnTypeFromTempopb(c.Type) |
| 287 | if err != nil { |
| 288 | return nil, fmt.Errorf("unable to convert dedicated column '%s': %w", c.Name, err) |
| 289 | } |
| 290 | |
| 291 | options := DedicatedColumnOptionsFromTempopb(c.Options) |
| 292 | |
| 293 | cols = append(cols, DedicatedColumn{ |
| 294 | Scope: scope, |
| 295 | Name: c.Name, |
| 296 | Type: typ, |
| 297 | Options: options, |
| 298 | }) |
| 299 | } |
| 300 | |
| 301 | return cols, nil |
| 302 | } |
| 303 | |
| 304 | func (dcs DedicatedColumns) ToTempopb() ([]*tempopb.DedicatedColumn, error) { |
| 305 | tempopbCols := make([]*tempopb.DedicatedColumn, 0, len(dcs)) |