diff options
-rw-r--r-- | RELEASE-NOTES-1.43 | 2 | ||||
-rw-r--r-- | composer.json | 7 | ||||
-rw-r--r-- | includes/block/AbstractBlock.php | 27 | ||||
-rw-r--r-- | includes/block/DatabaseBlock.php | 11 | ||||
-rw-r--r-- | includes/installer/MysqlUpdater.php | 1 | ||||
-rw-r--r-- | includes/installer/PostgresUpdater.php | 4 | ||||
-rw-r--r-- | includes/installer/SqliteUpdater.php | 1 | ||||
-rw-r--r-- | includes/specials/SpecialMovePage.php | 2 | ||||
-rw-r--r-- | includes/specials/SpecialSearch.php | 8 | ||||
-rw-r--r-- | maintenance/abstractSchemaChanges/patch-revision-cleanup.json | 188 | ||||
-rw-r--r-- | maintenance/archives/patch-revision-cleanup.sql | 9 | ||||
-rw-r--r-- | maintenance/postgres/archives/patch-revision-cleanup.sql | 14 | ||||
-rw-r--r-- | maintenance/postgres/tables-generated.sql | 8 | ||||
-rw-r--r-- | maintenance/sqlite/archives/patch-revision-cleanup.sql | 61 | ||||
-rw-r--r-- | maintenance/sqlite/tables-generated.sql | 6 | ||||
-rw-r--r-- | maintenance/tables-generated.sql | 8 | ||||
-rw-r--r-- | maintenance/tables.json | 8 |
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 } }, { |