* 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;
public function implicitOrderby();
/**
- * Return the last query that went through IDatabase::query()
- * @return string
+ * Return the last query that sent on account of IDatabase::query()
+ * @return string SQL text or empty string if there was no such query
*/
public function lastQuery();
/**
* 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
/**
* 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
/**
* 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
/**
* Get the last error number
- * @see https://secure.php.net/mysql_errno
+ * @see https://www.php.net/mysql_errno
*
* @return int
*/
/**
* Get a description of the last error
- * @see https://secure.php.net/mysql_error
+ * @see https://www.php.net/mysql_error
*
* @return string
*/
/**
* 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
*/
* @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
*