Page MenuHomePhabricator
Diviner Phabricator Tech Docs PhabricatorRepositoryWorkingCopyVersion

final class PhabricatorRepositoryWorkingCopyVersion
Phabricator Technical Documentation (Repositories)

This class is not documented.

Tasks

Configuring Storage

Other Methods

Methods

public static function pushStorageNamespace($namespace)
Inherited

This method is not documented.
Parameters
$namespace
Return
wild

public static function popStorageNamespace()
Inherited

This method is not documented.
Return
wild

public static function getDefaultStorageNamespace()
Inherited

This method is not documented.
Return
wild

public static function getStorageNamespace()
Inherited

This method is not documented.
Return
wild

public function setForcedStorageNamespace($namespace)
Inherited

This method is not documented.
Parameters
$namespace
Return
wild

protected function establishLiveConnection($mode)
Inherited

This method is not documented.
Parameters
$mode
Return
wild

private function newClusterConnection($application, $database, $mode)
Inherited

This method is not documented.
Parameters
$application
$database
$mode
Return
wild

private function raiseImproperWrite($database)
Inherited

This method is not documented.
Parameters
$database
Return
wild

private function raiseImpossibleWrite($database)
Inherited

This method is not documented.
Parameters
$database
Return
wild

private function raiseUnconfigured($database)
Inherited

This method is not documented.
Parameters
$database
Return
wild

private function raiseUnreachable($database, $proxy)
Inherited

This method is not documented.
Parameters
$database
Exception$proxy
Return
wild

public function getTableName()
Inherited

This method is not documented.
Return
wild

public function getApplicationName()
Inherited

This method is not documented.
Return
wild

protected function getDatabaseName()
Inherited

This method is not documented.
Return
wild

public static function chunkSQL($fragments, $limit)
Inherited

PhabricatorLiskDAO

Break a list of escaped SQL statement fragments (e.g., VALUES lists for INSERT, previously built with qsprintf()) into chunks which will fit under the MySQL 'max_allowed_packet' limit.

If a statement is too large to fit within the limit, it is broken into its own chunk (but might fail when the query executes).

Parameters
array$fragments
$limit
Return
wild

protected function assertAttached($property)
Inherited

This method is not documented.
Parameters
$property
Return
wild

protected function assertAttachedKey($value, $key)
Inherited

This method is not documented.
Parameters
$value
$key
Return
wild

protected function detectEncodingForStorage($string)
Inherited

This method is not documented.
Parameters
$string
Return
wild

protected function getUTF8StringFromStorage($string, $encoding)
Inherited

This method is not documented.
Parameters
$string
$encoding
Return
wild

protected function willReadData(&$data)
Inherited

This method is not documented.
Parameters
array&$data
Return
wild

protected function willWriteData(&$data)
Inherited

This method is not documented.
Parameters
array&$data
Return
wild

protected function getConfiguration()

This method is not documented.
Return
wild

public function getWriteProperty($key, $default)

This method is not documented.
Parameters
$key
$default
Return
wild

public static function loadVersions($repository_phid)

This method is not documented.
Parameters
$repository_phid
Return
wild

public static function loadWriter($repository_phid)

This method is not documented.
Parameters
$repository_phid
Return
wild

public static function getReadLock($repository_phid, $device_phid)

This method is not documented.
Parameters
$repository_phid
$device_phid
Return
wild

public static function getWriteLock($repository_phid)

This method is not documented.
Parameters
$repository_phid
Return
wild

public static function willWrite($locked_connection, $repository_phid, $device_phid, $write_properties, $lock_owner)

Before a write, set the "isWriting" flag.

This allows us to detect when we lose a node partway through a write and may have committed and acknowledged a write on a node that lost the lock partway through the write and is no longer reachable.

In particular, if a node loses its connection to the database the global lock is released by default. This is a durable lock which stays locked by default.

Parameters
AphrontDatabaseConnection$locked_connection
$repository_phid
$device_phid
array$write_properties
$lock_owner
Return
wild

public static function didWrite($repository_phid, $device_phid, $old_version, $new_version, $lock_owner)

After a write, update the version and release the "isWriting" lock.

Parameters
$repository_phid
$device_phid
$old_version
$new_version
$lock_owner
Return
wild

public static function updateVersion($repository_phid, $device_phid, $new_version)

After a fetch, set the local version to the fetched version.

Parameters
$repository_phid
$device_phid
$new_version
Return
wild

public static function demoteDevice($repository_phid, $device_phid)

Explicitly demote a device.

Parameters
$repository_phid
$device_phid
Return
wild