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

Function findFirstDML

backend/plugin/parser/mysql/restore.go:48–64  ·  view source on GitHub ↗
(statement string)

Source from the content-addressed store, hash-verified

46}
47
48func findFirstDML(statement string) (ast.Node, error) {
49 stmtList, err := ParseMySQLOmni(statement)
50 if err != nil {
51 return nil, errors.Wrap(err, "failed to parse statement")
52 }
53 if stmtList == nil {
54 return nil, nil
55 }
56 for _, item := range stmtList.Items {
57 switch item.(type) {
58 case *ast.UpdateStmt, *ast.DeleteStmt:
59 return item, nil
60 default:
61 }
62 }
63 return nil, nil
64}
65
66func doGenerate(ctx context.Context, rCtx base.RestoreContext, sqlForComment string, node ast.Node, backupItem *storepb.PriorBackupDetail_Item) (string, error) {
67 _, sourceDatabase, err := common.GetInstanceDatabaseID(backupItem.SourceTable.Database)

Callers 1

GenerateRestoreSQLFunction · 0.85

Calls 1

ParseMySQLOmniFunction · 0.85

Tested by

no test coverage detected