aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RELEASE-NOTES-1.432
-rw-r--r--composer.json7
-rw-r--r--includes/block/AbstractBlock.php27
-rw-r--r--includes/block/DatabaseBlock.php11
-rw-r--r--includes/installer/MysqlUpdater.php1
-rw-r--r--includes/installer/PostgresUpdater.php4
-rw-r--r--includes/installer/SqliteUpdater.php1
-rw-r--r--includes/specials/SpecialMovePage.php2
-rw-r--r--includes/specials/SpecialSearch.php8
-rw-r--r--maintenance/abstractSchemaChanges/patch-revision-cleanup.json188
-rw-r--r--maintenance/archives/patch-revision-cleanup.sql9
-rw-r--r--maintenance/postgres/archives/patch-revision-cleanup.sql14
-rw-r--r--maintenance/postgres/tables-generated.sql8
-rw-r--r--maintenance/sqlite/archives/patch-revision-cleanup.sql61
-rw-r--r--maintenance/sqlite/tables-generated.sql6
-rw-r--r--maintenance/tables-generated.sql8
-rw-r--r--maintenance/tables.json8
17 files changed, 305 insertions, 60 deletions
diff --git a/RELEASE-NOTES-1.43 b/RELEASE-NOTES-1.43
index 019c41e45f55..019e88926b30 100644
--- a/RELEASE-NOTES-1.43
+++ b/RELEASE-NOTES-1.43
@@ -161,6 +161,8 @@ because of Phabricator reports.
* Skin::getAction(), deprecated in 1.39, has been removed.
* Title::getCdnUrls() and Title::purgeSquid(), deprecated in 1.35, have been
removed.
+* DatabaseBlock::purgeExpired, deprecated since 1.38, has been removed.
+* AbstractBlock::getPermissionsError, deprecated since 1.35, has been removed.
* …
=== Deprecations in 1.43 ===
diff --git a/composer.json b/composer.json
index 477ba4f13d47..21d7e3d6f072 100644
--- a/composer.json
+++ b/composer.json
@@ -95,6 +95,7 @@
"johnkary/phpunit-speedtrap": "^4.0",
"mediawiki/mediawiki-codesniffer": "43.0.0",
"mediawiki/mediawiki-phan-config": "0.14.0",
+ "mediawiki/minus-x": "1.1.3",
"nikic/php-parser": "^4.10.2",
"php-parallel-lint/php-console-highlighter": "1.0.0",
"php-parallel-lint/php-parallel-lint": "1.4.0",
@@ -155,7 +156,8 @@
"phan": "phan -d . --long-progress-bar",
"phpcs": "phpcs -p -s --cache",
"fix": [
- "phpcbf"
+ "phpcbf",
+ "minus-x fix ."
],
"pre-install-cmd": "MediaWiki\\Composer\\VersionChecker::onEvent",
"pre-update-cmd": "MediaWiki\\Composer\\VersionChecker::onEvent",
@@ -164,7 +166,8 @@
"releasenotes": "@phpunit --group ReleaseNotes",
"test": [
"@lint .",
- "@phpcs ."
+ "@phpcs .",
+ "minus-x check ."
],
"test-some": [
"@lint",
diff --git a/includes/block/AbstractBlock.php b/includes/block/AbstractBlock.php
index 639819176df1..ed204602440e 100644
--- a/includes/block/AbstractBlock.php
+++ b/includes/block/AbstractBlock.php
@@ -22,7 +22,6 @@ namespace MediaWiki\Block;
use InvalidArgumentException;
use MediaWiki\CommentStore\CommentStoreComment;
-use MediaWiki\Context\IContextSource;
use MediaWiki\DAO\WikiAwareEntityTrait;
use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
@@ -410,32 +409,6 @@ abstract class AbstractBlock implements Block {
}
/**
- * Get the key and parameters for the corresponding error message.
- *
- * @deprecated since 1.35 Use BlockErrorFormatter::getMessage instead, and
- * build the array using Message::getKey and Message::getParams. Hard
- * deprecated since 1.40.
- * @since 1.22
- * @param IContextSource $context
- * @return array A message array: either a list of strings, the first of which
- * is the message key and the remaining ones the parameters, or an array with
- * a single MessageSpecifier object.
- * @phan-return non-empty-array
- */
- public function getPermissionsError( IContextSource $context ) {
- wfDeprecated( __METHOD__, '1.35' );
- $message = MediaWikiServices::getInstance()
- ->getFormatterFactory()->getBlockErrorFormatter( $context )
- ->getMessage(
- $this,
- $context->getUser(),
- null,
- $context->getRequest()->getIP()
- );
- return [ $message->getKey(), ...$message->getParams() ];
- }
-
- /**
* Determine whether the block allows the user to edit their own
* user talk page. This is done separately from
* AbstractBlock::appliesToRight because there is no right for
diff --git a/includes/block/DatabaseBlock.php b/includes/block/DatabaseBlock.php
index 6c98a24eb121..db723636446b 100644
--- a/includes/block/DatabaseBlock.php
+++ b/includes/block/DatabaseBlock.php
@@ -447,17 +447,6 @@ class DatabaseBlock extends AbstractBlock {
}
/**
- * Purge expired blocks from the ipblocks table
- *
- * @deprecated since 1.36, hard deprecated since 1.38
- * Use DatabaseBlockStore::purgeExpiredBlocks instead.
- */
- public static function purgeExpired() {
- wfDeprecated( __METHOD__, '1.36' );
- MediaWikiServices::getInstance()->getDatabaseBlockStore()->purgeExpiredBlocks();
- }
-
- /**
* Given a target and the target's type, get an existing block object if possible.
* @param string|UserIdentity|int|null $specificTarget A block target, which may be one of
* several types:
diff --git a/includes/installer/MysqlUpdater.php b/includes/installer/MysqlUpdater.php
index de40aaae55cd..0afae20749f1 100644
--- a/includes/installer/MysqlUpdater.php
+++ b/includes/installer/MysqlUpdater.php
@@ -176,6 +176,7 @@ class MysqlUpdater extends DatabaseUpdater {
// 1.43
[ 'migratePagelinks' ],
+ [ 'modifyField', 'revision', 'rev_id', 'patch-revision-cleanup.sql' ],
];
}
diff --git a/includes/installer/PostgresUpdater.php b/includes/installer/PostgresUpdater.php
index 6c424ad3fb38..b62fcb06e032 100644
--- a/includes/installer/PostgresUpdater.php
+++ b/includes/installer/PostgresUpdater.php
@@ -476,6 +476,10 @@ class PostgresUpdater extends DatabaseUpdater {
// 1.43
[ 'migratePagelinks' ],
+ [ 'dropDefault', 'revision', 'rev_actor' ],
+ [ 'dropDefault', 'revision', 'rev_comment_id' ],
+ [ 'changeField', 'revision', 'rev_id', 'BIGINT', '' ],
+ [ 'changeField', 'revision', 'rev_parent_id', 'BIGINT', '' ],
];
}
diff --git a/includes/installer/SqliteUpdater.php b/includes/installer/SqliteUpdater.php
index 03438cf4a4c8..09be5c6daab4 100644
--- a/includes/installer/SqliteUpdater.php
+++ b/includes/installer/SqliteUpdater.php
@@ -158,6 +158,7 @@ class SqliteUpdater extends DatabaseUpdater {
// 1.43
[ 'migratePagelinks' ],
+ [ 'modifyField', 'revision', 'rev_id', 'patch-revision-cleanup.sql' ],
];
}
diff --git a/includes/specials/SpecialMovePage.php b/includes/specials/SpecialMovePage.php
index bb2e4311fe64..36c36321c207 100644
--- a/includes/specials/SpecialMovePage.php
+++ b/includes/specials/SpecialMovePage.php
@@ -306,7 +306,7 @@ class SpecialMovePage extends UnlistedSpecialPage {
$mp = $this->movePageFactory->newMovePage( $this->oldTitle, $newTitle );
$status = $mp->isValidMove();
$status->merge( $mp->probablyCanMove( $this->getAuthority() ) );
- if ( $status->getErrors() ) {
+ if ( $status->getMessages() ) {
$err = $status->getErrorsArray();
}
}
diff --git a/includes/specials/SpecialSearch.php b/includes/specials/SpecialSearch.php
index 837b142a95c9..7fc0eb2cfb76 100644
--- a/includes/specials/SpecialSearch.php
+++ b/includes/specials/SpecialSearch.php
@@ -504,7 +504,7 @@ class SpecialSearch extends SpecialPage {
$out->addHTML( $dymWidget->render( $term, $textMatches ) );
}
- $hasSearchErrors = $textStatus && $textStatus->getErrors() !== [];
+ $hasSearchErrors = $textStatus && $textStatus->getMessages() !== [];
$hasInlineIwResults = $textMatches &&
$textMatches->hasInterwikiResults( ISearchResultSet::INLINE_RESULTS );
$hasSecondaryIwResults = $textMatches &&
@@ -521,19 +521,19 @@ class SpecialSearch extends SpecialPage {
$out->addHTML( '<div class="mw-search-results-info">' );
- if ( $hasSearchErrors || $this->loadStatus->getErrors() ) {
+ if ( $hasSearchErrors || $this->loadStatus->getMessages() ) {
if ( $textStatus === null ) {
$textStatus = $this->loadStatus;
} else {
$textStatus->merge( $this->loadStatus );
}
[ $error, $warning ] = $textStatus->splitByErrorType();
- if ( $error->getErrors() ) {
+ if ( $error->getMessages() ) {
$out->addHTML( Html::errorBox(
$error->getHTML( 'search-error' )
) );
}
- if ( $warning->getErrors() ) {
+ if ( $warning->getMessages() ) {
$out->addHTML( Html::warningBox(
$warning->getHTML( 'search-warning' )
) );
diff --git a/maintenance/abstractSchemaChanges/patch-revision-cleanup.json b/maintenance/abstractSchemaChanges/patch-revision-cleanup.json
new file mode 100644
index 000000000000..1c24e7070623
--- /dev/null
+++ b/maintenance/abstractSchemaChanges/patch-revision-cleanup.json
@@ -0,0 +1,188 @@
+{
+ "before": {
+ "name": "revision",
+ "comment": "Every edit of a page creates also a revision row. This stores metadata about the revision, and a reference to the text storage backend.",
+ "columns": [
+ {
+ "name": "rev_id",
+ "comment": "Unique ID to identify each revision",
+ "type": "integer",
+ "options": { "unsigned": true, "notnull": true, "autoincrement": true }
+ },
+ {
+ "name": "rev_page",
+ "comment": "Key to page_id. This should never be invalid",
+ "type": "integer",
+ "options": { "unsigned": true, "notnull": true }
+ },
+ {
+ "name": "rev_comment_id",
+ "comment": "Key to comment.comment_id. Comment summarizing the change",
+ "type": "bigint",
+ "options": { "unsigned": true, "notnull": true, "default": 0 }
+ },
+ {
+ "name": "rev_actor",
+ "comment": "Key to actor.actor_id of the user or IP who made this edit",
+ "type": "bigint",
+ "options": { "unsigned": true, "notnull": true, "default": 0 }
+ },
+ {
+ "name": "rev_timestamp",
+ "comment": "Timestamp of when revision was created",
+ "type": "mwtimestamp",
+ "options": { "notnull": true }
+ },
+ {
+ "name": "rev_minor_edit",
+ "comment": "Records whether the user marked the 'minor edit' checkbox. Many automated edits are marked as minor",
+ "type": "mwtinyint",
+ "options": { "notnull": true, "unsigned": true, "default": 0 }
+ },
+ {
+ "name": "rev_deleted",
+ "comment": "Restrictions on who can access this revision",
+ "type": "mwtinyint",
+ "options": { "notnull": true, "unsigned": true, "default": 0 }
+ },
+ {
+ "name": "rev_len",
+ "comment": "Length of this revision in bytes",
+ "type": "integer",
+ "options": { "unsigned": true, "notnull": false }
+ },
+ {
+ "name": "rev_parent_id",
+ "comment": "Key to revision.rev_id. This field is used to add support for a tree structure (The Adjacency List Model)",
+ "type": "integer",
+ "options": { "unsigned": true, "notnull": false }
+ },
+ {
+ "name": "rev_sha1",
+ "comment": "SHA-1 text content hash in base-36",
+ "type": "binary",
+ "options": { "length": 32, "notnull": true, "default": "" }
+ }
+ ],
+ "indexes": [
+ {
+ "name": "rev_timestamp",
+ "columns": [ "rev_timestamp" ],
+ "comment": "Used by ApiQueryAllRevisions",
+ "unique": false
+ },
+ {
+ "name": "rev_page_timestamp",
+ "columns": [ "rev_page", "rev_timestamp" ],
+ "comment": "History index",
+ "unique": false
+ },
+ {
+ "name": "rev_actor_timestamp",
+ "columns": [ "rev_actor", "rev_timestamp", "rev_id" ],
+ "comment": "User contributions index",
+ "unique": false
+ },
+ {
+ "name": "rev_page_actor_timestamp",
+ "columns": [ "rev_page", "rev_actor", "rev_timestamp" ],
+ "comment": "Credits index. This is scanned in order to compile credits lists for pages, in ApiQueryContributors. Also for ApiQueryRevisions if rvuser is specified",
+ "unique": false
+ }
+ ],
+ "pk": [ "rev_id" ]
+ },
+ "after": {
+ "name": "revision",
+ "comment": "Every edit of a page creates also a revision row. This stores metadata about the revision, and a reference to the text storage backend.",
+ "columns": [
+ {
+ "name": "rev_id",
+ "comment": "Unique ID to identify each revision",
+ "type": "bigint",
+ "options": { "unsigned": true, "notnull": true, "autoincrement": true }
+ },
+ {
+ "name": "rev_page",
+ "comment": "Key to page_id. This should never be invalid",
+ "type": "integer",
+ "options": { "unsigned": true, "notnull": true }
+ },
+ {
+ "name": "rev_comment_id",
+ "comment": "Key to comment.comment_id. Comment summarizing the change",
+ "type": "bigint",
+ "options": { "unsigned": true, "notnull": true }
+ },
+ {
+ "name": "rev_actor",
+ "comment": "Key to actor.actor_id of the user or IP who made this edit",
+ "type": "bigint",
+ "options": { "unsigned": true, "notnull": true }
+ },
+ {
+ "name": "rev_timestamp",
+ "comment": "Timestamp of when revision was created",
+ "type": "mwtimestamp",
+ "options": { "notnull": true }
+ },
+ {
+ "name": "rev_minor_edit",
+ "comment": "Records whether the user marked the 'minor edit' checkbox. Many automated edits are marked as minor",
+ "type": "mwtinyint",
+ "options": { "notnull": true, "unsigned": true, "default": 0 }
+ },
+ {
+ "name": "rev_deleted",
+ "comment": "Restrictions on who can access this revision",
+ "type": "mwtinyint",
+ "options": { "notnull": true, "unsigned": true, "default": 0 }
+ },
+ {
+ "name": "rev_len",
+ "comment": "Length of this revision in bytes",
+ "type": "integer",
+ "options": { "unsigned": true, "notnull": false }
+ },
+ {
+ "name": "rev_parent_id",
+ "comment": "Key to revision.rev_id. This field is used to add support for a tree structure (The Adjacency List Model)",
+ "type": "bigint",
+ "options": { "unsigned": true, "notnull": false }
+ },
+ {
+ "name": "rev_sha1",
+ "comment": "SHA-1 text content hash in base-36",
+ "type": "binary",
+ "options": { "length": 32, "notnull": true, "default": "" }
+ }
+ ],
+ "indexes": [
+ {
+ "name": "rev_timestamp",
+ "columns": [ "rev_timestamp" ],
+ "comment": "Used by ApiQueryAllRevisions",
+ "unique": false
+ },
+ {
+ "name": "rev_page_timestamp",
+ "columns": [ "rev_page", "rev_timestamp" ],
+ "comment": "History index",
+ "unique": false
+ },
+ {
+ "name": "rev_actor_timestamp",
+ "columns": [ "rev_actor", "rev_timestamp", "rev_id" ],
+ "comment": "User contributions index",
+ "unique": false
+ },
+ {
+ "name": "rev_page_actor_timestamp",
+ "columns": [ "rev_page", "rev_actor", "rev_timestamp" ],
+ "comment": "Credits index. This is scanned in order to compile credits lists for pages, in ApiQueryContributors. Also for ApiQueryRevisions if rvuser is specified",
+ "unique": false
+ }
+ ],
+ "pk": [ "rev_id" ]
+ }
+}
diff --git a/maintenance/archives/patch-revision-cleanup.sql b/maintenance/archives/patch-revision-cleanup.sql
new file mode 100644
index 000000000000..87f1b8e0cd57
--- /dev/null
+++ b/maintenance/archives/patch-revision-cleanup.sql
@@ -0,0 +1,9 @@
+-- This file is automatically generated using maintenance/generateSchemaChangeSql.php.
+-- Source: maintenance/abstractSchemaChanges/patch-revision-cleanup.json
+-- Do not modify this file directly.
+-- See https://www.mediawiki.org/wiki/Manual:Schema_changes
+ALTER TABLE /*_*/revision
+ CHANGE rev_id rev_id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL,
+ CHANGE rev_comment_id rev_comment_id BIGINT UNSIGNED NOT NULL,
+ CHANGE rev_actor rev_actor BIGINT UNSIGNED NOT NULL,
+ CHANGE rev_parent_id rev_parent_id BIGINT UNSIGNED DEFAULT NULL;
diff --git a/maintenance/postgres/archives/patch-revision-cleanup.sql b/maintenance/postgres/archives/patch-revision-cleanup.sql
new file mode 100644
index 000000000000..483d4b1ecfaa
--- /dev/null
+++ b/maintenance/postgres/archives/patch-revision-cleanup.sql
@@ -0,0 +1,14 @@
+-- This file is automatically generated using maintenance/generateSchemaChangeSql.php.
+-- Source: maintenance/abstractSchemaChanges/patch-revision-cleanup.json
+-- Do not modify this file directly.
+-- See https://www.mediawiki.org/wiki/Manual:Schema_changes
+ALTER TABLE revision
+ ALTER rev_id TYPE BIGINT;
+ALTER TABLE revision
+ ALTER rev_comment_id
+ DROP DEFAULT;
+ALTER TABLE revision
+ ALTER rev_actor
+ DROP DEFAULT;
+ALTER TABLE revision
+ ALTER rev_parent_id TYPE BIGINT;
diff --git a/maintenance/postgres/tables-generated.sql b/maintenance/postgres/tables-generated.sql
index e69985e9f895..a9120803073e 100644
--- a/maintenance/postgres/tables-generated.sql
+++ b/maintenance/postgres/tables-generated.sql
@@ -938,15 +938,15 @@ CREATE TABLE user_autocreate_serial (
CREATE TABLE revision (
- rev_id SERIAL NOT NULL,
+ rev_id BIGSERIAL NOT NULL,
rev_page INT NOT NULL,
- rev_comment_id BIGINT DEFAULT 0 NOT NULL,
- rev_actor BIGINT DEFAULT 0 NOT NULL,
+ rev_comment_id BIGINT NOT NULL,
+ rev_actor BIGINT NOT NULL,
rev_timestamp TIMESTAMPTZ NOT NULL,
rev_minor_edit SMALLINT DEFAULT 0 NOT NULL,
rev_deleted SMALLINT DEFAULT 0 NOT NULL,
rev_len INT DEFAULT NULL,
- rev_parent_id INT DEFAULT NULL,
+ rev_parent_id BIGINT DEFAULT NULL,
rev_sha1 TEXT DEFAULT '' NOT NULL,
PRIMARY KEY(rev_id)
);
diff --git a/maintenance/sqlite/archives/patch-revision-cleanup.sql b/maintenance/sqlite/archives/patch-revision-cleanup.sql
new file mode 100644
index 000000000000..0b070f11a755
--- /dev/null
+++ b/maintenance/sqlite/archives/patch-revision-cleanup.sql
@@ -0,0 +1,61 @@
+-- This file is automatically generated using maintenance/generateSchemaChangeSql.php.
+-- Source: maintenance/abstractSchemaChanges/patch-revision-cleanup.json
+-- Do not modify this file directly.
+-- See https://www.mediawiki.org/wiki/Manual:Schema_changes
+CREATE TEMPORARY TABLE /*_*/__temp__revision AS
+SELECT
+ rev_id,
+ rev_page,
+ rev_comment_id,
+ rev_actor,
+ rev_timestamp,
+ rev_minor_edit,
+ rev_deleted,
+ rev_len,
+ rev_parent_id,
+ rev_sha1
+FROM /*_*/revision;
+DROP TABLE /*_*/revision;
+
+
+CREATE TABLE /*_*/revision (
+ rev_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+ rev_page INTEGER UNSIGNED NOT NULL,
+ rev_comment_id BIGINT UNSIGNED NOT NULL,
+ rev_actor BIGINT UNSIGNED NOT NULL,
+ rev_timestamp BLOB NOT NULL, rev_minor_edit SMALLINT UNSIGNED DEFAULT 0 NOT NULL,
+ rev_deleted SMALLINT UNSIGNED DEFAULT 0 NOT NULL,
+ rev_len INTEGER UNSIGNED DEFAULT NULL,
+ rev_parent_id BIGINT UNSIGNED DEFAULT NULL,
+ rev_sha1 BLOB DEFAULT '' NOT NULL
+ );
+INSERT INTO /*_*/revision (
+ rev_id, rev_page, rev_comment_id,
+ rev_actor, rev_timestamp, rev_minor_edit,
+ rev_deleted, rev_len, rev_parent_id,
+ rev_sha1
+ )
+SELECT
+ rev_id,
+ rev_page,
+ rev_comment_id,
+ rev_actor,
+ rev_timestamp,
+ rev_minor_edit,
+ rev_deleted,
+ rev_len,
+ rev_parent_id,
+ rev_sha1
+FROM
+ /*_*/__temp__revision;
+DROP TABLE /*_*/__temp__revision;
+
+CREATE INDEX rev_timestamp ON /*_*/revision (rev_timestamp);
+
+CREATE INDEX rev_page_timestamp ON /*_*/revision (rev_page, rev_timestamp);
+
+CREATE INDEX rev_actor_timestamp ON /*_*/revision (rev_actor, rev_timestamp, rev_id);
+
+CREATE INDEX rev_page_actor_timestamp ON /*_*/revision (
+ rev_page, rev_actor, rev_timestamp
+ );
diff --git a/maintenance/sqlite/tables-generated.sql b/maintenance/sqlite/tables-generated.sql
index aaa0d8ecf821..e907998ff9d5 100644
--- a/maintenance/sqlite/tables-generated.sql
+++ b/maintenance/sqlite/tables-generated.sql
@@ -870,12 +870,12 @@ CREATE TABLE /*_*/user_autocreate_serial (
CREATE TABLE /*_*/revision (
rev_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
rev_page INTEGER UNSIGNED NOT NULL,
- rev_comment_id BIGINT UNSIGNED DEFAULT 0 NOT NULL,
- rev_actor BIGINT UNSIGNED DEFAULT 0 NOT NULL,
+ rev_comment_id BIGINT UNSIGNED NOT NULL,
+ rev_actor BIGINT UNSIGNED NOT NULL,
rev_timestamp BLOB NOT NULL, rev_minor_edit SMALLINT UNSIGNED DEFAULT 0 NOT NULL,
rev_deleted SMALLINT UNSIGNED DEFAULT 0 NOT NULL,
rev_len INTEGER UNSIGNED DEFAULT NULL,
- rev_parent_id INTEGER UNSIGNED DEFAULT NULL,
+ rev_parent_id BIGINT UNSIGNED DEFAULT NULL,
rev_sha1 BLOB DEFAULT '' NOT NULL
);
diff --git a/maintenance/tables-generated.sql b/maintenance/tables-generated.sql
index 602cd5feff63..ebb2e078f70a 100644
--- a/maintenance/tables-generated.sql
+++ b/maintenance/tables-generated.sql
@@ -880,15 +880,15 @@ CREATE TABLE /*_*/user_autocreate_serial (
CREATE TABLE /*_*/revision (
- rev_id INT UNSIGNED AUTO_INCREMENT NOT NULL,
+ rev_id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL,
rev_page INT UNSIGNED NOT NULL,
- rev_comment_id BIGINT UNSIGNED DEFAULT 0 NOT NULL,
- rev_actor BIGINT UNSIGNED DEFAULT 0 NOT NULL,
+ rev_comment_id BIGINT UNSIGNED NOT NULL,
+ rev_actor BIGINT UNSIGNED NOT NULL,
rev_timestamp BINARY(14) NOT NULL,
rev_minor_edit TINYINT UNSIGNED DEFAULT 0 NOT NULL,
rev_deleted TINYINT UNSIGNED DEFAULT 0 NOT NULL,
rev_len INT UNSIGNED DEFAULT NULL,
- rev_parent_id INT UNSIGNED DEFAULT NULL,
+ rev_parent_id BIGINT UNSIGNED DEFAULT NULL,
rev_sha1 VARBINARY(32) DEFAULT '' NOT NULL,
INDEX rev_timestamp (rev_timestamp),
INDEX rev_page_timestamp (rev_page, rev_timestamp),
diff --git a/maintenance/tables.json b/maintenance/tables.json
index b413f0fbcd73..a156c4f433c8 100644
--- a/maintenance/tables.json
+++ b/maintenance/tables.json
@@ -3818,7 +3818,7 @@
{
"name": "rev_id",
"comment": "Unique ID to identify each revision",
- "type": "integer",
+ "type": "bigint",
"options": { "unsigned": true, "notnull": true, "autoincrement": true }
},
{
@@ -3831,13 +3831,13 @@
"name": "rev_comment_id",
"comment": "Key to comment.comment_id. Comment summarizing the change",
"type": "bigint",
- "options": { "unsigned": true, "notnull": true, "default": 0 }
+ "options": { "unsigned": true, "notnull": true }
},
{
"name": "rev_actor",
"comment": "Key to actor.actor_id of the user or IP who made this edit",
"type": "bigint",
- "options": { "unsigned": true, "notnull": true, "default": 0 }
+ "options": { "unsigned": true, "notnull": true }
},
{
"name": "rev_timestamp",
@@ -3866,7 +3866,7 @@
{
"name": "rev_parent_id",
"comment": "Key to revision.rev_id. This field is used to add support for a tree structure (The Adjacency List Model)",
- "type": "integer",
+ "type": "bigint",
"options": { "unsigned": true, "notnull": false }
},
{