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

Function TransformDMLToSelect

backend/plugin/parser/tidb/backup.go:48–63  ·  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

46}
47
48func TransformDMLToSelect(ctx context.Context, tCtx base.TransformContext, statement string, sourceDatabase string, targetDatabase string, tablePrefix string) ([]base.BackupStatement, error) {
49 var dbMetadata *model.DatabaseMetadata
50 if tCtx.GetDatabaseMetadataFunc != nil {
51 _, metadata, err := tCtx.GetDatabaseMetadataFunc(ctx, tCtx.InstanceID, sourceDatabase)
52 if err == nil {
53 dbMetadata = metadata
54 }
55 }
56
57 statementInfoList, err := prepareTransformation(sourceDatabase, statement, dbMetadata, tCtx.IsCaseSensitive)
58 if err != nil {
59 return nil, errors.Wrap(err, "failed to prepare transformation")
60 }
61
62 return generateSQL(ctx, tCtx, statementInfoList, targetDatabase, tablePrefix)
63}
64
65func prepareTransformation(databaseName, statement string, dbMetadata *model.DatabaseMetadata, isCaseSensitive bool) ([]statementInfo, error) {
66 list, err := SplitSQL(statement)

Callers 3

TestBackupFunction · 0.70

Calls 3

prepareTransformationFunction · 0.70
generateSQLFunction · 0.70

Tested by 3

TestBackupFunction · 0.56