wiki.techinc.nl/maintenance/sqlite/archives/patch-logging-drop-log_actor-DEFAULT.sql
Aaron Schulz 86533ae590 Drop DEFAULT from *_actor columns for SQLite tables that still have it
These were left out by mistake (made easier by a bug where some phpunit
tests never run). Fixing the test bug is blocked on fixing the SQLite
schema so that DatabaseSqliteTest.php passes when it actually runs.

Bug: T246077
Change-Id: I75d7a7fb56a07c2984e987b6136e1fd00615c421
2020-03-19 21:17:56 -07:00

41 lines
1.7 KiB
PL/PgSQL

--
-- patch-logging-drop-log_actor-DEFAULT.sql
--
-- T246077. Drop DEFAULT from log_actor (forgotten in patch-filearchive-drop-log_user.sql).
BEGIN;
DROP TABLE IF EXISTS /*_*/logging_tmp;
CREATE TABLE /*_*/logging_tmp (
log_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
log_type varbinary(32) NOT NULL default '',
log_action varbinary(32) NOT NULL default '',
log_timestamp binary(14) NOT NULL default '19700101000000',
log_actor bigint unsigned NOT NULL,
log_namespace int NOT NULL default 0,
log_title varchar(255) binary NOT NULL default '',
log_page int unsigned NULL,
log_comment_id bigint unsigned NOT NULL,
log_params blob NOT NULL,
log_deleted tinyint unsigned NOT NULL default 0
) /*$wgDBTableOptions*/;
INSERT OR IGNORE INTO /*_*/logging_tmp (
log_id, log_type, log_action, log_timestamp, log_actor,
log_namespace, log_title, log_page, log_comment_id, log_params, log_deleted
) SELECT
log_id, log_type, log_action, log_timestamp, log_actor,
log_namespace, log_title, log_page, log_comment_id, log_params, log_deleted
FROM /*_*/logging;
DROP TABLE /*_*/logging;
ALTER TABLE /*_*/logging_tmp RENAME TO /*_*/logging;
CREATE INDEX /*i*/type_time ON /*_*/logging (log_type, log_timestamp);
CREATE INDEX /*i*/actor_time ON /*_*/logging (log_actor, log_timestamp);
CREATE INDEX /*i*/page_time ON /*_*/logging (log_namespace, log_title, log_timestamp);
CREATE INDEX /*i*/times ON /*_*/logging (log_timestamp);
CREATE INDEX /*i*/log_actor_type_time ON /*_*/logging (log_actor, log_type, log_timestamp);
CREATE INDEX /*i*/log_page_id_time ON /*_*/logging (log_page,log_timestamp);
CREATE INDEX /*i*/log_type_action ON /*_*/logging (log_type, log_action, log_timestamp);
COMMIT;