You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2009/08/05 13:26:06 UTC

svn commit: r801133 - in /jackrabbit/branches/1.x: ./ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/data/db/ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/journal/ ja...

Author: jukka
Date: Wed Aug  5 11:26:06 2009
New Revision: 801133

URL: http://svn.apache.org/viewvc?rev=801133&view=rev
Log:
1.x: Merged revision 796957 (JCR-2034)

Modified:
    jackrabbit/branches/1.x/   (props changed)
    jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/data/db/DbDataStore.java
    jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DatabaseFileSystem.java
    jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/journal/DatabaseJournal.java
    jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java
    jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java

Propchange: jackrabbit/branches/1.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Aug  5 11:26:06 2009
@@ -1,2 +1,2 @@
 /incubator/jackrabbit/trunk:78926
-/jackrabbit/trunk:770143-773197,773483,773525-773555,773584,773588,773828,773835-775756,775833,775836,775840,775868,775981,775986,776036,776256,776310,776313,776321-776322,776332,776356-776357,776362,776373,776650-776693,776737,776757,776776-776777,777024,777029,777034,777478,777509,777541,777548,777936,778445,778613,778616,778621,778645,778720,778802,779032,779040,779068-779071,779074,779076,779081,779084,779086-779088,779090-779092,779094-779096,779101,779223,779225,779227-779228,779230,779233-779234,779460,779475-779476,779504,779550,779552,779555,779561,779563,779583,779590,779618,779621-779622,779624,779642,779654,779657-779659,779661,779936,780006,780010,780025,780085,780985,780989,780993,781017,781051,781054,781294-781300,781305-781311,781318,781328,781338,781344,781347,781369,781372,781377,781416-781417,781423,782621-782622,782644,782646,782652,782669,782675,782677,782683,782694,782921,782925,782930,782936,783002,783004-783005,783042-783043,783239,783278,783304,78331
 9-783321,783324,783326-783327,783330-783333,783337-783338,783340-783341,783343,783345-783346,783356,783359,783383,783386,783412,783435,783444,783447,783523,783688,783703,783708,783710,783719,783757,783759,783761,783786,783809,784011,784013,784039,784058,784060-784061,784090-784091,784106,784108-784109,784111,784117-784120,784124,784163,784261,784680,784691,784696,784760,784824,785112,785116,785157,785169,785209,785492,785517,785519,785529,785533,785535,785539-785540,785545,785580,785589-785590,785594,785597,785602,785627,785629,785631,785635,785668,785711,785725,785777,785863,785981,786003,786019,786028,786062,786075,786089-786090,786093-786094,786144,786146-786147,786149,786167,786280,786295,786319,786329-786330,786336,786409,786419,786423,786480,786485,786492,786513,786562,786565,786680,786685,787183,787219,787241,787942,787952,787964,787996,788002,788012-788013,788350-788351,788443,788446,788450,789245,789257,789269-789270,789279,789307,789312,789324,789338,789347,789485,
 789629,789809,789986,790054,790056,790065-790066,790068,790070-790071,790118,790127,790153,790235-790236,790528,790537,790541,790557-790558,790568,790590,790600,790603,790629,790814,790826,790834,790887,790892,790901,790930,790939,791180,791253,791255,791438-791439,791441,791452,791457,791475,791505,791520,791527,791737,791832,791884,791906,792102,792118,792138,792152,792155-792156,792160,792167-792168,792175,792180-792181,792211,792214,792218,792437,792453,792464,792467,792469,792485,792488,792496,792498,792509,792547-792548,792588-792589,793012-793013,793015-793016,793018,793046-793047,793072,793180,793238,793243,793283,793485,793507,793559,793571,793830,793836,793840,794162,794190,794193,794253,794278,794293-794294,794323,794329,794600,794633,794641,794644,794652,794674,794702,794718,794743,794994,795046,795049,795082,795096,795136,795138,795841-795842,795854,796586,796757,796845,796855,796876,796899,797094,797139,797158,797386,797399,797410,797414,797416-797417,797424,79
 7470,797484,797488-797489,797539,797549,797634,797662,797836,798141,798183,798196,798209,798306,798834,798844,798847-798848,798889-798890,798940,798958,799188,799284,799550,799595,799599,799610,800269,800464,800466,800478,800483,800715,800807,800829,800854,800862-800863,801104
