Index: symmetric-client/src/main/java/org/jumpmind/symmetric/io/MySqlBulkDatabaseWriter.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- symmetric-client/src/main/java/org/jumpmind/symmetric/io/MySqlBulkDatabaseWriter.java	(revision 9349)
+++ symmetric-client/src/main/java/org/jumpmind/symmetric/io/MySqlBulkDatabaseWriter.java	(revision )
@@ -128,10 +128,13 @@
                         writer.setForceQualifier(true);
                         writer.setNullString("\\N");
                         Column[] columns = targetTable.getColumns();
+                        boolean binaryFirst = false;
                         for (int i = 0; i < columns.length; i++) {
                             if (columns[i].isOfBinaryType() && parsedData[i] != null) {
                                 if (i > 0) {
                                         out.write(',');
+                                } else {
+                                    binaryFirst = true;
                                 }
                                 out.write('"');
                                 if (batch.getBinaryEncoding().equals(BinaryEncoding.HEX)) {
@@ -141,6 +144,10 @@
                                 }
                                 out.write('"');
                             } else {
+                                if (binaryFirst) {
+                                    out.write(',');
+                                    binaryFirst = false;
+                                }
                                 writer.write(parsedData[i], true);
                                 writer.flush();
                             }
@@ -173,7 +180,7 @@
             flush();
         }
     }
-    
+
     protected void flush() {
         if (loadedRows > 0) {
                 this.stagedInputFile.close();
@@ -190,7 +197,7 @@
 	            		(isReplace ? "REPLACE " : "IGNORE ") + "INTO TABLE " +
 	            		this.getTargetTable().getQualifiedTableName(quote, catalogSeparator, schemaSeparator) +
                                 " FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' ESCAPED BY '\\\\' LINES TERMINATED BY '\\n' STARTING BY ''" +
-                                " (" + Table.getCommaDeliminatedColumns(table.getColumns()) + ")";
+                                " (" + getCommaDeliminatedColumns(table.getColumns()) + ")";
 	            Statement stmt = c.createStatement();
 	
 	            //TODO:  clean this up, deal with errors, etc.?
@@ -228,6 +235,24 @@
     	//      but we don't want to depend on symmetric core.
         this.stagedInputFile = stagingManager.create(0, "bulkloaddir",
                 table.getName() + this.getBatch().getBatchId() + ".csv");
+    }
+
+    public String getCommaDeliminatedColumns(Column[] cols) {
+        DatabaseInfo dbInfo = platform.getDatabaseInfo();
+        String quote = dbInfo.getDelimiterToken();
+        StringBuilder columns = new StringBuilder();
+        if (cols != null && cols.length > 0) {
+            for (Column column : cols) {
+                columns.append(quote);
+                columns.append(column.getName());
+                columns.append(quote);
+                columns.append(",");
+            }
+            columns.replace(columns.length() - 1, columns.length(), "");
+            return columns.toString();
+        } else {
+            return " ";
+        }
     }
 
 }
