Changeset: 4222cdc6fdcd for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4222cdc6fdcd
Modified Files:
        sql/backends/monet5/sql_result.c
Branch: Dec2016
Log Message:

Check for more weird characters in column name and simplify code.


diffs (31 lines):

diff --git a/sql/backends/monet5/sql_result.c b/sql/backends/monet5/sql_result.c
--- a/sql/backends/monet5/sql_result.c
+++ b/sql/backends/monet5/sql_result.c
@@ -1758,21 +1758,16 @@ mvc_export_head(backend *b, stream *s, i
        for (i = 0; i < t->nr_cols; i++) {
                res_col *c = t->cols + i;
 
-               if (strchr(c->name, ',') || strchr(c->name, ' ') || 
strchr(c->name , '\t') || strchr(c->name, '#')) {
+               if (strpbrk(c->name, ", \t#\"\\")) {
+                       char *p;
                        if (mnstr_write(s, "\"", 1, 1) != 1)
                                return -1;
-                       if (strchr(c->name, '"')) {
-                               char *p;
-                               for (p = c->name; *p; p++) {
-                                       if (*p == '"') {
-                                               if (mnstr_write(s, "\\", 1, 1) 
!= 1)
-                                                       return -1;
-                                       }
-                                       if (mnstr_write(s, p, 1, 1) != 1)
+                       for (p = c->name; *p; p++) {
+                               if (*p == '"' || *p == '\\') {
+                                       if (mnstr_write(s, "\\", 1, 1) != 1)
                                                return -1;
                                }
-                       } else {
-                               if (mnstr_write(s, c->name, strlen(c->name), 1) 
!= 1)
+                               if (mnstr_write(s, p, 1, 1) != 1)
                                        return -1;
                        }
                        if (mnstr_write(s, "\"", 1, 1) != 1)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to