This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch rel/0.9
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/rel/0.9 by this push:
     new f188200  fix export csv. (#663)
f188200 is described below

commit f1882000f78f53c49c6487298a176956b0a6da96
Author: Boris <[email protected]>
AuthorDate: Tue Dec 17 20:00:40 2019 +0800

    fix export csv. (#663)
    
    (cherry picked from commit 3965328dc3655732da9ab03864c0536face1b011)
---
 .../src/main/java/org/apache/iotdb/tool/ExportCsv.java | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/client/src/main/java/org/apache/iotdb/tool/ExportCsv.java 
b/client/src/main/java/org/apache/iotdb/tool/ExportCsv.java
index 1a96130..eda7f37 100644
--- a/client/src/main/java/org/apache/iotdb/tool/ExportCsv.java
+++ b/client/src/main/java/org/apache/iotdb/tool/ExportCsv.java
@@ -30,9 +30,12 @@ import java.sql.ResultSet;
 import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.sql.Statement;
+import java.sql.Types;
 import java.time.Instant;
 import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
 import jline.console.ConsoleReader;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.CommandLineParser;
@@ -74,6 +77,8 @@ public class ExportCsv extends AbstractCsvTool {
 
   private static String TIMESTAMP_PRECISION = "ms";
 
+  private static List<Integer> typeList = new ArrayList<>();
+
   /**
    * main function of export csv tool.
    */
@@ -290,6 +295,7 @@ public class ExportCsv extends AbstractCsvTool {
       } else {
         bw.write(metadata.getColumnLabel(i) + "\n");
       }
+      typeList.add(metadata.getColumnType(i));
     }
   }
 
@@ -346,13 +352,21 @@ public class ExportCsv extends AbstractCsvTool {
         if ("null".equals(rs.getString(j))) {
           bw.write(",");
         } else {
-          bw.write(rs.getString(j) + ",");
+          if(typeList.get(j-1) == Types.VARCHAR) {
+            bw.write("\'" + rs.getString(j) + "\'"+ ",");
+          } else {
+            bw.write(rs.getString(j) + ",");
+          }
         }
       } else {
         if ("null".equals(rs.getString(j))) {
           bw.write("\n");
         } else {
-          bw.write(rs.getString(j) + "\n");
+          if(typeList.get(j-1) == Types.VARCHAR) {
+            bw.write("\'" + rs.getString(j) + "\'"+ "\n");
+          } else {
+            bw.write(rs.getString(j) + "\n");
+          }
         }
       }
     }

Reply via email to