(statement string)
| 77 | } |
| 78 | |
| 79 | func 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 | |
| 101 | func 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) |
no test coverage detected