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

Function TransformDMLToSelect

backend/plugin/parser/mysql/backup.go:55–70  ·  view source on GitHub ↗
(ctx context.Context, tCtx base.TransformContext, statement string, sourceDatabase string, targetDatabase string, tablePrefix string)

Source from the content-addressed store, hash-verified

53}
54
55func TransformDMLToSelect(ctx context.Context, tCtx base.TransformContext, statement string, sourceDatabase string, targetDatabase string, tablePrefix string) ([]base.BackupStatement, error) {
56 var dbMetadata *model.DatabaseMetadata
57 if tCtx.GetDatabaseMetadataFunc != nil {
58 _, metadata, err := tCtx.GetDatabaseMetadataFunc(ctx, tCtx.InstanceID, sourceDatabase)
59 if err == nil {
60 dbMetadata = metadata
61 }
62 }
63
64 statementInfoList, err := prepareTransformation(sourceDatabase, statement, dbMetadata)
65 if err != nil {
66 return nil, errors.Wrap(err, "failed to prepare transformation")
67 }
68
69 return generateSQL(ctx, tCtx, statementInfoList, targetDatabase, tablePrefix)
70}
71
72func prepareTransformation(databaseName, statement string, dbMetadata *model.DatabaseMetadata) ([]StatementInfo, error) {
73 list, err := SplitSQL(statement)

Callers 1

TestBackupFunction · 0.70

Calls 3

prepareTransformationFunction · 0.70
generateSQLFunction · 0.70

Tested by 1

TestBackupFunction · 0.56