"ext-xml": "*",
"liuggio/statsd-php-client": "1.0.18",
"mediawiki/at-ease": "1.1.0",
- "oojs/oojs-ui": "0.23.1",
+ "oojs/oojs-ui": "0.23.2",
"oyejorge/less.php": "1.7.0.14",
"php": ">=5.5.9",
"psr/log": "1.0.2",
"jakub-onderka/php-parallel-lint": "0.9.2",
"jetbrains/phpstorm-stubs": "dev-master#1b9906084d6635456fcf3f3a01f0d7d5b99a578a",
"justinrainbow/json-schema": "~5.2",
- "mediawiki/mediawiki-codesniffer": "0.12.0",
+ "mediawiki/mediawiki-codesniffer": "13.0.0",
"monolog/monolog": "~1.22.1",
"nikic/php-parser": "2.1.0",
"nmred/kafka-php": "0.1.5",
* @file
* @ingroup Deployment
*/
- use Wikimedia\Rdbms\Field;
use Wikimedia\Rdbms\MySQLField;
use MediaWiki\MediaWikiServices;
[ 'doUserUniqueUpdate' ],
[ 'doUserGroupsUpdate' ],
[ 'addField', 'site_stats', 'ss_total_pages', 'patch-ss_total_articles.sql' ],
- [ 'addTable', 'user_newtalk', 'patch-usernewtalk2.sql' ],
+ [ 'addTable', 'user_newtalk', 'patch-usernewtalk.sql' ],
[ 'addTable', 'transcache', 'patch-transcache.sql' ],
[ 'addField', 'interwiki', 'iw_trans', 'patch-interwiki-trans.sql' ],
*
* @param string $error Error text
* @param int $errno Error number
+ * @return bool
*/
protected function wasQueryTimeout( $error, $errno ) {
return false;
);
}
+ return $this->nonNativeInsertSelect(
+ $destTable,
+ $srcTable,
+ $varMap,
+ $conds,
+ $fname,
+ $insertOptions,
+ $selectOptions,
+ $selectJoinConds
+ );
+ }
+
+ /**
+ * Implementation of insertSelect() based on select() and insert()
+ *
+ * @see IDatabase::insertSelect()
+ * @since 1.30
+ * @param string $destTable
+ * @param string|array $srcTable
+ * @param array $varMap
+ * @param array $conds
+ * @param string $fname
+ * @param array $insertOptions
+ * @param array $selectOptions
+ * @param array $selectJoinConds
+ * @return bool
+ */
+ protected function nonNativeInsertSelect( $destTable, $srcTable, $varMap, $conds,
+ $fname = __METHOD__,
+ $insertOptions = [], $selectOptions = [], $selectJoinConds = []
+ ) {
// For web requests, do a locking SELECT and then INSERT. This puts the SELECT burden
// on only the master (without needing row-based-replication). It also makes it easy to
// know how big the INSERT is going to be.