(engine storepb.Engine, origin parserbase.SourceColumnSet, schema *model.SchemaMetadata)
| 582 | } |
| 583 | |
| 584 | func generateNewSourceColumnSet(engine storepb.Engine, origin parserbase.SourceColumnSet, schema *model.SchemaMetadata) parserbase.SourceColumnSet { |
| 585 | result := make(parserbase.SourceColumnSet) |
| 586 | for column := range origin { |
| 587 | if isBackupTable(engine, column) { |
| 588 | tableSchema := schema.GetTable(column.Table) |
| 589 | if tableSchema == nil { |
| 590 | result[column] = true |
| 591 | continue |
| 592 | } |
| 593 | sourceDatabase, sourceSchema, sourceTable, err := extractSourceTable(tableSchema.GetTableComment()) |
| 594 | if err != nil { |
| 595 | slog.Debug("failed to extract source table", log.BBError(err)) |
| 596 | result[column] = true |
| 597 | continue |
| 598 | } |
| 599 | newColumn := generateNewColumn(engine, column, sourceDatabase, sourceSchema, sourceTable) |
| 600 | result[newColumn] = true |
| 601 | } else { |
| 602 | result[column] = true |
| 603 | } |
| 604 | } |
| 605 | return result |
| 606 | } |
| 607 | |
| 608 | func generateNewColumn(engine storepb.Engine, column parserbase.ColumnResource, database, schema, table string) parserbase.ColumnResource { |
| 609 | switch engine { |
no test coverage detected