You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 22, 2019. It is now read-only.
It would be OK to just skip writing the row, but this behavior is really bad because if you write a lot nulls you end up with a long row with too many columns like ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
The text was updated successfully, but these errors were encountered:
publicvoidwriteNull() throwsIOException {
_verifyValueWrite("write null value");
if (!_skipValue) {
if (_arraySeparator >= 0) {
_addToArray(_schema.getNullValue());
} else {
_writer.writeNull(_columnIndex());
}
// If we are told to write null, but we were never told to begin an object// that means the entire row is just a null, so we are now finished writing the rowif (!_writeContext.inObject()) {
finishRow();
}
}
}
The last part just guesses that we're in the row = null case if we're writing a null and not inside an object. I'm not sure whether it belongs inside or outside if(!_skipValue) because I don't know what that is about.
I agree, exact semantics are bit tricky. Writing an empty row sounds like a reasonable way to go, although this may cause problems when using custom null representation. But we can cross that bridge when we get there.
It requires very specific conditions, it is reproduced here (along with a bunch of similar cases that DO work):
https://gist.github.com/georgewfraser/ef19edb1eca296bd3234
It would be OK to just skip writing the row, but this behavior is really bad because if you write a lot nulls you end up with a long row with too many columns like
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
The text was updated successfully, but these errors were encountered: