X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Flibs%2Frdbms%2Fdatabase%2FIDatabase.php;h=05f787cfa96334a99404fc46c2d991c41a49292f;hb=9cbb8f104d66b9b1a5497e12cd931a3827f6b5b3;hp=b4440d6dfadbfbfb3c8e84b34e6b29e2af76a0ce;hpb=c7b0bb2459a6b14590b252935eccc2edfccae13b;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/libs/rdbms/database/IDatabase.php b/includes/libs/rdbms/database/IDatabase.php index b4440d6dfa..05f787cfa9 100644 --- a/includes/libs/rdbms/database/IDatabase.php +++ b/includes/libs/rdbms/database/IDatabase.php @@ -113,6 +113,8 @@ interface IDatabase { * permanent as far as write tracking is concerned. This is useful for testing. */ const QUERY_PSEUDO_PERMANENT = 2; + /** @var int Enforce that a query does not make effective writes */ + const QUERY_REPLICA_ROLE = 4; /** @var bool Parameter to unionQueries() for UNION ALL */ const UNION_ALL = true; @@ -429,7 +431,7 @@ interface IDatabase { /** * Get the number of fields in a result object - * @see https://secure.php.net/mysql_num_fields + * @see https://www.php.net/mysql_num_fields * * @param mixed $res A SQL result * @return int @@ -438,7 +440,7 @@ interface IDatabase { /** * Get a field name in a result object - * @see https://secure.php.net/mysql_field_name + * @see https://www.php.net/mysql_field_name * * @param mixed $res A SQL result * @param int $n @@ -459,7 +461,7 @@ interface IDatabase { /** * Change the position of the cursor in a result object - * @see https://secure.php.net/mysql_data_seek + * @see https://www.php.net/mysql_data_seek * * @param mixed $res A SQL result * @param int $row @@ -468,7 +470,7 @@ interface IDatabase { /** * Get the last error number - * @see https://secure.php.net/mysql_errno + * @see https://www.php.net/mysql_errno * * @return int */ @@ -476,7 +478,7 @@ interface IDatabase { /** * Get a description of the last error - * @see https://secure.php.net/mysql_error + * @see https://www.php.net/mysql_error * * @return string */ @@ -484,7 +486,7 @@ interface IDatabase { /** * Get the number of rows affected by the last write query - * @see https://secure.php.net/mysql_affected_rows + * @see https://www.php.net/mysql_affected_rows * * @return int */ @@ -1011,6 +1013,7 @@ interface IDatabase { * @param string $valuename * * @return string + * @deprecated Since 1.33 */ public function aggregateValue( $valuedata, $valuename = 'value' ); @@ -1109,6 +1112,25 @@ interface IDatabase { $options = [], $join_conds = [] ); + /** + * Construct a LIMIT query with optional offset. This is used for query + * pages. The SQL should be adjusted so that only the first $limit rows + * are returned. If $offset is provided as well, then the first $offset + * rows should be discarded, and the next $limit rows should be returned. + * If the result of the query is not ordered, then the rows to be returned + * are theoretically arbitrary. + * + * $sql is expected to be a SELECT, if that makes a difference. + * + * @param string $sql SQL query we will append the limit too + * @param int $limit The SQL limit + * @param int|bool $offset The SQL offset (default false) + * @throws DBUnexpectedError + * @return string + * @since 1.34 + */ + public function limitResult( $sql, $limit, $offset = false ); + /** * Returns true if DBs are assumed to be on potentially different servers * @@ -1554,7 +1576,6 @@ interface IDatabase { * * @param callable $callback * @param string $fname Caller name - * @return mixed * @since 1.28 */ public function onTransactionResolution( callable $callback, $fname = __METHOD__ ); @@ -1598,7 +1619,6 @@ interface IDatabase { * * @param callable $callback * @param string $fname - * @return mixed * @since 1.20 * @deprecated Since 1.32 */ @@ -1644,7 +1664,6 @@ interface IDatabase { * * @param string $name Callback name * @param callable|null $callback Use null to unset a listener - * @return mixed * @since 1.28 */ public function setTransactionListener( $name, callable $callback = null ); @@ -2172,7 +2191,6 @@ interface IDatabase { * the aliases can be removed, and then the old X-named indexes dropped. * * @param string[] $aliases - * @return mixed * @since 1.31 */ public function setIndexAliases( array $aliases );