This is related to line endings. Pentaho issues a COPY INTO statement,
COPY INTO <table> FROM <file>
USING DELIMITERS ',', '\r\n'
Here, \r\n
means DOS/Windows line endings. Since the Oct2020 release, MonetDB always normalizes the line endings from DOS/Windows to Unix style \n
when loading data. Before, it used to sometimes normalize and sometimes not. However, normalizing to \n
means that looking for \r\n
would yield one giant line containing the whole file, hence the error message.
I will submit a patch to MonetDB to automatically replace the USING '\r\n'
with '\n'
.
This will fix it in the longer term.
In the short term I have no good solution to offer. I have no experience with Pentaho, but looking at the source code, it seems Pentaho is uses the system property lines.separator
, which is \r\n
on Windows.
This means, if you have access to a Mac or Linux machine to run Pentaho on, that will work as line.separator
is \n
there. Otherwise, maybe you can ask the Pentaho people if the JVM can be started with something like java -Dline.separator="\n"
as a workaround, see also this Stack Overflow question.
Otherwise, we'll have to use a patched version of either Pentaho, the MonetDB JDBC driver or MonetDB. I could send you a patched version of the JDBC driver that automagically replaces the '\r\n'
with '\n'
before sending the query to the server but you have to figure out yourself how to get Pentaho to use this JDBC driver instead of the default one.