Changeset: aeee8e3867eb for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/aeee8e3867eb
Modified Files:
        sql/backends/monet5/vaults/csv/csv.c
Branch: Dec2023
Log Message:

backported some fixes for csv file loader.


diffs (36 lines):

diff --git a/sql/backends/monet5/vaults/csv/csv.c 
b/sql/backends/monet5/vaults/csv/csv.c
--- a/sql/backends/monet5/vaults/csv/csv.c
+++ b/sql/backends/monet5/vaults/csv/csv.c
@@ -44,7 +44,7 @@ next_delim(const char *s, const char *e,
                else if (!inquote && *s == delim)
                        return s;
        }
-       if (s < e)
+       if (s <= e)
                return s;
        return NULL;
 }
@@ -344,6 +344,12 @@ detect_types(const char *buf, char delim
                        types = ntypes;
                nr_lines++;
        }
+       if (types) { /* NULL -> STRING */
+               for(int i = 0; i<nr_fields; i++) {
+                       if (types[i].type == CSV_NULL)
+                               types[i].type = CSV_STRING;
+               }
+       }
        return types;
 }
 
@@ -435,7 +441,9 @@ csv_relation(mvc *sql, sql_subfunc *f, c
                                extra_tsep = true;
                        } else if (t) {
                                list_append(typelist, t);
-                               list_append(res_exps, exp_column(sql->sa, NULL, 
name, t, CARD_MULTI, 1, 0, 0));
+                               sql_exp *ne = exp_column(sql->sa, tname, name, 
t, CARD_MULTI, 1, 0, 0);
+                               set_basecol(ne);
+                               list_append(res_exps, ne);
                        } else {
                                GDKfree(types);
                                throw(SQL, SQLSTATE(42000), "csv" "type %s not 
found\n", st);
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to