TransformDMLToSelect transforms DML statement to SELECT statement. For Oracle, we only consider the managed on schema mode.
(_ context.Context, tCtx base.TransformContext, statement string, sourceDatabase string, targetDatabase string, tablePrefix string)
| 57 | // TransformDMLToSelect transforms DML statement to SELECT statement. |
| 58 | // For Oracle, we only consider the managed on schema mode. |
| 59 | func TransformDMLToSelect(_ context.Context, tCtx base.TransformContext, statement string, sourceDatabase string, targetDatabase string, tablePrefix string) ([]base.BackupStatement, error) { |
| 60 | statementInfoList, err := prepareTransformation(sourceDatabase, statement) |
| 61 | if err != nil { |
| 62 | return nil, errors.Wrap(err, "failed to prepare transformation") |
| 63 | } |
| 64 | |
| 65 | return generateSQL(tCtx, statementInfoList, targetDatabase, tablePrefix) |
| 66 | } |
| 67 | |
| 68 | func generateSQL(ctx base.TransformContext, statementInfoList []statementInfo, targetDatabase string, tablePrefix string) ([]base.BackupStatement, error) { |
| 69 | groupByTable := make(map[string][]statementInfo) |