Class it_dbi:

/**
 * Delete a record
 * Does not destroy query result $this->_result
 * @param $query optional query for WHERE, default: delete currently loaded record
 * @return number of deleted records
 */
function delete($query null)
{
    
$this->_connect();
    
$result 0;

    if (!
$query && $this->_p['keyfield'])
    {
        
$query = array($this->_p['keyfield'] => $this->_key);
        
$this->clear();
    }

    if (
$query && $this->query("DELETE " $this->_from($query) . " " $this->_where($query)))
        
$result $this->_affectedrows;

    return 
$result;
}