private void putInternal(byte[] row, byte[][] columns, byte[][] values) { NavigableMap<byte[], Update> colVals = buff.get(row); boolean newRow = false; if (colVals == null) { colVals = Maps.newTreeMap(Bytes.BYTES_COMPARATOR); newRow = true; } for (int i = 0; i < columns.length; i++) { // NOTE: we copy passed column's and value's byte arrays to protect buffer against possible changes of these // arrays on client if (values[i] != null && values[i].length == 0) { warnAboutEmptyValue(columns[i]); } colVals.put(copy(columns[i]), new PutValue(copy(values[i]))); } if (newRow) { // NOTE: we copy passed row's byte arrays to protect buffer against possible changes of this array on client buff.put(copy(row), colVals); } }
private void putInternal(byte[] row, byte[][] columns, byte[][] values) { NavigableMap<byte[], Update> colVals = buff.get(row); boolean newRow = false; if (colVals == null) { colVals = Maps.newTreeMap(Bytes.BYTES_COMPARATOR); newRow = true; } for (int i = 0; i < columns.length; i++) { // NOTE: we copy passed column's and value's byte arrays to protect buffer against possible changes of these // arrays on client if (values[i] != null && values[i].length == 0) { warnAboutEmptyValue(columns[i]); } colVals.put(copy(columns[i]), new PutValue(copy(values[i]))); } if (newRow) { // NOTE: we copy passed row's byte arrays to protect buffer against possible changes of this array on client buff.put(copy(row), colVals); } }