summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorFeideus <erwan.ulrich@gmail.com>2018-06-10 19:28:22 +0200
committerFeideus <erwan.ulrich@gmail.com>2018-06-10 19:28:22 +0200
commit0388c2da046c0061e38e89f7556fa0c9ac3737f1 (patch)
tree3d86313fb8e1d5354b0217958569f06d46542b29 /src/main
parent8f232dc8fa87c674fc4e4fec18957df286913da8 (diff)
downloadschemafuzz-0388c2da046c0061e38e89f7556fa0c9ac3737f1.tar.gz
schemafuzz-0388c2da046c0061e38e89f7556fa0c9ac3737f1.tar.bz2
schemafuzz-0388c2da046c0061e38e89f7556fa0c9ac3737f1.zip
NullPointerExeption. Unique key violated .
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/schemaspy/DBFuzzer.java3
-rw-r--r--src/main/java/org/schemaspy/model/GenericTreeNode.java20
2 files changed, 14 insertions, 9 deletions
diff --git a/src/main/java/org/schemaspy/DBFuzzer.java b/src/main/java/org/schemaspy/DBFuzzer.java
index 825db44..bf5d0f1 100644
--- a/src/main/java/org/schemaspy/DBFuzzer.java
+++ b/src/main/java/org/schemaspy/DBFuzzer.java
@@ -337,7 +337,8 @@ public class DBFuzzer
nextMut.setChosenChange(tmp);
nextMut.initPostChangeRow();
}
- else {
+ else
+ {
Row nextRow;
do
{
diff --git a/src/main/java/org/schemaspy/model/GenericTreeNode.java b/src/main/java/org/schemaspy/model/GenericTreeNode.java
index 8839d82..51f6516 100644
--- a/src/main/java/org/schemaspy/model/GenericTreeNode.java
+++ b/src/main/java/org/schemaspy/model/GenericTreeNode.java
@@ -389,7 +389,8 @@ public class GenericTreeNode {
|| chosenChange.getParentTableColumn().getTypeName().equals("date")
|| chosenChange.getParentTableColumn().getTypeName().equals("_text")
|| chosenChange.getParentTableColumn().getTypeName().equals("text")
- || chosenChange.getParentTableColumn().getTypeName().equals("fulltext"))
+ || chosenChange.getParentTableColumn().getTypeName().equals("fulltext")
+ || chosenChange.getParentTableColumn().getTypeName().equals("email"))
theQuery = "UPDATE " + initial_state_row.getParentTable().getName() + " SET " + chosenChange.getParentTableColumn().getName() + "='" + chosenChange.getOldValue().toString() + "', ";
else
theQuery = "UPDATE " + initial_state_row.getParentTable().getName() + " SET " + chosenChange.getParentTableColumn().getName() + " = " + chosenChange.getOldValue().toString() + ", ";
@@ -402,7 +403,8 @@ public class GenericTreeNode {
|| chosenChange.getParentTableColumn().getTypeName().equals("date")
|| chosenChange.getParentTableColumn().getTypeName().equals("_text")
|| chosenChange.getParentTableColumn().getTypeName().equals("text")
- || chosenChange.getParentTableColumn().getTypeName().equals("fulltext"))
+ || chosenChange.getParentTableColumn().getTypeName().equals("fulltext")
+ || chosenChange.getParentTableColumn().getTypeName().equals("email"))
theQuery = "UPDATE " + initial_state_row.getParentTable().getName() + " SET " + chosenChange.getParentTableColumn().getName() + "='" + chosenChange.getNewValue().toString() + "', ";
else
theQuery = "UPDATE " + initial_state_row.getParentTable().getName() + " SET " + chosenChange.getParentTableColumn().getName() + "=" + chosenChange.getNewValue().toString() + ", ";
@@ -421,7 +423,8 @@ public class GenericTreeNode {
|| chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("date")
|| chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("_text")
|| chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("text")
- || chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("fulltext"))
+ || chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("fulltext")
+ || chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("email"))
theQuery = theQuery + (entry.getKey() + "='" + entry.getValue().toString() + "' AND ");
}
else
@@ -720,17 +723,18 @@ public class GenericTreeNode {
}
}
- String semiQuery = "SELECT * FROM " + chosenChange.getParentTableColumn().getTable().getName() + " WHERE " + chosenChange.getParentTableColumn().getName() + "=";
+ String semiQuery = "SELECT * FROM " + chosenChange.getParentTableColumn().getTable().getName() ;
if (chosenChange.getParentTableColumn().getTypeName().equals("varchar")
|| chosenChange.getParentTableColumn().getTypeName().equals("bool")
|| chosenChange.getParentTableColumn().getTypeName().equals("timestamp")
|| chosenChange.getParentTableColumn().getTypeName().equals("date")
|| chosenChange.getParentTableColumn().getTypeName().equals("_text")
|| chosenChange.getParentTableColumn().getTypeName().equals("text")
- || chosenChange.getParentTableColumn().getTypeName().equals("fulltext"))
- semiQuery = semiQuery + chosenChange.getOldValue() + "' ";
+ || chosenChange.getParentTableColumn().getTypeName().equals("fulltext")
+ || chosenChange.getParentTableColumn().getTypeName().equals("email"))
+ semiQuery = semiQuery + " WHERE " + chosenChange.getParentTableColumn().getName() + "= '"+chosenChange.getOldValue() + " '";
else
- semiQuery = semiQuery + chosenChange.getOldValue();
+ semiQuery = semiQuery + " WHERE " + chosenChange.getParentTableColumn().getName() + "="+chosenChange.getOldValue();
@@ -744,7 +748,7 @@ public class GenericTreeNode {
e.printStackTrace();
}
- initial_state_row = response.getRows().get(0);
+ initial_state_row = response.getRows().get(0); // there should be only one row.
}
public boolean checkIfHasParentFk(Database db)