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

Function findFirstOracleDMLOnce

backend/plugin/parser/plsql/restore.go:79–99  ·  view source on GitHub ↗
(statement string)

Source from the content-addressed store, hash-verified

77}
78
79func findFirstOracleDMLOnce(statement string) (oracleast.StmtNode, error) {
80 list, err := ParsePLSQLOmni(statement)
81 if err != nil {
82 return nil, err
83 }
84 if list == nil {
85 return nil, nil
86 }
87 for _, item := range list.Items {
88 raw, ok := item.(*oracleast.RawStmt)
89 if !ok || raw.Stmt == nil {
90 continue
91 }
92 switch raw.Stmt.(type) {
93 case *oracleast.UpdateStmt, *oracleast.DeleteStmt:
94 return raw.Stmt, nil
95 default:
96 }
97 }
98 return nil, nil
99}
100
101func doGenerate(ctx context.Context, rCtx base.RestoreContext, sqlForComment string, node oracleast.StmtNode, backupItem *storepb.PriorBackupDetail_Item) (string, error) {
102 _, sourceDatabase, err := common.GetInstanceDatabaseID(backupItem.SourceTable.Database)

Callers 1

findFirstOracleDMLFunction · 0.85

Calls 1

ParsePLSQLOmniFunction · 0.85

Tested by

no test coverage detected