[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Don't unconditionally run patch-editsummary-length.sql
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/378638 ) Change subject: Don't unconditionally run patch-editsummary-length.sql .. Don't unconditionally run patch-editsummary-length.sql Bug: T176041 Change-Id: I165ee4fa1c0cfadf5f8f400a0ea9db220ed7dbbb --- M includes/installer/MysqlUpdater.php M maintenance/archives/patch-editsummary-length.sql 2 files changed, 24 insertions(+), 8 deletions(-) Approvals: Reedy: Looks good to me, but someone else must approve jenkins-bot: Verified Anomie: Looks good to me, approved diff --git a/includes/installer/MysqlUpdater.php b/includes/installer/MysqlUpdater.php index 2abc6b6..e2ff960 100644 --- a/includes/installer/MysqlUpdater.php +++ b/includes/installer/MysqlUpdater.php @@ -267,7 +267,7 @@ // 1.25 // note this patch covers other _comment and _description fields too - [ 'modifyField', 'recentchanges', 'rc_comment', 'patch-editsummary-length.sql' ], + [ 'doExtendCommentLengths' ], // 1.26 [ 'dropTable', 'hitcounter' ], @@ -1181,6 +1181,22 @@ ); } + protected function doExtendCommentLengths() { + $table = $this->db->tableName( 'revision' ); + $res = $this->db->query( "SHOW COLUMNS FROM $table LIKE 'rev_comment'" ); + $row = $this->db->fetchObject( $res ); + + if ( $row && ( $row->Type !== "varbinary(767)" || $row->Default !== "" ) ) { + $this->applyPatch( + 'patch-editsummary-length.sql', + false, + 'Extending edit summary lengths (and setting defaults)' + ); + } else { + $this->output( '...comment fields are up to date' ); + } + } + public function getSchemaVars() { global $wgDBTableOptions; diff --git a/maintenance/archives/patch-editsummary-length.sql b/maintenance/archives/patch-editsummary-length.sql index c8ac1ad..996d562 100644 --- a/maintenance/archives/patch-editsummary-length.sql +++ b/maintenance/archives/patch-editsummary-length.sql @@ -1,11 +1,11 @@ -ALTER TABLE /*_*/revision MODIFY rev_comment varbinary(767) NOT NULL; -ALTER TABLE /*_*/archive MODIFY ar_comment varbinary(767) NOT NULL; -ALTER TABLE /*_*/image MODIFY img_description varbinary(767) NOT NULL; -ALTER TABLE /*_*/oldimage MODIFY oi_description varbinary(767) NOT NULL; -ALTER TABLE /*_*/filearchive MODIFY fa_description varbinary(767); +ALTER TABLE /*_*/revision MODIFY rev_comment varbinary(767) NOT NULL default ''; +ALTER TABLE /*_*/archive MODIFY ar_comment varbinary(767) NOT NULL default ''; +ALTER TABLE /*_*/image MODIFY img_description varbinary(767) NOT NULL default ''; +ALTER TABLE /*_*/oldimage MODIFY oi_description varbinary(767) NOT NULL default ''; +ALTER TABLE /*_*/filearchive MODIFY fa_description varbinary(767) default ''; ALTER TABLE /*_*/filearchive MODIFY fa_deleted_reason varbinary(767) default ''; ALTER TABLE /*_*/recentchanges MODIFY rc_comment varbinary(767) NOT NULL default ''; ALTER TABLE /*_*/logging MODIFY log_comment varbinary(767) NOT NULL default ''; -ALTER TABLE /*_*/ipblocks MODIFY ipb_reason varbinary(767) NOT NULL; -ALTER TABLE /*_*/protected_titles MODIFY pt_reason varbinary(767); +ALTER TABLE /*_*/ipblocks MODIFY ipb_reason varbinary(767) NOT NULL default ''; +ALTER TABLE /*_*/protected_titles MODIFY pt_reason varbinary(767) default ''; -- To view, visit https://gerrit.wikimedia.org/r/378638 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I165ee4fa1c0cfadf5f8f400a0ea9db220ed7dbbb Gerrit-PatchSet: 5 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: ReedyGerrit-Reviewer: Anomie Gerrit-Reviewer: Huji Gerrit-Reviewer: Jjanes Gerrit-Reviewer: Parent5446 Gerrit-Reviewer: Reedy Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Don't unconditionally run patch-editsummary-length.sql
Reedy has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/378638 ) Change subject: Don't unconditionally run patch-editsummary-length.sql .. Don't unconditionally run patch-editsummary-length.sql Bug: T176041 Change-Id: I165ee4fa1c0cfadf5f8f400a0ea9db220ed7dbbb --- M includes/installer/MysqlUpdater.php M includes/libs/rdbms/field/MySQLField.php M maintenance/archives/patch-editsummary-length.sql 3 files changed, 33 insertions(+), 8 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/38/378638/1 diff --git a/includes/installer/MysqlUpdater.php b/includes/installer/MysqlUpdater.php index 2abc6b6..c74e53a 100644 --- a/includes/installer/MysqlUpdater.php +++ b/includes/installer/MysqlUpdater.php @@ -267,7 +267,7 @@ // 1.25 // note this patch covers other _comment and _description fields too - [ 'modifyField', 'recentchanges', 'rc_comment', 'patch-editsummary-length.sql' ], + [ 'doExtendCommentLengths' ], // 1.26 [ 'dropTable', 'hitcounter' ], @@ -1181,6 +1181,24 @@ ); } + protected function doExtendCommentLengths() { + /** +* @var MysqlField $info +*/ + $info = $this->db->fieldInfo( 'recentchanges', 'rc_comment' ); + if ( $info === false ) { + return false; + } + if ( $info->maxLength() == 767 ) { + $this->output( "...recentchanges.rc_comment is already the correct length.\n" ); + } + return $this->applyPatch( + 'patch-editsummary-length.sql', + false, + 'Extending edit summary lengths' + ); + } + public function getSchemaVars() { global $wgDBTableOptions; diff --git a/includes/libs/rdbms/field/MySQLField.php b/includes/libs/rdbms/field/MySQLField.php index 709c61e..bb8f520 100644 --- a/includes/libs/rdbms/field/MySQLField.php +++ b/includes/libs/rdbms/field/MySQLField.php @@ -58,6 +58,13 @@ } /** +* @return int +*/ + function maxLength() { + return $this->max_length; + } + + /** * @return bool */ function isKey() { diff --git a/maintenance/archives/patch-editsummary-length.sql b/maintenance/archives/patch-editsummary-length.sql index c8ac1ad..996d562 100644 --- a/maintenance/archives/patch-editsummary-length.sql +++ b/maintenance/archives/patch-editsummary-length.sql @@ -1,11 +1,11 @@ -ALTER TABLE /*_*/revision MODIFY rev_comment varbinary(767) NOT NULL; -ALTER TABLE /*_*/archive MODIFY ar_comment varbinary(767) NOT NULL; -ALTER TABLE /*_*/image MODIFY img_description varbinary(767) NOT NULL; -ALTER TABLE /*_*/oldimage MODIFY oi_description varbinary(767) NOT NULL; -ALTER TABLE /*_*/filearchive MODIFY fa_description varbinary(767); +ALTER TABLE /*_*/revision MODIFY rev_comment varbinary(767) NOT NULL default ''; +ALTER TABLE /*_*/archive MODIFY ar_comment varbinary(767) NOT NULL default ''; +ALTER TABLE /*_*/image MODIFY img_description varbinary(767) NOT NULL default ''; +ALTER TABLE /*_*/oldimage MODIFY oi_description varbinary(767) NOT NULL default ''; +ALTER TABLE /*_*/filearchive MODIFY fa_description varbinary(767) default ''; ALTER TABLE /*_*/filearchive MODIFY fa_deleted_reason varbinary(767) default ''; ALTER TABLE /*_*/recentchanges MODIFY rc_comment varbinary(767) NOT NULL default ''; ALTER TABLE /*_*/logging MODIFY log_comment varbinary(767) NOT NULL default ''; -ALTER TABLE /*_*/ipblocks MODIFY ipb_reason varbinary(767) NOT NULL; -ALTER TABLE /*_*/protected_titles MODIFY pt_reason varbinary(767); +ALTER TABLE /*_*/ipblocks MODIFY ipb_reason varbinary(767) NOT NULL default ''; +ALTER TABLE /*_*/protected_titles MODIFY pt_reason varbinary(767) default ''; -- To view, visit https://gerrit.wikimedia.org/r/378638 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I165ee4fa1c0cfadf5f8f400a0ea9db220ed7dbbb Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Reedy___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits