@Override public void copy(DataInputView source, DataOutputView target) throws IOException { int len = fieldSerializers.length; // copy null mask readIntoAndCopyNullMask(len, source, target, nullMask); for (int i = 0; i < len; i++) { if (!nullMask[i]) { fieldSerializers[i].copy(source, target); } } }
@Override public Row deserialize(DataInputView source) throws IOException { int len = fieldSerializers.length; Row result = new Row(len); // read null mask readIntoNullMask(len, source, nullMask); for (int i = 0; i < len; i++) { if (nullMask[i]) { result.setField(i, null); } else { result.setField(i, fieldSerializers[i].deserialize(source)); } } return result; }
@Override public void serialize(Row record, DataOutputView target) throws IOException { int len = fieldSerializers.length; if (record.getArity() != len) { throw new RuntimeException("Row arity of from does not match serializers."); } // write a null mask writeNullMask(len, record, target); // serialize non-null fields for (int i = 0; i < len; i++) { Object o = record.getField(i); if (o != null) { fieldSerializers[i].serialize(o, target); } } }
int keyLen = keyPositions.length; readIntoNullMask(arity, firstSource, nullMask1); readIntoNullMask(arity, secondSource, nullMask2);
@Override public void copy(DataInputView source, DataOutputView target) throws IOException { int len = fieldSerializers.length; // copy null mask readIntoAndCopyNullMask(len, source, target, nullMask); for (int i = 0; i < len; i++) { if (!nullMask[i]) { fieldSerializers[i].copy(source, target); } } }
@Override public void serialize(Row record, DataOutputView target) throws IOException { int len = fieldSerializers.length; if (record.getArity() != len) { throw new RuntimeException("Row arity of from does not match serializers."); } // write a null mask writeNullMask(len, record, target); // serialize non-null fields for (int i = 0; i < len; i++) { Object o = record.getField(i); if (o != null) { fieldSerializers[i].serialize(o, target); } } }
@Override public Row deserialize(Row reuse, DataInputView source) throws IOException { int len = fieldSerializers.length; if (reuse.getArity() != len) { throw new RuntimeException("Row arity of from does not match serializers."); } // read null mask readIntoNullMask(len, source, nullMask); for (int i = 0; i < len; i++) { if (nullMask[i]) { reuse.setField(i, null); } else { Object reuseField = reuse.getField(i); if (reuseField != null) { reuse.setField(i, fieldSerializers[i].deserialize(reuseField, source)); } else { reuse.setField(i, fieldSerializers[i].deserialize(source)); } } } return reuse; }
@Override public void copy(DataInputView source, DataOutputView target) throws IOException { int len = fieldSerializers.length; // copy null mask readIntoAndCopyNullMask(len, source, target, nullMask); for (int i = 0; i < len; i++) { if (!nullMask[i]) { fieldSerializers[i].copy(source, target); } } }
@Override public void serialize(Row record, DataOutputView target) throws IOException { int len = fieldSerializers.length; if (record.getArity() != len) { throw new RuntimeException("Row arity of from does not match serializers."); } // write a null mask writeNullMask(len, record, target); // serialize non-null fields for (int i = 0; i < len; i++) { Object o = record.getField(i); if (o != null) { fieldSerializers[i].serialize(o, target); } } }
int keyLen = keyPositions.length; readIntoNullMask(arity, firstSource, nullMask1); readIntoNullMask(arity, secondSource, nullMask2);
@Override public Row deserialize(DataInputView source) throws IOException { int len = fieldSerializers.length; Row result = new Row(len); // read null mask readIntoNullMask(len, source, nullMask); for (int i = 0; i < len; i++) { if (nullMask[i]) { result.setField(i, null); } else { result.setField(i, fieldSerializers[i].deserialize(source)); } } return result; }
@Override public Row deserialize(DataInputView source) throws IOException { int len = fieldSerializers.length; Row result = new Row(len); // read null mask readIntoNullMask(len, source, nullMask); for (int i = 0; i < len; i++) { if (nullMask[i]) { result.setField(i, null); } else { result.setField(i, fieldSerializers[i].deserialize(source)); } } return result; }
int keyLen = keyPositions.length; readIntoNullMask(arity, firstSource, nullMask1); readIntoNullMask(arity, secondSource, nullMask2);
@Override public Row deserialize(Row reuse, DataInputView source) throws IOException { int len = fieldSerializers.length; if (reuse.getArity() != len) { throw new RuntimeException("Row arity of from does not match serializers."); } // read null mask readIntoNullMask(len, source, nullMask); for (int i = 0; i < len; i++) { if (nullMask[i]) { reuse.setField(i, null); } else { Object reuseField = reuse.getField(i); if (reuseField != null) { reuse.setField(i, fieldSerializers[i].deserialize(reuseField, source)); } else { reuse.setField(i, fieldSerializers[i].deserialize(source)); } } } return reuse; }
@Override public Row deserialize(Row reuse, DataInputView source) throws IOException { int len = fieldSerializers.length; if (reuse.getArity() != len) { throw new RuntimeException("Row arity of from does not match serializers."); } // read null mask readIntoNullMask(len, source, nullMask); for (int i = 0; i < len; i++) { if (nullMask[i]) { reuse.setField(i, null); } else { Object reuseField = reuse.getField(i); if (reuseField != null) { reuse.setField(i, fieldSerializers[i].deserialize(reuseField, source)); } else { reuse.setField(i, fieldSerializers[i].deserialize(source)); } } } return reuse; }