Hello all,
I’m working on a format plugin to read syslog data, and have encountered what
seems to be a bit of a regression (maybe). The code below is a helper
function which writes strings from the data. As of Drill 1.16, the varchar
holder seems to throw an error if the string you are trying to write is > 256
characters. Is there a workaround?
Thanks!
//Helper function to map strings
private void mapStringField(String name, String value, BaseWriter.MapWriter
map) {
if (value == null) {
return;
}
try {
byte[] bytes = value.getBytes("UTF-8");
int stringLength = bytes.length;
this.buffer.setBytes(0, bytes, 0, stringLength);
map.varChar(name).writeVarChar(0, stringLength, buffer);
} catch (Exception e) {
throw UserException
.dataWriteError()
.addContext("Could not write string: ")
.addContext(e.getMessage())
.build(logger);
}
}