@Override public void setMetadata(FileMetadata metadata, byte type, AtomicDBUpdate update) throws DatabaseException { assert (metadata instanceof BufferBackedFileMetadata); BufferBackedFileMetadata md = (BufferBackedFileMetadata) metadata; int index = md.getIndexId(); if (type == -1) for (byte i = 0; i < BufferBackedFileMetadata.NUM_BUFFERS; i++) { byte[] valBuf = md.getValueBuffer(i); assert (valBuf != null); update.addUpdate( index, index == FILE_ID_INDEX ? BabuDBStorageHelper.createFileIdIndexKey(metadata.getId(), i) : md.getKeyBuffer(i), valBuf); } else { byte[] valBuf = md.getValueBuffer(type); assert (valBuf != null); update.addUpdate( index, index == FILE_ID_INDEX ? BabuDBStorageHelper.createFileIdIndexKey(metadata.getId(), type) : md.getKeyBuffer(type), valBuf); } }