gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-schemafuzz] branch master updated: having trouble wi


From: gnunet
Subject: [GNUnet-SVN] [taler-schemafuzz] branch master updated: having trouble with fk handling
Date: Tue, 05 Jun 2018 13:22:15 +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 bb78491  having trouble with fk handling
bb78491 is described below

commit bb784914a7da98e8ac62ab8dba4439b90041bc77
Author: Feideus <address@hidden>
AuthorDate: Tue Jun 5 13:22:09 2018 +0200

    having trouble with fk handling
---
 .../java/org/schemaspy/model/GenericTreeNode.java  | 104 ++++++++++++---------
 1 file changed, 58 insertions(+), 46 deletions(-)

diff --git a/src/main/java/org/schemaspy/model/GenericTreeNode.java 
b/src/main/java/org/schemaspy/model/GenericTreeNode.java
index f193c3f..d76b396 100644
--- a/src/main/java/org/schemaspy/model/GenericTreeNode.java
+++ b/src/main/java/org/schemaspy/model/GenericTreeNode.java
@@ -399,7 +399,8 @@ public class GenericTreeNode {
                     || 
chosenChange.getParentTableColumn().getTypeName().equals("timestamp")
                     || 
chosenChange.getParentTableColumn().getTypeName().equals("date")
                     || 
chosenChange.getParentTableColumn().getTypeName().equals("_text")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("text"))
+                    || 
chosenChange.getParentTableColumn().getTypeName().equals("text")
+                    || 
chosenChange.getParentTableColumn().getTypeName().equals("fulltext"))
                 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() + ", ";
@@ -411,35 +412,36 @@ public class GenericTreeNode {
                     || 
chosenChange.getParentTableColumn().getTypeName().equals("timestamp")
                     || 
chosenChange.getParentTableColumn().getTypeName().equals("date")
                     || 
chosenChange.getParentTableColumn().getTypeName().equals("_text")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("text"))
+                    || 
chosenChange.getParentTableColumn().getTypeName().equals("text")
+                    || 
chosenChange.getParentTableColumn().getTypeName().equals("fulltext"))
                 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() + ", ";
         }
-        for (Map.Entry<String, Object> entry : 
initial_state_row.getContent().entrySet())
-        {
-            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"))
-                    theQuery = theQuery + (entry.getKey() + "='" + 
entry.getValue().toString() + "', ");
-                else
-                {
-                    if(entry.getValue() == null || entry.getValue().toString() 
== "" || entry.getValue().toString() == null)
-                    {
-                        String tmp = "null";
-                        theQuery = theQuery + (entry.getKey() + "=" + tmp+ ", 
"); // A CHANGER DURGENCE
-
-                    }
-                    else
-                        theQuery = theQuery + (entry.getKey() + "=" + 
entry.getValue().toString() + ", ");
-                }
-            }
-        }
+//        for (Map.Entry<String, Object> entry : 
initial_state_row.getContent().entrySet())
+//        {
+//            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"))
+//                    theQuery = theQuery + (entry.getKey() + "='" + 
entry.getValue().toString() + "', ");
+//                else
+//                {
+//                    if(entry.getValue() == null || 
entry.getValue().toString() == "" || entry.getValue().toString() == null)
+//                    {
+//                        String tmp = "null";
+//                        theQuery = theQuery + (entry.getKey() + "=" + tmp+ 
", "); // A CHANGER DURGENCE
+//
+//                    }
+//                    else
+//                        theQuery = theQuery + (entry.getKey() + "=" + 
entry.getValue().toString() + ", ");
+//                }
+//            }
+//        }
 
         theQuery = theQuery.substring(0, theQuery.lastIndexOf(","));
         theQuery = theQuery + " WHERE ";
@@ -454,17 +456,18 @@ public class GenericTreeNode {
                             || 
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("text")
+                            || 
chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("fulltext"))
                         theQuery = theQuery + (entry.getKey() + "='" + 
entry.getValue().toString() + "' AND ");
-                    else
-                    {
-                        if (entry.getValue() == null || 
entry.getValue().toString() == "" || entry.getValue().toString() == null) {
-                            String tmp = "null";
-                            theQuery = theQuery + (entry.getKey() + "=" + tmp 
+ " AND "); // A CHANGER DURGENCE
-
-                        } else
-                            theQuery = theQuery + (entry.getKey() + "=" + 
entry.getValue().toString() + " AND ");
-                    }
+//                    else
+//                    {
+//                        if (entry.getValue() == null || 
entry.getValue().toString() == "" || entry.getValue().toString() == null) {
+//                            String tmp = "null";
+//                            theQuery = theQuery + (entry.getKey() + "=" + 
tmp + " AND "); // A CHANGER DURGENCE
+//
+//                        } else
+//                            theQuery = theQuery + (entry.getKey() + "=" + 
entry.getValue().toString() + " AND ");
+//                    }
                 }
                 else
                 {
@@ -668,28 +671,36 @@ public class GenericTreeNode {
     public String updateQueryBuilderWrapper(boolean undo,Database db, 
SqlService sqlService)
     {
         String theQuery = "";
-        boolean hasFk = 
db.getLesForeignKeys().containsKey(chosenChange.getParentTableColumn().getName());
+        boolean hasFk = 
db.getLesForeignKeys().containsKey(chosenChange.getParentTableColumn().getTable().getName().toUpperCase());
 
         if(hasFk)
         {
             theQuery = "START TRANSACTION; SET CONSTRAINTS ALL DEFERRED;";
 
-            for(ForeignKeyConstraint fk : 
db.getLesForeignKeys().get(chosenChange.getParentTableColumn().getName()))
+            for(ForeignKeyConstraint fk : 
db.getLesForeignKeys().get(chosenChange.getParentTableColumn().getTable().getName().toUpperCase()))
             {
-                ArrayList<TableColumn> allChildrenAndParents = new 
ArrayList<TableColumn>();
-                allChildrenAndParents.addAll(fk.getChildColumns());
-                allChildrenAndParents.addAll(fk.getParentColumns());
-
-                for(TableColumn tb : allChildrenAndParents)
+                for(TableColumn tb : fk.getParentColumns())
                 {
-                    String semiQuery = "SELECT * FROM "+tb.getTable()+" WHERE 
"+tb.getName()+"="+chosenChange.getOldValue();
+                    String semiQuery = "SELECT * FROM "+tb.getTable()+" WHERE 
"+tb.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()+" '";
+                    else
+                        semiQuery = semiQuery +chosenChange.getOldValue();
+
                     QueryResponseParser qrp;
-                    QueryResponse response = null ;
+                    QueryResponse response=null;
                     try {
                         Statement stmt = 
sqlService.getConnection().createStatement();
                         ResultSet res = stmt.executeQuery(semiQuery);
                         qrp = new QueryResponseParser();
-                        response = qrp.parse(res,tb.getTable());
+                        ArrayList<Row> rows = new 
ArrayList<Row>(qrp.parse(res,tb.getTable()).getRows());
+                        response = new QueryResponse(rows,rows.size());
                     }
                     catch(Exception e)
                     {
@@ -714,6 +725,7 @@ public class GenericTreeNode {
         {
             theQuery = theQuery + " ; COMMIT TRANSACTION;";
         }
+        System.out.println("Total query = "+theQuery);
         return theQuery;
     }
 

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]