summaryrefslogtreecommitdiff
path: root/maintenance/deleteArchivedRevisions.inc
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/deleteArchivedRevisions.inc')
-rw-r--r--maintenance/deleteArchivedRevisions.inc35
1 files changed, 35 insertions, 0 deletions
diff --git a/maintenance/deleteArchivedRevisions.inc b/maintenance/deleteArchivedRevisions.inc
new file mode 100644
index 00000000..f820ccb0
--- /dev/null
+++ b/maintenance/deleteArchivedRevisions.inc
@@ -0,0 +1,35 @@
+<?php
+
+/**
+ * Support functions for the deleteArchivedRevisions script
+ *
+ * @addtogroup Maintenance
+ * @author Aaron Schulz
+ */
+
+require_once( 'purgeOldText.inc' );
+
+function DeleteArchivedRevisions( $delete = false ) {
+
+ # Data should come off the master, wrapped in a transaction
+ $dbw = wfGetDB( DB_MASTER );
+ $dbw->begin();
+
+ $tbl_arch = $dbw->tableName( 'archive' );
+ # Delete as appropriate
+ echo( "Deleting archived revisions..." );
+ $dbw->query( "TRUNCATE TABLE $tbl_arch" );
+ echo( "done.\n" );
+
+ $delete = $dbw->affectedRows() != 0;
+
+ # This bit's done
+ # Purge redundant text records
+ $dbw->commit();
+ if( $delete ) {
+ PurgeRedundantText( true );
+ }
+
+}
+
+?> \ No newline at end of file