/** * NOTE: Depending on the use-case, calling this method may be much less efficient than calling same method * with columns as parameters because it will require a round trip to persistent store. */ @WriteOnly @Override public void delete(byte[] row) { ensureTransactionIsStarted(); // this is going to be expensive, but the only we can do as delete implementation act on per-column level try { Map<byte[], byte[]> rowMap = getRowMap(row); delete(row, rowMap.keySet().toArray(new byte[rowMap.keySet().size()][])); // "0" because we don't know what gets deleted reportWrite(1, 0); } catch (Exception e) { LOG.debug("delete failed for table: " + getTransactionAwareName() + ", row: " + Bytes.toStringBinary(row), e); throw new DataSetException("delete failed", e); } }
/** * NOTE: Depending on the use-case, calling this method may be much less efficient than calling same method * with columns as parameters because it will require a round trip to persistent store. */ @WriteOnly @Override public void delete(byte[] row) { ensureTransactionIsStarted(); // this is going to be expensive, but the only we can do as delete implementation act on per-column level try { Map<byte[], byte[]> rowMap = getRowMap(row); delete(row, rowMap.keySet().toArray(new byte[rowMap.keySet().size()][])); // "0" because we don't know what gets deleted reportWrite(1, 0); } catch (Exception e) { LOG.debug("delete failed for table: " + getTransactionAwareName() + ", row: " + Bytes.toStringBinary(row), e); throw new DataSetException("delete failed", e); } }
@WriteOnly @Override public void delete(byte[] row, byte[][] columns) { ensureTransactionIsStarted(); if (columns == null) { delete(row); return; } // Do not delete anything when columns list is empty. Return-fast shortcut if (columns.length == 0) { return; } // same as writing null for every column // ANDREAS: shouldn't this be DELETE_MARKER? putInternal(row, columns, new byte[columns.length][]); // "0" because we don't know what gets deleted reportWrite(1, 0); }
@WriteOnly @Override public void delete(byte[] row, byte[][] columns) { ensureTransactionIsStarted(); if (columns == null) { delete(row); return; } // Do not delete anything when columns list is empty. Return-fast shortcut if (columns.length == 0) { return; } // same as writing null for every column // ANDREAS: shouldn't this be DELETE_MARKER? putInternal(row, columns, new byte[columns.length][]); // "0" because we don't know what gets deleted reportWrite(1, 0); }
table.delete(rowParam, colParam);