code: @Override
  	public void delete(SearchKey key, RecordId dataRecordId, boolean doLogicalLogging) {
  		if (tx.isReadOnly())
  			throw new UnsupportedOperationException();
  
  		search(new SearchRange(key), SearchPurpose.DELETE);
  		
  		// log the logical operation starts
  		if (doLogicalLogging)
  			tx.recoveryMgr().logLogicalStart();
  		
  		leaf.delete(dataRecordId);
  		
  		// log the logical operation ends
  		if (doLogicalLogging)
  			tx.recoveryMgr().logIndexDeletionEnd(ii.indexName(), key,
  					dataRecordId.block().number(), dataRecordId.id());
  	}
docs: Deletes the specified index record. The method first traverses the
  directory to find the leaf page containing that record; then it deletes
  the record from the page. F
  
  @see Index#delete(SearchKey, RecordId, boolean)