*
* @param Revision $rev
*
- * @todo This is a shitty interface function. Kill it and replace the
- * other shitty functions like editUpdates and such so it's not needed
+ * @todo This is a lousy interface function. Kill it and replace the
+ * other cruddy functions like editUpdates and such so it's not needed
* anymore.
*/
function createUpdates( $rev ) {
--- /dev/null
+-- New index on revision table to allow searches for all edits by a given user
+-- to a given page. Added 2007-08-28
+
+ALTER TABLE /*$wgDBprefix*/revision
+ ADD INDEX page_user_timestamp (rev_page,rev_user,rev_timestamp);
INDEX rev_timestamp (rev_timestamp),
INDEX page_timestamp (rev_page,rev_timestamp),
INDEX user_timestamp (rev_user,rev_timestamp),
- INDEX usertext_timestamp (rev_user_text,rev_timestamp)
+ INDEX usertext_timestamp (rev_user_text,rev_timestamp),
+ INDEX page_user_timestamp (rev_page,rev_user,rev_timestamp)
) /*$wgDBTableOptions*/ MAX_ROWS=10000000 AVG_ROW_LENGTH=1024;
-- In case tables are created as MyISAM, use row hints for MySQL <5.0 to avoid 4GB limit
do_oldimage_user_index(); flush ();
+ do_revision_page_user_index(); flush ();
+
echo "Deleting old default messages (this may take a long time!)..."; flush();
deleteDefaultMessages();
echo "Done\n"; flush();
}
+function do_revision_page_user_index() {
+ global $wgDatabase;
+ if( $wgDatabase->indexExists( 'revision', 'page_user_timestamp' ) ) {
+ echo "...page,user,timestamp key on revision already exists.\n";
+ } else {
+ echo "Adding page,user,timestamp key on revision table... ";
+ dbsource( archive("patch-revision-user-page-index.sql"), $wgDatabase );
+ echo "ok\n";
+ }
+}
+
function
pg_describe_table($table)
{
}
return;
-}
\ No newline at end of file
+}