aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFeideus <erwan.ulrich@gmail.com>2018-06-12 13:54:23 +0200
committerFeideus <erwan.ulrich@gmail.com>2018-06-12 13:54:23 +0200
commit0d92809a929e9cea852d30e018db8059c7608972 (patch)
tree8bae8f1534193743dc5fec213248f9ba2cf1fe58 /src
parent26bd375c36ea05b2693581e839986eb0feef4988 (diff)
downloadschemafuzz-0d92809a929e9cea852d30e018db8059c7608972.tar.gz
schemafuzz-0d92809a929e9cea852d30e018db8059c7608972.tar.bz2
schemafuzz-0d92809a929e9cea852d30e018db8059c7608972.zip
fixed minor bugs.seems to be working flawlessly.
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/schemaspy/model/GenericTreeNode.java27
-rw-r--r--src/main/java/org/schemaspy/model/Row.java6
2 files changed, 18 insertions, 15 deletions
diff --git a/src/main/java/org/schemaspy/model/GenericTreeNode.java b/src/main/java/org/schemaspy/model/GenericTreeNode.java
index 2174d84..5a5025c 100644
--- a/src/main/java/org/schemaspy/model/GenericTreeNode.java
+++ b/src/main/java/org/schemaspy/model/GenericTreeNode.java
@@ -417,19 +417,20 @@ public class GenericTreeNode {
{
if (!entry.getKey().equals(chosenChange.getParentTableColumn().getName()))
{
- if (chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("varchar")
- || chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("bool")
- || chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("timestamp")
- || 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("email"))
- {
- if(entry.getValue() != null )
- theQuery = theQuery + (entry.getKey() + "='" + entry.getValue().toString() + "' AND ");
- else
- theQuery = theQuery + (entry.getKey() + "= null AND ");
+ if(chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()) != null) {// not very good, check why the field is null in the first place
+ if (chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("varchar")
+ || chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("bool")
+ || chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("timestamp")
+ || 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("email")) {
+ if (entry.getValue() != null)
+ theQuery = theQuery + (entry.getKey() + "='" + entry.getValue().toString() + "' AND ");
+ else
+ theQuery = theQuery + (entry.getKey() + "= null AND ");
+ }
}
}
else
diff --git a/src/main/java/org/schemaspy/model/Row.java b/src/main/java/org/schemaspy/model/Row.java
index a5858d7..a3d3ea3 100644
--- a/src/main/java/org/schemaspy/model/Row.java
+++ b/src/main/java/org/schemaspy/model/Row.java
@@ -92,17 +92,19 @@ public class Row
public boolean compare(Row initial_state_row)
{
-
if(content.size() != initial_state_row.getContent().size())
return false;
for(Map.Entry<String,Object> entry : content.entrySet())
{
+ if(initial_state_row.getContent().get(entry.getKey()) == null )
+ return false;
+
if(!initial_state_row.getContent().containsKey(entry.getKey()))
return false;
if(!initial_state_row.getContent().get(entry.getKey()).equals(entry.getValue()))
- return false;
+ return false;
}
return true;
}