Author: kwright
Date: Mon Feb 10 21:52:27 2014
New Revision: 1566761

URL: http://svn.apache.org/r1566761
Log:
Fix for CONNECTORS-887.

Modified:
    manifoldcf/trunk/CHANGES.txt
    
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java

Modified: manifoldcf/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/CHANGES.txt?rev=1566761&r1=1566760&r2=1566761&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Mon Feb 10 21:52:27 2014
@@ -3,6 +3,9 @@ $Id$
 
 ======================= 1.6-dev =====================
 
+CONNECTORS-887: Upgrade issues with MySQL.
+(Florian Schmedding, Karl Wright)
+
 CONNECTORS-885: Handle errors during startup better.
 (Karl Wright)
 

Modified: 
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java?rev=1566761&r1=1566760&r2=1566761&view=diff
==============================================================================
--- 
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java
 (original)
+++ 
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java
 Mon Feb 10 21:52:27 2014
@@ -338,13 +338,13 @@ public class DBInterfaceMySQL extends Da
         queryBuffer.append(',');
       else
         first = false;
-      appendDescription(queryBuffer,columnName,cd,false);
+      appendDescription(queryBuffer,columnName,cd,false,true);
     }
     queryBuffer.append(')');
     performModification(queryBuffer.toString(),null,invalidateKeys);
   }
 
-  protected static void appendDescription(StringBuilder queryBuffer, String 
columnName, ColumnDescription cd, boolean forceNull)
+  protected static void appendDescription(StringBuilder queryBuffer, String 
columnName, ColumnDescription cd, boolean forceNull, boolean includeRestrict)
   {
     queryBuffer.append(columnName);
     queryBuffer.append(' ');
@@ -355,7 +355,7 @@ public class DBInterfaceMySQL extends Da
       queryBuffer.append(" NOT NULL");
     if (cd.getIsPrimaryKey())
       queryBuffer.append(" PRIMARY KEY");
-    if (cd.getReferenceTable() != null)
+    if (cd.getReferenceTable() != null && includeRestrict)
     {
       queryBuffer.append(" REFERENCES ");
       queryBuffer.append(cd.getReferenceTable());
@@ -419,8 +419,8 @@ public class DBInterfaceMySQL extends Da
           String columnName = iter.next();
           ColumnDescription cd = columnModifyMap.get(columnName);
           StringBuilder sb = new StringBuilder();
-          appendDescription(sb,columnName,cd,false);
-          performModification("ALTER TABLE "+tableName+" MODIFY 
"+sb.toString(),null,invalidateKeys);
+          appendDescription(sb,columnName,cd,false,false);
+          performModification("ALTER TABLE "+tableName+" CHANGE "+columnName+" 
"+sb.toString(),null,invalidateKeys);
         }
       }
 
@@ -433,7 +433,7 @@ public class DBInterfaceMySQL extends Da
           String columnName = iter.next();
           ColumnDescription cd = columnMap.get(columnName);
           StringBuilder sb = new StringBuilder();
-          appendDescription(sb,columnName,cd,false);
+          appendDescription(sb,columnName,cd,false,true);
           performModification("ALTER TABLE "+tableName+" ADD 
"+sb.toString(),null,invalidateKeys);
         }
       }


Reply via email to