+/jackrabbit/trunk:770143-773197,773483,773525-773555,773584,773588,773828,773835-775756,775833,775836,775840,775868,775981,775986,776036,776256,776310,776313,776321-776322,776332,776356-776357,776362,776373,776650-776693,776737,776757,776776-776777,777024,777029,777034,777478,777509,777541,777548,777936,778445,778613,778616,778621,778645,778720,778802,779032,779040,779068-779071,779074,779076,779081,779084,779086-779088,779090-779092,779094-779096,779101,779223,779225,779227-779228,779230,779233-779234,779460,779475-779476,779504,779550,779552,779555,779561,779563,779583,779590,779618,779621-779622,779624,779642,779654,779657-779659,779661,779936,780006,780010,780025,780085,780985,780989,780993,781017,781051,781054,781294-781300,781305-781311,781318,781328,781338,781344,781347,781369,781372,781377,781416-781417,781423,782621-782622,782644,782646,782652,782669,782675,782677,782683,782694,782921,782925,782930,782936,783002,783004-783005,783042-783043,783239,783278,783304,78331
 9-783321,783324,783326-783327,783330-783333,783337-783338,783340-783341,783343,783345-783346,783356,783359,783383,783386,783412,783435,783444,783447,783523,783688,783703,783708,783710,783719,783757,783759,783761,783786,783809,784011,784013,784039,784058,784060-784061,784090-784091,784106,784108-784109,784111,784117-784120,784124,784163,784261,784680,784691,784696,784760,784824,785112,785116,785157,785169,785209,785492,785517,785519,785529,785533,785535,785539-785540,785545,785580,785589-785590,785594,785597,785602,785627,785629,785631,785635,785668,785711,785725,785777,785863,785981,786003,786019,786028,786062,786075,786089-786090,786093-786094,786144,786146-786147,786149,786167,786280,786295,786319,786329-786330,786336,786409,786419,786423,786480,786485,786492,786513,786562,786565,786680,786685,787183,787219,787241,787942,787952,787964,787996,788002,788012-788013,788350-788351,788443,788446,788450,789245,789257,789269-789270,789279,789307,789312,789324,789338,789347,789485,
 789629,789809,789986,790054,790056,790065-790066,790068,790070-790071,790118,790127,790153,790235-790236,790528,790537,790541,790557-790558,790568,790590,790600,790603,790629,790814,790826,790834,790887,790892,790901,790930,790939,791180,791253,791255,791438-791439,791441,791452,791457,791475,791505,791520,791527,791737,791832,791884,791906,792102,792118,792138,792152,792155-792156,792160,792167-792168,792175,792180-792181,792211,792214,792218,792437,792453,792464,792467,792469,792485,792488,792496,792498,792509,792547-792548,792588-792589,793012-793013,793015-793016,793018,793046-793047,793072,793180,793238,793243,793283,793485,793507,793559,793571,793830,793836,793840,794162,794190,794193,794253,794278,794293-794294,794323,794329,794600,794633,794641,794644,794652,794674,794702,794718,794743,794994,795046,795049,795082,795096,795136,795138,795841-795842,795854,796586,796757,796845,796855,796876,796899,796957,797094,797139,797158,797386,797399,797410,797414,797416-797417,79
 7424,797470,797484,797488-797489,797539,797549,797634,797662,797836,798141,798183,798196,798209,798306,798834,798844,798847-798848,798889-798890,798940,798958,799188,799284,799550,799595,799599,799610,800269,800464,800466,800478,800483,800715,800807,800829,800854,800862-800863,801104

Modified: jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/data/db/DbDataStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/data/db/DbDataStore.java?rev=801133&r1=801132&r2=801133&view=diff
==============================================================================
--- jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/data/db/DbDataStore.java (original)
+++ jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/data/db/DbDataStore.java Wed Aug  5 11:26:06 2009
@@ -66,6 +66,7 @@
  *     <param name="{@link #setCopyWhenReading(boolean) copyWhenReading}" value="true"/>
  *     <param name="{@link #setTablePrefix(String) tablePrefix}" value=""/>
  *     <param name="{@link #setSchemaObjectPrefix(String) schemaObjectPrefix}" value=""/>
