*/
use Wikimedia\Rdbms\IDatabase;
-use Wikimedia\Rdbms\ResultWrapper;
+use Wikimedia\Rdbms\IResultWrapper;
/**
* This is a base class for all Query modules.
/**
* Add a set of tables to the internal array
- * @param string|string[] $tables Table name or array of table names
+ * @param string|array $tables Table name or array of table names
+ * or nested arrays for joins using parentheses for grouping
* @param string|null $alias Table alias, or null for no alias. Cannot be
* used with multiple tables
*/
}
/**
- * Equivalent to addWhere(array($field => $value))
+ * Equivalent to addWhere( [ $field => $value ] )
* @param string $field Field name
* @param string|string[] $value Value; ignored if null or empty array
*/
* @param array|null &$hookData If set, the ApiQueryBaseBeforeQuery and
* ApiQueryBaseAfterQuery hooks will be called, and the
* ApiQueryBaseProcessRow hook will be expected.
- * @return ResultWrapper
+ * @return IResultWrapper
*/
protected function select( $method, $extraQuery = [], array &$hookData = null ) {
$tables = array_merge(
return Hooks::run( 'ApiQueryBaseProcessRow', [ $this, $row, &$data, &$hookData ] );
}
- /**
- * @deprecated since 1.33, use LinkFilter::getQueryConditions() instead
- * @param string|null $query
- * @param string|null $protocol
- * @return null|string
- */
- public function prepareUrlQuerySearchString( $query = null, $protocol = null ) {
- wfDeprecated( __METHOD__, '1.33' );
- $db = $this->getDB();
- if ( $query !== null && $query !== '' ) {
- if ( is_null( $protocol ) ) {
- $protocol = 'http://';
- }
-
- $likeQuery = LinkFilter::makeLikeArray( $query, $protocol );
- if ( !$likeQuery ) {
- $this->dieWithError( 'apierror-badquery' );
- }
-
- $likeQuery = LinkFilter::keepOneWildcard( $likeQuery );
-
- return 'el_index ' . $db->buildLike( $likeQuery );
- } elseif ( !is_null( $protocol ) ) {
- return 'el_index ' . $db->buildLike( "$protocol", $db->anyString() );
- }
-
- return null;
- }
-
/**
* Filters hidden users (where the user doesn't have the right to view them)
* Also adds relevant block information
/**
* Same as addPageSubItems(), but one element of $data at a time
* @param int $pageId Page ID
- * @param array $item Data array à la ApiResult
+ * @param mixed $item Data à la ApiResult
* @param string|null $elemname XML element name. If null, getModuleName()
* is used
* @return bool Whether the element fit in the result