* 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;
+ /** @var bool Parameter to unionQueries() for UNION DISTINCT */
+ const UNION_DISTINCT = false;
/**
* A string describing the current software version, and possibly
* @param string $valuename
*
* @return string
+ * @deprecated Since 1.33
*/
public function aggregateValue( $valuedata, $valuename = 'value' );
$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
*
* This is used for providing overload point for other DB abstractions
* not compatible with the MySQL syntax.
* @param array $sqls SQL statements to combine
- * @param bool $all Use UNION ALL
+ * @param bool $all Either IDatabase::UNION_ALL or IDatabase::UNION_DISTINCT
* @return string SQL fragment
*/
public function unionQueries( $sqls, $all );
*
* @param callable $callback
* @param string $fname Caller name
- * @return mixed
* @since 1.28
*/
public function onTransactionResolution( callable $callback, $fname = __METHOD__ );
*
* @param callable $callback
* @param string $fname
- * @return mixed
* @since 1.20
* @deprecated Since 1.32
*/
*
* @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 );
* 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 );