summaryrefslogtreecommitdiff
path: root/maintenance/archives
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/archives')
-rw-r--r--maintenance/archives/patch-archive-page_id.sql6
-rw-r--r--maintenance/archives/patch-archive-user-index.sql4
-rw-r--r--maintenance/archives/patch-categorylinksindex.sql11
-rw-r--r--maintenance/archives/patch-image-user-index.sql8
-rw-r--r--maintenance/archives/patch-img_sha1.sql8
-rw-r--r--maintenance/archives/patch-ipb_emailban.sql4
-rw-r--r--maintenance/archives/patch-oi_metadata.sql17
-rw-r--r--maintenance/archives/patch-oldimage-user-index.sql8
-rw-r--r--maintenance/archives/patch-page_restrictions.sql2
-rw-r--r--maintenance/archives/patch-rc_deleted.sql2
-rw-r--r--maintenance/archives/populateSha1.php43
-rw-r--r--maintenance/archives/upgradeWatchlist.php2
12 files changed, 111 insertions, 4 deletions
diff --git a/maintenance/archives/patch-archive-page_id.sql b/maintenance/archives/patch-archive-page_id.sql
new file mode 100644
index 00000000..47a1c47e
--- /dev/null
+++ b/maintenance/archives/patch-archive-page_id.sql
@@ -0,0 +1,6 @@
+-- Reference to page_id. Useful for sysadmin fixing of large
+-- pages merged together in the archives
+-- Added 2007-07-21
+
+ALTER TABLE /*$wgDBprefix*/archive
+ ADD ar_page_id int unsigned;
diff --git a/maintenance/archives/patch-archive-user-index.sql b/maintenance/archives/patch-archive-user-index.sql
new file mode 100644
index 00000000..62baa2dd
--- /dev/null
+++ b/maintenance/archives/patch-archive-user-index.sql
@@ -0,0 +1,4 @@
+-- Adds a user,timestamp index to the archive table
+-- Used for browsing deleted contributions and renames
+ALTER TABLE /*$wgDBprefix*/archive
+ ADD INDEX usertext_timestamp ( ar_user_text , ar_timestamp );
diff --git a/maintenance/archives/patch-categorylinksindex.sql b/maintenance/archives/patch-categorylinksindex.sql
new file mode 100644
index 00000000..8a9ff123
--- /dev/null
+++ b/maintenance/archives/patch-categorylinksindex.sql
@@ -0,0 +1,11 @@
+--
+-- patch-categorylinksindex.sql
+--
+-- Per bug 10280 / http://bugzilla.wikimedia.org/show_bug.cgi?id=10280
+--
+-- Improve enum continuation performance of the what pages belong to a category query
+--
+
+ALTER TABLE /*$wgDBprefix*/categorylinks
+ DROP INDEX cl_sortkey,
+ ADD INDEX cl_sortkey(cl_to, cl_sortkey, cl_from);
diff --git a/maintenance/archives/patch-image-user-index.sql b/maintenance/archives/patch-image-user-index.sql
new file mode 100644
index 00000000..db56b221
--- /dev/null
+++ b/maintenance/archives/patch-image-user-index.sql
@@ -0,0 +1,8 @@
+--
+-- image-user-index.sql
+--
+-- Add user/timestamp index to current image versions
+--
+
+ALTER TABLE /*$wgDBprefix*/image
+ ADD INDEX img_usertext_timestamp (img_user_text,img_timestamp);
diff --git a/maintenance/archives/patch-img_sha1.sql b/maintenance/archives/patch-img_sha1.sql
new file mode 100644
index 00000000..35950f58
--- /dev/null
+++ b/maintenance/archives/patch-img_sha1.sql
@@ -0,0 +1,8 @@
+-- Add img_sha1, oi_sha1 and related indexes
+ALTER TABLE /*$wgDBprefix*/image
+ ADD COLUMN img_sha1 varbinary(32) NOT NULL default '',
+ ADD INDEX img_sha1 (img_sha1);
+
+ALTER TABLE /*$wgDBprefix*/oldimage
+ ADD COLUMN oi_sha1 varbinary(32) NOT NULL default '',
+ ADD INDEX oi_sha1 (oi_sha1);
diff --git a/maintenance/archives/patch-ipb_emailban.sql b/maintenance/archives/patch-ipb_emailban.sql
new file mode 100644
index 00000000..e05c20b3
--- /dev/null
+++ b/maintenance/archives/patch-ipb_emailban.sql
@@ -0,0 +1,4 @@
+-- Add row for email blocks --
+
+ALTER TABLE /*$wgDBprefix*/ipblocks
+ ADD ipb_block_email tinyint NOT NULL default '0';
diff --git a/maintenance/archives/patch-oi_metadata.sql b/maintenance/archives/patch-oi_metadata.sql
new file mode 100644
index 00000000..bc848878
--- /dev/null
+++ b/maintenance/archives/patch-oi_metadata.sql
@@ -0,0 +1,17 @@
+--
+-- patch-oi_metadata.sql
+--
+-- Add data to allow for direct reference to old images
+-- Some re-indexing here.
+-- Old images can be included into pages effeciently now.
+--
+
+ALTER TABLE /*$wgDBprefix*/oldimage
+ DROP INDEX oi_name,
+ ADD INDEX oi_name_timestamp (oi_name,oi_timestamp),
+ ADD INDEX oi_name_archive_name (oi_name,oi_archive_name(14)),
+ ADD oi_metadata mediumblob NOT NULL,
+ ADD oi_media_type ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE") default NULL,
+ ADD oi_major_mime ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart") NOT NULL default "unknown",
+ ADD oi_minor_mime varbinary(32) NOT NULL default "unknown",
+ ADD oi_deleted tinyint unsigned NOT NULL default '0';
diff --git a/maintenance/archives/patch-oldimage-user-index.sql b/maintenance/archives/patch-oldimage-user-index.sql
new file mode 100644
index 00000000..949625eb
--- /dev/null
+++ b/maintenance/archives/patch-oldimage-user-index.sql
@@ -0,0 +1,8 @@
+--
+-- oldimage-user-index.sql
+--
+-- Add user/timestamp index to old image versions
+--
+
+ALTER TABLE /*$wgDBprefix*/oldimage
+ ADD INDEX oi_usertext_timestamp (oi_user_text,oi_timestamp);
diff --git a/maintenance/archives/patch-page_restrictions.sql b/maintenance/archives/patch-page_restrictions.sql
index c18a054e..6813c1e7 100644
--- a/maintenance/archives/patch-page_restrictions.sql
+++ b/maintenance/archives/patch-page_restrictions.sql
@@ -14,8 +14,6 @@ CREATE TABLE /*$wgDBprefix*/page_restrictions (
pr_expiry varbinary(14) NULL,
PRIMARY KEY pr_pagetype (pr_page,pr_type),
-
- KEY pr_page (pr_page),
KEY pr_typelevel (pr_type,pr_level),
KEY pr_level (pr_level),
KEY pr_cascade (pr_cascade)
diff --git a/maintenance/archives/patch-rc_deleted.sql b/maintenance/archives/patch-rc_deleted.sql
index cc668433..04ead974 100644
--- a/maintenance/archives/patch-rc_deleted.sql
+++ b/maintenance/archives/patch-rc_deleted.sql
@@ -5,4 +5,4 @@ ALTER TABLE /*$wgDBprefix*/recentchanges
ADD rc_logid int unsigned NOT NULL default '0',
ADD rc_log_type varbinary(255) NULL default NULL,
ADD rc_log_action varbinary(255) NULL default NULL,
- ADD rc_params blob NOT NULL default '';
+ ADD rc_params BLOB NULL;
diff --git a/maintenance/archives/populateSha1.php b/maintenance/archives/populateSha1.php
new file mode 100644
index 00000000..a34d36d3
--- /dev/null
+++ b/maintenance/archives/populateSha1.php
@@ -0,0 +1,43 @@
+<?php
+
+# Optional upgrade script to populate the img_sha1 field
+
+$optionsWithArgs = array( 'method' );
+require_once( dirname(__FILE__).'/../commandLine.inc' );
+$method = isset( $args['method'] ) ? $args['method'] : 'normal';
+
+$t = -microtime( true );
+$fname = 'populateSha1.php';
+$dbw = wfGetDB( DB_MASTER );
+$res = $dbw->select( 'image', array( 'img_name' ), array( 'img_sha1' => '' ), $fname );
+$imageTable = $dbw->tableName( 'image' );
+$oldimageTable = $dbw->tableName( 'oldimage' );
+$batch = array();
+
+$cmd = 'mysql -u ' . wfEscapeShellArg( $wgDBuser ) . ' -p' . wfEscapeShellArg( $wgDBpassword, $wgDBname );
+if ( $method == 'pipe' ) {
+ $pipe = popen( $cmd, 'w' );
+ fwrite( $pipe, "-- hello\n" );
+}
+
+foreach ( $res as $row ) {
+ $file = wfLocalFile( $row->img_name );
+ $sha1 = File::sha1Base36( $file->getPath() );
+ if ( strval( $sha1 ) !== '' ) {
+ $sql = "UPDATE $imageTable SET img_sha1=" . $dbw->addQuotes( $sha1 ) .
+ " WHERE img_name=" . $dbw->addQuotes( $row->img_name );
+ if ( $method == 'pipe' ) {
+ fwrite( $pipe, $sql );
+ } else {
+ $dbw->query( $sql, $fname );
+ }
+ }
+}
+if ( $method == 'pipe' ) {
+ fflush( $pipe );
+ pclose( $pipe );
+}
+$t += microtime( true );
+print "Done in $t seconds\n";
+
+?>
diff --git a/maintenance/archives/upgradeWatchlist.php b/maintenance/archives/upgradeWatchlist.php
index 250c6677..e62a39ad 100644
--- a/maintenance/archives/upgradeWatchlist.php
+++ b/maintenance/archives/upgradeWatchlist.php
@@ -63,4 +63,4 @@ $sql = "ALTER TABLE watchlist
ADD INDEX wl_page (wl_page)";
#wfQuery( $sql, DB_MASTER );
-?>
+