[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-schemafuzz] branch master updated: Loop is working.
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-schemafuzz] branch master updated: Loop is working. still crashes on some mutations. |
Date: |
Mon, 11 Jun 2018 17:53:24 +0200 |
This is an automated email from the git hooks/post-receive script.
erwan-ulrich pushed a commit to branch master
in repository schemafuzz.
The following commit(s) were added to refs/heads/master by this push:
new fcccf4d Loop is working. still crashes on some mutations.
fcccf4d is described below
commit fcccf4d6459024123f2f406086c2d93532b642a2
Author: Feideus <address@hidden>
AuthorDate: Mon Jun 11 17:53:18 2018 +0200
Loop is working. still crashes on some mutations.
---
firstUnusedId.sh | 1 +
.../java/org/schemaspy/model/GenericTreeNode.java | 64 ++++++++++++++++++++++
.../java/org/schemaspy/model/SingleChange.java | 5 ++
3 files changed, 70 insertions(+)
diff --git a/firstUnusedId.sh b/firstUnusedId.sh
new file mode 100644
index 0000000..56d96c9
--- /dev/null
+++ b/firstUnusedId.sh
@@ -0,0 +1 @@
+psql -U feideus -d sample_database2 -c "\i tryout.sql" | sed '3q;d'
diff --git a/src/main/java/org/schemaspy/model/GenericTreeNode.java
b/src/main/java/org/schemaspy/model/GenericTreeNode.java
index 23d29f7..2ba8723 100644
--- a/src/main/java/org/schemaspy/model/GenericTreeNode.java
+++ b/src/main/java/org/schemaspy/model/GenericTreeNode.java
@@ -1,6 +1,8 @@
package org.schemaspy.model;
+import java.io.BufferedReader;
import java.io.IOException;
+import java.io.InputStreamReader;
import java.sql.*;
import java.text.SimpleDateFormat;
@@ -749,7 +751,49 @@ public class GenericTreeNode {
e.printStackTrace();
}
+
+
initial_state_row = response.getRows().get(0); // there should be only
one row.
+
+
+
+ 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")
+ ||
chosenChange.getParentTableColumn().getTypeName().equals("email"))
+ semiQuery = semiQuery + " WHERE " +
chosenChange.getParentTableColumn().getName() + "=
'"+chosenChange.getNewValue() + " '";
+ else
+ semiQuery = semiQuery + " WHERE " +
chosenChange.getParentTableColumn().getName() + "="+chosenChange.getNewValue();
+
+ try {
+ Statement stmt = sqlService.getConnection().createStatement();
+ ResultSet res = stmt.executeQuery(semiQuery);
+ qrp = new QueryResponseParser();
+ ArrayList<Row> rows = new ArrayList<Row>(qrp.parse(res,
chosenChange.getParentTableColumn().getTable()).getRows());
+ response = new QueryResponse(rows);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ if(!response.getRows().isEmpty())
+ {
+ try
+ {
+ Process fuID = new ProcessBuilder("/bin/bash",
"firstUnusedId.sh").start();
+ String newValueAsString = getScriptResponse(fuID);
+ int newValue =
Integer.parseInt(newValueAsString.replaceAll("\\s+",""));
+ chosenChange.setNewValue(newValue);
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
}
public boolean checkIfHasParentFk(Database db)
@@ -807,4 +851,24 @@ public class GenericTreeNode {
}
return newPossibilities;
}
+
+ public String getScriptResponse(Process p)
+ {
+ String response = "";
+ try
+ {
+
+ BufferedReader r = new BufferedReader(new
InputStreamReader(p.getInputStream()));
+ String line;
+ while ((line = r.readLine())!=null) {
+ response = response+line;
+ }
+ r.close();
+ }
+ catch(Exception e)
+ {
+ System.out.println("error while reading process output"+e);
+ }
+ return response;
+ }
}
diff --git a/src/main/java/org/schemaspy/model/SingleChange.java
b/src/main/java/org/schemaspy/model/SingleChange.java
index 897b517..0463797 100644
--- a/src/main/java/org/schemaspy/model/SingleChange.java
+++ b/src/main/java/org/schemaspy/model/SingleChange.java
@@ -64,6 +64,10 @@ public class SingleChange
return parentTableColumn;
}
+ public void setNewValue(Object newValue) {
+ this.newValue = newValue;
+ }
+
public boolean compare(SingleChange chosenChange)
{
if(chosenChange == null || this == null )
@@ -78,6 +82,7 @@ public class SingleChange
if(!chosenChange.getParentTableColumn().getName().equals(this.getParentTableColumn().getName()))
return false;
+
return true;
}
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [taler-schemafuzz] branch master updated: Loop is working. still crashes on some mutations.,
gnunet <=