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