summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorFeideus <erwan.ulrich@gmail.com>2018-09-19 11:33:40 +0200
committerFeideus <erwan.ulrich@gmail.com>2018-09-19 11:33:40 +0200
commitf52f449f90e98e8fe50b29f94fe343ca245a12bc (patch)
tree096badf185e8bd101ed37ee64458d6f93ad0965d /src/main
parentec02a75317db983960d066606a552da6bd4e06a2 (diff)
downloadschemafuzz-f52f449f90e98e8fe50b29f94fe343ca245a12bc.tar.gz
schemafuzz-f52f449f90e98e8fe50b29f94fe343ca245a12bc.tar.bz2
schemafuzz-f52f449f90e98e8fe50b29f94fe343ca245a12bc.zip
Adding full reverting mech
Diffstat (limited to 'src/main')
-rwxr-xr-xsrc/main/java/org/schemaspy/DBFuzzer.java19
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;