MCPcopy Create free account
hub / github.com/bytebase/bytebase / generateNewSourceColumnSet

Function generateNewSourceColumnSet

backend/api/v1/sql_service.go:584–606  ·  view source on GitHub ↗
(engine storepb.Engine, origin parserbase.SourceColumnSet, schema *model.SchemaMetadata)

Source from the content-addressed store, hash-verified

582}
583
584func 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
608func generateNewColumn(engine storepb.Engine, column parserbase.ColumnResource, database, schema, table string) parserbase.ColumnResource {
609 switch engine {

Callers 1

Calls 7

BBErrorFunction · 0.92
isBackupTableFunction · 0.85
extractSourceTableFunction · 0.85
generateNewColumnFunction · 0.85
GetTableCommentMethod · 0.80
DebugMethod · 0.80
GetTableMethod · 0.45

Tested by

no test coverage detected