X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Flibs%2Frdbms%2Floadbalancer%2FILoadBalancer.php;h=160d5012985ebaec2bda21507537e8920958c62e;hb=38190f6608f3d2807cb93b1bae7edb770af36ef8;hp=990705c45f68c6fd63998fcc26e0ba0fcbf66f97;hpb=f585244a778ed712859f48383472c24f105b1b4e;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/libs/rdbms/loadbalancer/ILoadBalancer.php b/includes/libs/rdbms/loadbalancer/ILoadBalancer.php index 990705c45f..160d501298 100644 --- a/includes/libs/rdbms/loadbalancer/ILoadBalancer.php +++ b/includes/libs/rdbms/loadbalancer/ILoadBalancer.php @@ -95,6 +95,8 @@ interface ILoadBalancer { const CONN_SILENCE_ERRORS = 2; /** @var int Caller is requesting the master DB server for possibly writes */ const CONN_INTENT_WRITABLE = 4; + /** @var int Bypass and update any server-side read-only mode state cache */ + const CONN_REFRESH_READ_ONLY = 8; /** @var string Manager of ILoadBalancer instances is running post-commit callbacks */ const STAGE_POSTCOMMIT_CALLBACKS = 'stage-postcommit-callbacks'; @@ -155,6 +157,18 @@ interface ILoadBalancer { */ public function redefineLocalDomain( $domain ); + /** + * Indicate whether the tables on this domain are only temporary tables for testing + * + * In "temporary tables mode", the ILoadBalancer::CONN_TRX_AUTOCOMMIT flag is ignored + * + * @param bool $value + * @param string $domain + * @return bool Whether "temporary tables mode" was active + * @since 1.34 + */ + public function setTempTablesOnlyMode( $value, $domain ); + /** * Get the server index of the reader connection for a given group * @@ -167,8 +181,7 @@ interface ILoadBalancer { * * @param string|bool $group Query group or false for the generic group * @param string|bool $domain DB domain ID or false for the local domain - * @throws DBError If no live handle can be obtained - * @return bool|int|string + * @return int|bool Returns false if no live handle can be obtained */ public function getReaderIndex( $group = false, $domain = false ); @@ -650,10 +663,9 @@ interface ILoadBalancer { /** * @note This method may trigger a DB connection if not yet done * @param string|bool $domain DB domain ID or false for the local domain - * @param IDatabase|null $conn DB master connection; used to avoid loops [optional] * @return string|bool Reason the master is read-only or false if it is not */ - public function getReadOnlyReason( $domain = false, IDatabase $conn = null ); + public function getReadOnlyReason( $domain = false ); /** * Disables/enables lag checks