http://www.mediawiki.org/wiki/Special:Code/MediaWiki/54480

Revision: 54480
Author:   daniel
Date:     2009-08-05 19:51:37 +0000 (Wed, 05 Aug 2009)

Log Message:
-----------
re-enable keys before mass deletion on resume

Modified Paths:
--------------
    
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/AbstractImporter.java
    
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseLocalConceptStoreBuilder.java
    
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabasePropertyStoreBuilder.java
    
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseTextStoreBuilder.java
    
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DebugLocalConceptStoreBuilder.java
    
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/IncrementalStoreBuilder.java

Modified: 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/AbstractImporter.java
===================================================================
--- 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/AbstractImporter.java
   2009-08-05 19:23:22 UTC (rev 54479)
+++ 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/builder/AbstractImporter.java
   2009-08-05 19:51:37 UTC (rev 54480)
@@ -143,7 +143,9 @@
        }
        
        protected void deleteDataAfter(int delAfter) throws 
PersistenceException {
-               ((IncrementalStoreBuilder)store).deleteDataAfter(delAfter, 
false); //FIXME: make sure we are not off by one!
+               ((IncrementalStoreBuilder)store).prepareMassProcessing(); 
+               ((IncrementalStoreBuilder)store).deleteDataAfter(delAfter, 
false); 
+               ((IncrementalStoreBuilder)store).prepareMassInsert(); 
        }
        
        protected void concludeStep() throws PersistenceException{

Modified: 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseLocalConceptStoreBuilder.java
===================================================================
--- 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseLocalConceptStoreBuilder.java
     2009-08-05 19:23:22 UTC (rev 54479)
+++ 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseLocalConceptStoreBuilder.java
     2009-08-05 19:51:37 UTC (rev 54480)
@@ -609,6 +609,38 @@
                }
        }
        
+       public void prepareMassInsert() throws PersistenceException {
+               try {
+                               database.disableKeys();
+               } catch (SQLException e) {
+                       throw new PersistenceException(e);
+               }
+
+               if (propertyStore!=null) {
+                       propertyStore.prepareMassInsert();
+               }
+               
+               if (textStore!=null) {
+                       textStore.prepareMassInsert();
+               }
+       }
+       
+       public void prepareMassProcessing() throws PersistenceException {
+               try {
+                               database.enableKeys();
+               } catch (SQLException e) {
+                       throw new PersistenceException(e);
+               }
+
+               if (propertyStore!=null) {
+                       propertyStore.prepareMassProcessing();
+               }
+               
+               if (textStore!=null) {
+                       textStore.prepareMassProcessing();
+               }
+       }
+       
        public void finalizeImport() throws PersistenceException {
                if (idManager!=null) { 
                        idManager.deleteFile(); //delete temporary ID file

Modified: 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabasePropertyStoreBuilder.java
===================================================================
--- 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabasePropertyStoreBuilder.java
 2009-08-05 19:23:22 UTC (rev 54479)
+++ 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabasePropertyStoreBuilder.java
 2009-08-05 19:51:37 UTC (rev 54480)
@@ -124,4 +124,21 @@
                        
endTask("DatabasePropertyStoreBuilder.finishIdReferences", 
"buildIdLinks:property", n+" references");
                }
        }
+       
+       public void prepareMassInsert() throws PersistenceException {
+               try {
+                               database.disableKeys();
+               } catch (SQLException e) {
+                       throw new PersistenceException(e);
+               }
+       }
+       
+       public void prepareMassProcessing() throws PersistenceException {
+               try {
+                               database.enableKeys();
+               } catch (SQLException e) {
+                       throw new PersistenceException(e);
+               }
+       }
+       
 }
\ No newline at end of file

Modified: 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseTextStoreBuilder.java
===================================================================
--- 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseTextStoreBuilder.java
     2009-08-05 19:23:22 UTC (rev 54479)
+++ 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DatabaseTextStoreBuilder.java
     2009-08-05 19:51:37 UTC (rev 54480)
@@ -142,4 +142,22 @@
                }
        }
        */
+       
+       
+       public void prepareMassInsert() throws PersistenceException {
+               try {
+                               database.disableKeys();
+               } catch (SQLException e) {
+                       throw new PersistenceException(e);
+               }
+       }
+       
+       public void prepareMassProcessing() throws PersistenceException {
+               try {
+                               database.enableKeys();
+               } catch (SQLException e) {
+                       throw new PersistenceException(e);
+               }
+       }
+       
 }

Modified: 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DebugLocalConceptStoreBuilder.java
===================================================================
--- 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DebugLocalConceptStoreBuilder.java
        2009-08-05 19:23:22 UTC (rev 54479)
+++ 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/DebugLocalConceptStoreBuilder.java
        2009-08-05 19:51:37 UTC (rev 54480)
@@ -143,6 +143,14 @@
                public void preparePostProcessing() throws PersistenceException 
{
                        log("* preparePostProcessing *");
                }
+
+               public void prepareMassInsert() throws PersistenceException {
+                       log("* prepareMassInsert *");
+               }
+
+               public void prepareMassProcessing() throws PersistenceException 
{
+                       log("* prepareMassProcessing *");
+               }
                
        }
 
@@ -243,6 +251,14 @@
                public void preparePostProcessing() throws PersistenceException 
{
                        log("* preparePostProcessing *");
                }
+
+               public void prepareMassInsert() throws PersistenceException {
+                       log("* prepareMassInsert *");
+               }
+
+               public void prepareMassProcessing() throws PersistenceException 
{
+                       log("* prepareMassProcessing *");
+               }
        }
        
        public class DebugStatisticsStoreBuilder implements 
StatisticsStoreBuilder {
@@ -753,4 +769,13 @@
                log("* preparePostProcessing *");
        }
                
+
+       public void prepareMassInsert() throws PersistenceException {
+               log("* prepareMassInsert *");
+       }
+
+       public void prepareMassProcessing() throws PersistenceException {
+               log("* prepareMassProcessing *");
+       }
+       
 }
\ No newline at end of file

Modified: 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/IncrementalStoreBuilder.java
===================================================================
--- 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/IncrementalStoreBuilder.java
      2009-08-05 19:23:22 UTC (rev 54479)
+++ 
trunk/WikiWord/WikiWordBuilder/src/main/java/de/brightbyte/wikiword/store/builder/IncrementalStoreBuilder.java
      2009-08-05 19:51:37 UTC (rev 54480)
@@ -8,4 +8,7 @@
        
        public void deleteDataAfter(int delAfter, boolean inclusive) throws 
PersistenceException;
 
+       public void prepareMassProcessing() throws PersistenceException;
+       public void prepareMassInsert() throws PersistenceException;
+
 }



_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to