+ *     <param name="{@link #setSchemaCheckEnabled(String) schemaCheckEnabled}" value="true"/>
  * &lt/DataStore>
  * </pre>
  * <p>
@@ -192,6 +193,11 @@
     protected String schemaObjectPrefix = "";
 
     /**
+     * Whether the schema check must be done during initialization.
+     */
+    private boolean schemaCheckEnabled = true;
+
+    /**
      * This is the property 'table'
      * in the [databaseType].properties file, initialized with the default value.
      */
@@ -581,7 +587,7 @@
             ResultSet rs = meta.getTables(null, null, schemaObjectPrefix + tableSQL, null);
             boolean exists = rs.next();
             rs.close();
-            if (!exists) {
+            if (!exists && isSchemaCheckEnabled()) {
                 // CREATE TABLE DATASTORE(ID VARCHAR(255) PRIMARY KEY, 
                 // LENGTH BIGINT, LAST_MODIFIED BIGINT, DATA BLOB)
                 conn.executeStmt(createTableSQL, null);
@@ -827,6 +833,20 @@
     }
 
     /**
+     * @return whether the schema check is enabled
+     */
+    public final boolean isSchemaCheckEnabled() {
+        return schemaCheckEnabled;
+    }
+
+    /**
+     * @param enabled set whether the schema check is enabled
+     */
+    public final void setSchemaCheckEnabled(boolean enabled) {
+        schemaCheckEnabled = enabled;
+    }
+
+    /**
      * {@inheritDoc}
      */
     public synchronized void close() throws DataStoreException {

Modified: jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DatabaseFileSystem.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DatabaseFileSystem.java?rev=801133&r1=801132&r2=801133&view=diff
==============================================================================
--- jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DatabaseFileSystem.java (original)
+++ jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DatabaseFileSystem.java Wed Aug  5 11:26:06 2009
@@ -73,6 +73,11 @@
     protected String schema;
     protected String schemaObjectPrefix;
 
+    /**
+     * Whether the schema check must be done during initialization.
+     */
+    private boolean schemaCheckEnabled = true;
+
     // initial size of buffer used to serialize objects
     protected static final int INITIAL_BUFFER_SIZE = 8192;
 
@@ -132,6 +137,20 @@
         this.schema = schema;
     }
 
+    /**
+     * @return whether the schema check is enabled
+     */
+    public final boolean isSchemaCheckEnabled() {
+        return schemaCheckEnabled;
+    }
+
+    /**
+     * @param enabled set whether the schema check is enabled
+     */
+    public final void setSchemaCheckEnabled(boolean enabled) {
+        schemaCheckEnabled = enabled;
+    }
+
     //-------------------------------------------< java.lang.Object overrides >
     /**
      * {@inheritDoc}
@@ -187,7 +206,9 @@
             prepareSchemaObjectPrefix();
 
             // check if schema objects exist and create them if necessary
-            checkSchema();
+            if (isSchemaCheckEnabled()) {
+                checkSchema();
+            }
 
             // build sql statements
             buildSQLStatements();

Modified: jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/journal/DatabaseJournal.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/journal/DatabaseJournal.java?rev=801133&r1=801132&r2=801133&view=diff
==============================================================================
--- jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/journal/DatabaseJournal.java (original)
+++ jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/journal/DatabaseJournal.java Wed Aug  5 11:26:06 2009
@@ -64,6 +64,8 @@
  * which equals 24 hours)</li>
  * <li><code>janitorFirstRunHourOfDay</code>: specifies the hour at which the clean-up
  * thread initiates its first run (default = <code>3</code> which means 3:00 at night)</li>
+ * <li><code>schemaCheckEnabled</code>:  whether the schema check during initialization is enabled
+ * (default = <code>true</code>)</li>
  * <p>
  * JNDI can be used to get the connection. In this case, use the javax.naming.InitialContext as the driver,
  * and the JNDI name as the URL. If the user and password are configured in the JNDI resource,
@@ -228,6 +230,11 @@
     }
 
     /**
+     * Whether the schema check must be done during initialization.
+     */
+    private boolean schemaCheckEnabled = true;
+
+    /**
      * The instance that manages the local revision.
      */
     private DatabaseRevision databaseRevision;
@@ -302,9 +309,13 @@
         try {
             connection = getConnection();
             setAutoCommit(connection, true);
-            checkSchema();
+            if (isSchemaCheckEnabled()) {
+                checkSchema();
+            }
             // Make sure that the LOCAL_REVISIONS table exists (see JCR-1087)
-            checkLocalRevisionSchema();
+            if (isSchemaCheckEnabled()) {
+                checkLocalRevisionSchema();
+            }
 
             buildSQLStatements();
             prepareStatements();
@@ -1064,6 +1075,20 @@
     }
    
     /**
+     * @return whether the schema check is enabled
+     */
+    public final boolean isSchemaCheckEnabled() {
+        return schemaCheckEnabled;
+    }
+
+    /**
+     * @param enabled set whether the schema check is enabled
+     */
+    public final void setSchemaCheckEnabled(boolean enabled) {
+        schemaCheckEnabled = enabled;
+    }
+
+    /**
      * This class manages the local revision of the cluster node. It
      * persists the local revision in the LOCAL_REVISIONS table in the
      * clustering database.

Modified: jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java?rev=801133&r1=801132&r2=801133&view=diff
==============================================================================
--- jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java (original)
+++ jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.java Wed Aug  5 11:26:06 2009
@@ -86,6 +86,7 @@
  * <li>&lt;param name="{@link #setSchemaObjectPrefix(String) schemaObjectPrefix}" value=""/>
  * <li>&lt;param name="{@link #setErrorHandling(String) errorHandling}" value=""/>
  * <li>&lt;param name="{@link #setBlockOnConnectionLoss(String) blockOnConnectionLoss}" value="false"/>
+ * <li>&lt;param name="{@link #setSchemaCheckEnabled(String) schemaCheckEnabled}" value="true"/>
  * </ul>
  */
 public class BundleDbPersistenceManager extends AbstractBundlePersistenceManager {
@@ -185,6 +186,11 @@
      */
     private String name = super.toString();
 
+    /**
+     * Whether the schema check must be done during initialization.
+     */
+    private boolean schemaCheckEnabled = true;
+
 
     /**
      * Returns the configured JDBC connection url.
@@ -433,6 +439,20 @@
     }
 
     /**
+     * @return whether the schema check is enabled
+     */
+    public final boolean isSchemaCheckEnabled() {
+        return schemaCheckEnabled;
+    }
+
+    /**
+     * @param enabled set whether the schema check is enabled
+     */
+    public final void setSchemaCheckEnabled(boolean enabled) {
+        schemaCheckEnabled = enabled;
+    }
+
+    /**
      * Checks if the required schema objects exist and creates them if they
      * don't exist yet.
      *
@@ -586,7 +606,9 @@
         prepareSchemaObjectPrefix();
 
         // check if schema objects exist and create them if necessary
-        checkSchema();
+        if (isSchemaCheckEnabled()) {
+            checkSchema();
+        }
 
         // create correct blob store
         blobStore = createBlobStore();

Modified: jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java?rev=801133&r1=801132&r2=801133&view=diff
==============================================================================
--- jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java (original)
+++ jackrabbit/branches/1.x/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java Wed Aug  5 11:26:06 2009
@@ -86,6 +86,11 @@
 
     protected boolean externalBLOBs;
 
+    /**
+     * Whether the schema check must be done during initialization.
+     */
+    private boolean schemaCheckEnabled = true;
+
     // initial size of buffer used to serialize objects
     protected static final int INITIAL_BUFFER_SIZE = 1024;
 
@@ -184,6 +189,20 @@
         this.externalBLOBs = Boolean.valueOf(externalBLOBs).booleanValue();
     }
 
+    /**
+     * @return whether the schema check is enabled
+     */
+    public final boolean isSchemaCheckEnabled() {
+        return schemaCheckEnabled;
+    }
+
+    /**
+     * @param enabled set whether the schema check is enabled
+     */
+    public final void setSchemaCheckEnabled(boolean enabled) {
+        schemaCheckEnabled = enabled;
+    }
+
     //---------------------------------------------------< PersistenceManager >
     /**
      * {@inheritDoc}
@@ -208,7 +227,9 @@
         prepareSchemaObjectPrefix();
 
         // check if schema objects exist and create them if necessary
-        checkSchema();
+        if (isSchemaCheckEnabled()) {
+            checkSchema();
+        }
 
         // build sql statements
         buildSQLStatements();