Drop rc_cur_time from recentchanges

Field was removed in 1.23 from sql statements, but kept to allow easier
rollback on version update from 1.22 -> 1.23, when something gets wrong
with the new version.

Bug: 40667
Follow-Up: I4a9c2fa813d1f25dfb755e564f7677a212934d7b
Change-Id: I48989aceec31019f0b6c98aaeafaf60e975244df
This commit is contained in:
umherirrender 2014-04-14 20:44:22 +02:00 committed by Umherirrender
parent d2effb755b
commit 2b441eba40
5 changed files with 49 additions and 5 deletions

View file

@ -253,6 +253,7 @@ class MysqlUpdater extends DatabaseUpdater {
// 1.24
array( 'addField', 'page_props', 'pp_sortkey', 'patch-pp_sortkey.sql' ),
array( 'dropField', 'recentchanges', 'rc_cur_time', 'patch-drop-rc_cur_time.sql' ),
);
}

View file

@ -131,6 +131,7 @@ class SqliteUpdater extends DatabaseUpdater {
// 1.24
array( 'addField', 'page_props', 'pp_sortkey', 'patch-pp_sortkey.sql' ),
array( 'dropField', 'recentchanges', 'rc_cur_time', 'patch-drop-rc_cur_time.sql' ),
);
}

View file

@ -0,0 +1,2 @@
-- rc_cur_time is no longer used, delete the field
ALTER TABLE /*$wgDBprefix*/recentchanges DROP COLUMN rc_cur_time;

View file

@ -0,0 +1,45 @@
-- rc_cur_time is no longer used, delete the field
CREATE TABLE /*_*/recentchanges_tmp (
rc_id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
rc_timestamp varbinary(14) NOT NULL default '',
rc_user int unsigned NOT NULL default 0,
rc_user_text varchar(255) binary NOT NULL,
rc_namespace int NOT NULL default 0,
rc_title varchar(255) binary NOT NULL default '',
rc_comment varchar(255) binary NOT NULL default '',
rc_minor tinyint unsigned NOT NULL default 0,
rc_bot tinyint unsigned NOT NULL default 0,
rc_new tinyint unsigned NOT NULL default 0,
rc_cur_id int unsigned NOT NULL default 0,
rc_this_oldid int unsigned NOT NULL default 0,
rc_last_oldid int unsigned NOT NULL default 0,
rc_type tinyint unsigned NOT NULL default 0,
rc_source varchar(16) binary not null default '',
rc_patrolled tinyint unsigned NOT NULL default 0,
rc_ip varbinary(40) NOT NULL default '',
rc_old_len int,
rc_new_len int,
rc_deleted tinyint unsigned NOT NULL default 0,
rc_logid int unsigned NOT NULL default 0,
rc_log_type varbinary(255) NULL default NULL,
rc_log_action varbinary(255) NULL default NULL,
rc_params blob NULL
) /*$wgDBTableOptions*/;
INSERT INTO /*_*/recentchanges_tmp
SELECT rc_id, rc_timestamp, rc_user, rc_user_text, rc_namespace, rc_title, rc_comment, rc_minor,
rc_bot, rc_new, rc_cur_id, rc_this_oldid, rc_last_oldid, rc_type, rc_source, rc_patrolled,
rc_ip, rc_old_len, rc_new_len, rc_deleted, rc_logid, rc_log_type, rc_log_action, rc_params
FROM /*_*/recentchanges;
DROP TABLE /*_*/recentchanges;
ALTER TABLE /*_*/recentchanges_tmp RENAME TO /*_*/recentchanges;
CREATE INDEX /*i*/rc_timestamp ON /*_*/recentchanges (rc_timestamp);
CREATE INDEX /*i*/rc_namespace_title ON /*_*/recentchanges (rc_namespace, rc_title);
CREATE INDEX /*i*/rc_cur_id ON /*_*/recentchanges (rc_cur_id);
CREATE INDEX /*i*/new_name_timestamp ON /*_*/recentchanges (rc_new,rc_namespace,rc_timestamp);
CREATE INDEX /*i*/rc_ip ON /*_*/recentchanges (rc_ip);
CREATE INDEX /*i*/rc_ns_usertext ON /*_*/recentchanges (rc_namespace, rc_user_text);
CREATE INDEX /*i*/rc_user_text ON /*_*/recentchanges (rc_user_text, rc_timestamp);

View file

@ -1035,11 +1035,6 @@ CREATE TABLE /*_*/recentchanges (
rc_id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
rc_timestamp varbinary(14) NOT NULL default '',
-- This is no longer used
-- Field kept in database for downgrades
-- @todo: add drop patch with 1.24
rc_cur_time varbinary(14) NOT NULL default '',
-- As in revision
rc_user int unsigned NOT NULL default 0,
rc_user_text varchar(255) binary NOT NULL,