diff options
author | Feideus <erwan.ulrich@gmail.com> | 2018-09-19 11:33:40 +0200 |
---|---|---|
committer | Feideus <erwan.ulrich@gmail.com> | 2018-09-19 11:33:40 +0200 |
commit | f52f449f90e98e8fe50b29f94fe343ca245a12bc (patch) | |
tree | 096badf185e8bd101ed37ee64458d6f93ad0965d /src/main | |
parent | ec02a75317db983960d066606a552da6bd4e06a2 (diff) | |
download | schemafuzz-f52f449f90e98e8fe50b29f94fe343ca245a12bc.tar.gz schemafuzz-f52f449f90e98e8fe50b29f94fe343ca245a12bc.tar.bz2 schemafuzz-f52f449f90e98e8fe50b29f94fe343ca245a12bc.zip |
Adding full reverting mech
Diffstat (limited to 'src/main')
-rwxr-xr-x | src/main/java/org/schemaspy/DBFuzzer.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/org/schemaspy/DBFuzzer.java b/src/main/java/org/schemaspy/DBFuzzer.java index 26839ec..64ca58e 100755 --- a/src/main/java/org/schemaspy/DBFuzzer.java +++ b/src/main/java/org/schemaspy/DBFuzzer.java @@ -12,6 +12,7 @@ import org.schemaspy.model.Table; import org.schemaspy.model.GenericTree; import org.schemaspy.model.GenericTreeNode; import org.schemaspy.service.DatabaseService; +import org.schemaspy.service.SqlService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; @@ -253,7 +254,8 @@ public class DBFuzzer } } } - System.out.println("ending process"); + boolean tmp = revertToOriginalDatabaseState(mutationTree); + System.out.println(" reverting to original state ended up in "+tmp+"ending process"); return returnStatus; } @@ -469,6 +471,21 @@ public class DBFuzzer } } + public boolean revertToOriginalDatabaseState(GenericTree mutationTree) + { + int max = mutationTree.getLastId(); + boolean res= true; + int tmp; + + for (int i = max; i > 0; i--) + { + tmp = mutationTree.find(i).undo(analyzer.getSqlService(),analyzer.getDb(),mutationTree); + if(tmp == 0) + res = false; + } + return res; + } + public int nextId() { return mutationTree.getLastId()+1; |