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 -- [email protected]
To unsubscribe send an email to [email protected]