@Override public Object writeValue(ColumnVector column, int row) throws HiveException { BytesColumnVector bcv = (BytesColumnVector) column; if (bcv.noNulls && !bcv.isRepeating) { return writeValue(bcv.vector[row], bcv.start[row], bcv.length[row]); } else if (bcv.noNulls && bcv.isRepeating) { return writeValue(bcv.vector[0], bcv.start[0], bcv.length[0]); } else if (!bcv.noNulls && !bcv.isRepeating && !bcv.isNull[row]) { return writeValue(bcv.vector[row], bcv.start[row], bcv.length[row]); } else if (!bcv.noNulls && !bcv.isRepeating && bcv.isNull[row]) { return null; } else if (!bcv.noNulls && bcv.isRepeating && !bcv.isNull[0]) { return writeValue(bcv.vector[0], bcv.start[0], bcv.length[0]); } else if (!bcv.noNulls && bcv.isRepeating && bcv.isNull[0]) { return null; } throw new HiveException( String.format( "Incorrect null/repeating: row:%d noNulls:%b isRepeating:%b isNull[row]:%b isNull[0]:%b", row, bcv.noNulls, bcv.isRepeating, bcv.isNull[row], bcv.isNull[0])); }
@Override public Object writeValue(ColumnVector column, int row) throws HiveException { BytesColumnVector bcv = (BytesColumnVector) column; if (bcv.noNulls && !bcv.isRepeating) { return writeValue(bcv.vector[row], bcv.start[row], bcv.length[row]); } else if (bcv.noNulls && bcv.isRepeating) { return writeValue(bcv.vector[0], bcv.start[0], bcv.length[0]); } else if (!bcv.noNulls && !bcv.isRepeating && !bcv.isNull[row]) { return writeValue(bcv.vector[row], bcv.start[row], bcv.length[row]); } else if (!bcv.noNulls && !bcv.isRepeating && bcv.isNull[row]) { return null; } else if (!bcv.noNulls && bcv.isRepeating && !bcv.isNull[0]) { return writeValue(bcv.vector[0], bcv.start[0], bcv.length[0]); } else if (!bcv.noNulls && bcv.isRepeating && bcv.isNull[0]) { return null; } throw new HiveException( String.format( "Incorrect null/repeating: row:%d noNulls:%b isRepeating:%b isNull[row]:%b isNull[0]:%b", row, bcv.noNulls, bcv.isRepeating, bcv.isNull[row], bcv.isNull[0])); }
@Override public Object writeValue(ColumnVector column, int row) throws HiveException { BytesColumnVector bcv = (BytesColumnVector) column; if (bcv.noNulls && !bcv.isRepeating) { return writeValue(bcv.vector[row], bcv.start[row], bcv.length[row]); } else if (bcv.noNulls && bcv.isRepeating) { return writeValue(bcv.vector[0], bcv.start[0], bcv.length[0]); } else if (!bcv.noNulls && !bcv.isRepeating && !bcv.isNull[row]) { return writeValue(bcv.vector[row], bcv.start[row], bcv.length[row]); } else if (!bcv.noNulls && !bcv.isRepeating && bcv.isNull[row]) { return null; } else if (!bcv.noNulls && bcv.isRepeating && !bcv.isNull[0]) { return writeValue(bcv.vector[0], bcv.start[0], bcv.length[0]); } else if (!bcv.noNulls && bcv.isRepeating && bcv.isNull[0]) { return null; } throw new HiveException( String.format( "Incorrect null/repeating: row:%d noNulls:%b isRepeating:%b isNull[row]:%b isNull[0]:%b", row, bcv.noNulls, bcv.isRepeating, bcv.isNull[row], bcv.isNull[0])); }