original_string: public function offsetUnset($key) {
  		$_key = $this->sql->real_escape_string($key);
  		if (!$this->sql->query("DELETE FROM `{$this->table}` WHERE `app` = '{$this->app}' AND `key` = '$_key'")) {
  			throw new AppMetadata_Exception(
  				"Unable to delete app metadata (`$_key`). {$this->sql->error}",
  				AppMetadata_Exception::DELETE_FAIL
  			);
  		}
  		
  		$result = parent::offsetUnset($key);
  
  		$this->updateDerivedValues($key);
  		
  		return $result;
  	}
code: public function offsetUnset($key) {
  		$_key = $this->sql->real_escape_string($key);
  		if (!$this->sql->query("DELETE FROM `{$this->table}` WHERE `app` = '{$this->app}' AND `key` = '$_key'")) {
  			throw new AppMetadata_Exception(
  				"Unable to delete app metadata (`$_key`). {$this->sql->error}",
  				AppMetadata_Exception::DELETE_FAIL
  			);
  		}
  		
  		$result = parent::offsetUnset($key);
  
  		$this->updateDerivedValues($key);
  		
  		return $result;
  	}
code_tokens: public function offsetUnset ( $ key ) { $ _key = $ this -> sql -> real_escape_string ( $ key ) ; if ( ! $ this -> sql -> query ( "DELETE FROM `{$this->table}` WHERE `app` = '{$this->app}' AND `key` = '$_key'" ) ) { throw new AppMetadata_Exception ( "Unable to delete app metadata (`$_key`). {$this->sql->error}" , AppMetadata_Exception :: DELETE_FAIL ) ; } $ result = parent :: offsetUnset ( $ key ) ; $ this -> updateDerivedValues ( $ key ) ; return $ result ; }
docstring: Transparently expunge the persistent app_metadata store when the data is unset
  
  @param int|string $key Array key whose value will be unset()
  
  @return void (unless ArrayObject::offsetUnset() returns a value... then this wil too!)
  
  @throws AppMetadata_Exception DELETE_FAIL if the deletion fails
docstring_tokens: Transparently expunge the persistent app_metadata store when the data is unset