
Hi all, I'm working on a utility to bulk load data into MonetDB using the binary bulk loading options. At the moment I'm running into the issue whereby I'm unable to insert real NULL values in varchar columns. Only a literal "null" is inserted, which obviously fails the 'WHERE col IS NULL' condition. Can anyone tell me what value is used to import a null value into a varchar column? Best regards, Dennis

Found the answer myself on https://www.monetdb.org/wiki/MonetDB_type_system
Character \200 works to indicate a real NULL in MonetDB.
Best regards,
Dennis
On Fri, Sep 23, 2016 at 5:05 PM, Dennis Pallett
Hi all,
I'm working on a utility to bulk load data into MonetDB using the binary bulk loading options. At the moment I'm running into the issue whereby I'm unable to insert real NULL values in varchar columns. Only a literal "null" is inserted, which obviously fails the 'WHERE col IS NULL' condition. Can anyone tell me what value is used to import a null value into a varchar column?
Best regards, Dennis

On 2016-09-25 03:39, Dennis Pallett wrote:
Found the answer myself on https://www.monetdb.org/wiki/MonetDB_type_system
Character \200 works to indicate a real NULL in MonetDB.
Dennis: Have you tried it? Is this 200 decimal (so the "È" character?) or 200 octal (the "€" sign?)? The wiki says it's for char, varchar, text etc... Can we not use unicode for text? -- http://yves.zioup.com gpg: 4096R/32B0F416

On 09/25/2016 04:58 PM, Yves Dorfsman wrote:
On 2016-09-25 03:39, Dennis Pallett wrote:
Found the answer myself on https://www.monetdb.org/wiki/MonetDB_type_system
Character \200 works to indicate a real NULL in MonetDB.
Dennis: Have you tried it? Is this 200 decimal (so the "È" character?) or 200 octal (the "€" sign?)?
The wiki says it's for char, varchar, text etc... Can we not use unicode for text?
It's neither. MonetDB is fully UTF-8 internally, and so the text in a binary import also has to be UTF-8. In UTF-8, the \200 byte (which incidentally is standard C notation for a byte with octal value 200, i.e. decimal 128) is an illegal value. UTF-8 is a variable length encoding, but there is no character that is encoded with a byte that starts with \200. -- Sjoerd Mullender
participants (3)
-
Dennis Pallett
-
Sjoerd Mullender
-
Yves Dorfsman