Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/MSSqlFileSystem.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/MSSqlFileSystem.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/MSSqlFileSystem.java	(working copy)
@@ -33,6 +33,7 @@
  * <code>"jdbc:sqlserver://[host]:[port];&lt;params&gt;"</code>)</li>
  * <li><code>user</code>: the database user</li>
  * <li><code>password</code>: the user's password</li>
+ * <li><code>tablePrefix</code>: prefix to be prepended to tables</li>
  * <li><code>schemaObjectPrefix</code>: prefix to be prepended to schema objects</li>
  * <li><code>tableSpace</code>: the tablespace to use</li>
  * </ul>
@@ -94,4 +95,4 @@
         return super.createCheckSchemaOperation().addVariableReplacement(
             CheckSchemaOperation.TABLE_SPACE_VARIABLE, tableSpace);
     }
-}
\ No newline at end of file
+}
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DatabaseFileSystem.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DatabaseFileSystem.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DatabaseFileSystem.java	(working copy)
@@ -65,6 +65,7 @@
     protected boolean initialized;
 
     protected String schema;
+    protected String tablePrefix;
     protected String schemaObjectPrefix;
 
     // initial size of buffer used to serialize objects
@@ -103,11 +104,21 @@
      */
     public DatabaseFileSystem() {
         schema = "default";
+        tablePrefix = "";
         schemaObjectPrefix = "";
         initialized = false;
     }
 
     //----------------------------------------------------< setters & getters >
+
+    public String getTablePrefix() {
+        return tablePrefix;
+    }
+
+    public void setTablePrefix(String tablePrefix) {
+        this.tablePrefix = tablePrefix;
+    }
+
     public String getSchemaObjectPrefix() {
         return schemaObjectPrefix;
     }
@@ -125,6 +136,8 @@
         this.schema = schema;
     }
 
+
+
     /**
      * @return whether the schema check is enabled
      */
@@ -149,6 +162,7 @@
         } else if (obj instanceof DatabaseFileSystem) {
             DatabaseFileSystem other = (DatabaseFileSystem) obj;
             return equals(schema, other.schema)
+                && equals(tablePrefix, other.tablePrefix)
                 && equals(schemaObjectPrefix, other.schemaObjectPrefix);
         } else {
             return false;
@@ -239,8 +253,9 @@
      */
     protected CheckSchemaOperation createCheckSchemaOperation() {
         InputStream in = DatabaseFileSystem.class.getResourceAsStream(getSchema() + ".ddl");
-        return new CheckSchemaOperation(conHelper, in, schemaObjectPrefix + "FSENTRY").addVariableReplacement(
-            CheckSchemaOperation.SCHEMA_OBJECT_PREFIX_VARIABLE, schemaObjectPrefix);
+        return new CheckSchemaOperation(conHelper, in, tablePrefix + schemaObjectPrefix + "FSENTRY").addVariableReplacement(
+            CheckSchemaOperation.SCHEMA_OBJECT_PREFIX_VARIABLE, schemaObjectPrefix)
+          .addVariableReplacement(CheckSchemaOperation.TABLE_PREFIX_VARIABLE, tablePrefix);
     }
 
     /**
@@ -780,91 +795,91 @@
      */
     protected void buildSQLStatements() {
         insertFileSQL = "insert into "
-                + schemaObjectPrefix + "FSENTRY "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY "
                 + "(FSENTRY_PATH, FSENTRY_NAME, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH) "
                 + "values (?, ?, ?, ?, ?)";
 
         insertFolderSQL = "insert into "
-                + schemaObjectPrefix + "FSENTRY "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY "
                 + "(FSENTRY_PATH, FSENTRY_NAME, FSENTRY_LASTMOD, FSENTRY_LENGTH) "
                 + "values (?, ?, ?, 0)";
 
         updateDataSQL = "update "
-                + schemaObjectPrefix + "FSENTRY "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY "
                 + "set FSENTRY_DATA = ?, FSENTRY_LASTMOD = ?, FSENTRY_LENGTH = ? "
                 + "where FSENTRY_PATH = ? and FSENTRY_NAME = ? "
                 + "and FSENTRY_DATA is not null";
 
         updateLastModifiedSQL = "update "
-                + schemaObjectPrefix + "FSENTRY set FSENTRY_LASTMOD = ? "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY set FSENTRY_LASTMOD = ? "
                 + "where FSENTRY_PATH = ? and FSENTRY_NAME = ? "
                 + "and FSENTRY_DATA is not null";
 
         selectExistSQL = "select 1 from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ?";
 
         selectFileExistSQL = "select 1 from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ? and FSENTRY_DATA is not null";
 
         selectFolderExistSQL = "select 1 from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ? and FSENTRY_DATA is null";
 
         selectFileNamesSQL = "select FSENTRY_NAME from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_DATA is not null";
 
         selectFolderNamesSQL = "select FSENTRY_NAME from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_DATA is null";
 
         selectFileAndFolderNamesSQL = "select FSENTRY_NAME from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ?";
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ?";
 
         selectChildCountSQL = "select count(FSENTRY_NAME) from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ?  ";
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ?  ";
 
         selectDataSQL = "select FSENTRY_DATA from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ? and FSENTRY_DATA is not null";
 
         selectLastModifiedSQL = "select FSENTRY_LASTMOD from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ?";
 
         selectLengthSQL = "select FSENTRY_LENGTH from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ? and FSENTRY_DATA is not null";
 
         deleteFileSQL = "delete from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ? and FSENTRY_DATA is not null";
 
         deleteFolderSQL = "delete from "
-                + schemaObjectPrefix + "FSENTRY where "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where "
                 + "(FSENTRY_PATH = ? and FSENTRY_NAME = ? and FSENTRY_DATA is null) "
                 + "or (FSENTRY_PATH = ?) "
                 + "or (FSENTRY_PATH like ?) ";
 
         copyFileSQL = "insert into "
-                + schemaObjectPrefix + "FSENTRY "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY "
                 + "(FSENTRY_PATH, FSENTRY_NAME, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH) "
                 + "select ?, ?, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ? and FSENTRY_DATA is not null";
 
         copyFilesSQL = "insert into "
-                + schemaObjectPrefix + "FSENTRY "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY "
                 + "(FSENTRY_PATH, FSENTRY_NAME, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH) "
                 + "select ?, FSENTRY_NAME, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH from "
-                + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_DATA is not null";
     }
 
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DbFileSystem.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DbFileSystem.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DbFileSystem.java	(working copy)
@@ -34,6 +34,7 @@
  * <li><code>password</code>: the user's password</li>
  * <li><code>schema</code>: type of schema to be used
  * (e.g. <code>mysql</code>, <code>mssql</code>, etc.); </li>
+ * <li><code>tablePrefix</code>: prefix to be prepended to tables</li>
  * <li><code>schemaObjectPrefix</code>: prefix to be prepended to schema objects</li>
  * </ul>
  * The required schema objects are automatically created by executing the DDL
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DerbyFileSystem.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DerbyFileSystem.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DerbyFileSystem.java	(working copy)
@@ -35,6 +35,7 @@
  * <ul>
  * <li><code>url</code>: the database url of the form
  * <code>"jdbc:derby:[db];[attributes]"</code></li>
+ * <li><code>tablePrefix</code>: prefix to be prepended to tables</li>
  * <li><code>schemaObjectPrefix</code>: prefix to be prepended to schema objects</li>
  * <li><code>driver</code>: the FQN name of the JDBC driver class
  * (default: <code>"org.apache.derby.jdbc.EmbeddedDriver"</code>)</li>
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/OracleFileSystem.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/OracleFileSystem.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/OracleFileSystem.java	(working copy)
@@ -37,6 +37,7 @@
  * <code>"jdbc:oracle:thin:@[host]:[port]:[sid]"</code>)</li>
  * <li><code>user</code>: the database user</li>
  * <li><code>password</code>: the user's password</li>
+ * <li><code>tablePrefix</code>: prefix to be prepended to tables</li>
  * <li><code>schemaObjectPrefix</code>: prefix to be prepended to schema objects</li>
  * <li><code>tableSpace</code>: the tablespace to use</li>
  * </ul>
@@ -130,93 +131,110 @@
      */
     protected void buildSQLStatements() {
         insertFileSQL = "insert into "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY "
                 + "(FSENTRY_PATH, FSENTRY_NAME, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH) "
                 + "values (?, ?, ?, ?, ?)";
 
         insertFolderSQL = "insert into "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY "
                 + "(FSENTRY_PATH, FSENTRY_NAME, FSENTRY_LASTMOD, FSENTRY_LENGTH) "
                 + "values (?, nvl(?, ' '), ?, null)";
 
         updateDataSQL = "update "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY "
                 + "set FSENTRY_DATA = ?, FSENTRY_LASTMOD = ?, FSENTRY_LENGTH = ? "
                 + "where FSENTRY_PATH = ? and FSENTRY_NAME = ? "
                 + "and FSENTRY_LENGTH is not null";
 
         updateLastModifiedSQL = "update "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY set FSENTRY_LASTMOD = ? "
                 + "where FSENTRY_PATH = ? and FSENTRY_NAME = ? "
                 + "and FSENTRY_LENGTH is not null";
 
         selectExistSQL = "select 1 from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = nvl(?, ' ')";
 
         selectFileExistSQL = "select 1 from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ? and FSENTRY_LENGTH is not null";
 
         selectFolderExistSQL = "select 1 from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = nvl(?, ' ') and FSENTRY_LENGTH is null";
 
         selectFileNamesSQL = "select FSENTRY_NAME from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_LENGTH is not null";
 
         selectFolderNamesSQL = "select FSENTRY_NAME from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME != ' ' "
                 + "and FSENTRY_LENGTH is null";
 
         selectFileAndFolderNamesSQL = "select FSENTRY_NAME from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME != ' '";
 
         selectChildCountSQL = "select count(FSENTRY_NAME) from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ?  "
                 + "and FSENTRY_NAME != ' '";
 
         selectDataSQL = "select nvl(FSENTRY_DATA, empty_blob()) from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ? and FSENTRY_LENGTH is not null";
 
         selectLastModifiedSQL = "select FSENTRY_LASTMOD from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = nvl(?, ' ')";
 
         selectLengthSQL = "select nvl(FSENTRY_LENGTH, 0) from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ? and FSENTRY_LENGTH is not null";
 
         deleteFileSQL = "delete from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ? and FSENTRY_LENGTH is not null";
 
         deleteFolderSQL = "delete from "
-                + schemaObjectPrefix + "FSENTRY where "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY where "
                 + "(FSENTRY_PATH = ? and FSENTRY_NAME = nvl(?, ' ') and FSENTRY_LENGTH is null) "
                 + "or (FSENTRY_PATH = ?) "
                 + "or (FSENTRY_PATH like ?) ";
 
         copyFileSQL = "insert into "
-                + schemaObjectPrefix + "FSENTRY "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY "
                 + "(FSENTRY_PATH, FSENTRY_NAME, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH) "
                 + "select ?, ?, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ? and FSENTRY_LENGTH is not null";
 
         copyFilesSQL = "insert into "
-                + schemaObjectPrefix + "FSENTRY "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY "
                 + "(FSENTRY_PATH, FSENTRY_NAME, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH) "
                 + "select ?, FSENTRY_NAME, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_LENGTH is not null";
     }
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DB2FileSystem.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DB2FileSystem.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/fs/db/DB2FileSystem.java	(working copy)
@@ -31,6 +31,7 @@
  * <code>"jdbc:db2:[database]"</code>)</li>
  * <li><code>user</code>: the database user</li>
  * <li><code>password</code>: the user's password</li>
+ * <li><code>tablePrefix</code>: prefix to be prepended to tables</li>
  * <li><code>schemaObjectPrefix</code>: prefix to be prepended to schema objects</li>
  * </ul>
  * See also {@link DbFileSystem}.
@@ -66,20 +67,22 @@
         super.buildSQLStatements();
 
         copyFileSQL = "insert into "
-                + schemaObjectPrefix + "FSENTRY "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY "
                 + "(FSENTRY_PATH, FSENTRY_NAME, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH) "
                 + "select cast(? as varchar(745)), cast(? as varchar(255)), FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_NAME = ? and FSENTRY_DATA is not null";
 
         copyFilesSQL = "insert into "
-                + schemaObjectPrefix + "FSENTRY "
+                + tablePrefix + schemaObjectPrefix + "FSENTRY "
                 + "(FSENTRY_PATH, FSENTRY_NAME, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH) "
                 + "select cast(? as varchar(745)), FSENTRY_NAME, FSENTRY_DATA, "
                 + "FSENTRY_LASTMOD, FSENTRY_LENGTH from "
+                + tablePrefix
                 + schemaObjectPrefix + "FSENTRY where FSENTRY_PATH = ? "
                 + "and FSENTRY_DATA is not null";
     }
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/util/db/CheckSchemaOperation.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/util/db/CheckSchemaOperation.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/util/db/CheckSchemaOperation.java	(working copy)
@@ -33,6 +33,8 @@
  */
 public class CheckSchemaOperation {
 
+    public static final String TABLE_PREFIX_VARIABLE = "${tablePrefix}";
+
     public static final String SCHEMA_OBJECT_PREFIX_VARIABLE = "${schemaObjectPrefix}";
 
     public static final String TABLE_SPACE_VARIABLE = "${tableSpace}";
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/util/db/ConnectionHelper.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/util/db/ConnectionHelper.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/util/db/ConnectionHelper.java	(working copy)
@@ -189,7 +189,14 @@
                 name = tableName.toUpperCase();
             }
             String userName = null;
-            if (checkTablesWithUserName) {
+
+            int i = name.indexOf( '.' );
+            if ( i > 0 ) {
+              userName = name.substring( 0, i );
+              name = name.substring( i + 1 );
+            }
+
+            if (userName == null && checkTablesWithUserName) {
                 userName = metaData.getUserName();
             }
             rs = metaData.getTables(null, userName, name, null);
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/BundleDbPersistenceManager.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/BundleDbPersistenceManager.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/BundleDbPersistenceManager.java	(working copy)
@@ -76,6 +76,7 @@
  * <li>&lt;param name="{@link #setUser(String) user}" value=""/>
  * <li>&lt;param name="{@link #setPassword(String) password}" value=""/>
  * <li>&lt;param name="{@link #setDatabaseType(String) databaseType}" value=""/>
+ * <li>&lt;param name="{@link #setTablePrefix(String) tablePrefix}" value=""/>
  * <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"/>
@@ -118,6 +119,9 @@
     /** the {@link ConnectionHelper} set in the {@link #init(PMContext)} method */
     protected ConnectionHelper conHelper;
 
+    /** the prefix for the database tables (can be used to specify schema) */
+    protected String tablePrefix = "";
+
     /** the prefix for the database objects */
     protected String schemaObjectPrefix;
 
@@ -267,6 +271,25 @@
     }
 
     /**
+     * Sets the table prefix. This string is used to prefix all tables.
+     * this is useful, if several persistence
+     * managers use the same database. Can be used to specify schema.
+     *
+     * @param tablePrefix prefix for tables.
+     */
+    public String getTablePrefix() {
+      return tablePrefix;
+    }
+
+    /**
+     * Returns the configured table prefix.
+     * @return the configured table prefix.
+     */
+    public void setTablePrefix(String tablePrefix) {
+      this.tablePrefix = tablePrefix.toUpperCase();
+    }
+
+    /**
      * Returns the configured schema object prefix.
      * @return the configured schema object prefix.
      */
@@ -525,6 +548,7 @@
         // make sure schemaObjectPrefix consists of legal name characters only
         schemaObjectPrefix = conHelper.prepareDbIdentifier(schemaObjectPrefix);
 
+
         // check if schema objects exist and create them if necessary
         if (isSchemaCheckEnabled()) {
             createCheckSchemaOperation().run();
@@ -584,8 +608,10 @@
         InputStream in =
             AbstractBundlePersistenceManager.class.getResourceAsStream(
                     databaseType + ".ddl");
-        return new CheckSchemaOperation(conHelper, in, schemaObjectPrefix + "BUNDLE").addVariableReplacement(
-            CheckSchemaOperation.SCHEMA_OBJECT_PREFIX_VARIABLE, schemaObjectPrefix);
+        return new CheckSchemaOperation(conHelper, in, tablePrefix + schemaObjectPrefix + "BUNDLE").addVariableReplacement(
+            CheckSchemaOperation.SCHEMA_OBJECT_PREFIX_VARIABLE, schemaObjectPrefix)
+          .addVariableReplacement(
+              CheckSchemaOperation.TABLE_PREFIX_VARIABLE, tablePrefix );
     }
 
     /**
@@ -640,7 +666,7 @@
      * @throws SQLException if an SQL error occurs.
      */
     protected DbNameIndex createDbNameIndex() throws SQLException {
-        return new DbNameIndex(conHelper, schemaObjectPrefix);
+        return new DbNameIndex(conHelper, tablePrefix, schemaObjectPrefix);
     }
 
     /**
@@ -767,7 +793,7 @@
             // which is (probably) faster than loading each bundle and traversing the tree              
             ResultSet rs = null;
             try {               
-                String sql = "select count(*) from " + schemaObjectPrefix + "BUNDLE";
+                String sql = "select count(*) from " + tablePrefix + schemaObjectPrefix + "BUNDLE";
                 rs = conHelper.exec(sql, new Object[0], false, 0);
                 try {
                     if (!rs.next()) {
@@ -779,9 +805,9 @@
                     DbUtility.close(rs);
                 }
                 if (getStorageModel() == SM_BINARY_KEYS) {
-                    sql = "select NODE_ID from " + schemaObjectPrefix + "BUNDLE";
+                    sql = "select NODE_ID from " + tablePrefix + schemaObjectPrefix + "BUNDLE";
                 } else {
-                    sql = "select NODE_ID_HI, NODE_ID_LO from " + schemaObjectPrefix + "BUNDLE";
+                    sql = "select NODE_ID_HI, NODE_ID_LO from " + tablePrefix + schemaObjectPrefix + "BUNDLE";
                 }
                 rs = conHelper.exec(sql, new Object[0], false, 0);
 
@@ -1231,38 +1257,38 @@
     protected void buildSQLStatements() {
         // prepare statements
         if (getStorageModel() == SM_BINARY_KEYS) {
-            bundleInsertSQL = "insert into " + schemaObjectPrefix + "BUNDLE (BUNDLE_DATA, NODE_ID) values (?, ?)";
-            bundleUpdateSQL = "update " + schemaObjectPrefix + "BUNDLE set BUNDLE_DATA = ? where NODE_ID = ?";
-            bundleSelectSQL = "select BUNDLE_DATA from " + schemaObjectPrefix + "BUNDLE where NODE_ID = ?";
-            bundleDeleteSQL = "delete from " + schemaObjectPrefix + "BUNDLE where NODE_ID = ?";
+            bundleInsertSQL = "insert into " + tablePrefix + schemaObjectPrefix + "BUNDLE (BUNDLE_DATA, NODE_ID) values (?, ?)";
+            bundleUpdateSQL = "update " + tablePrefix + schemaObjectPrefix + "BUNDLE set BUNDLE_DATA = ? where NODE_ID = ?";
+            bundleSelectSQL = "select BUNDLE_DATA from " + tablePrefix + schemaObjectPrefix + "BUNDLE where NODE_ID = ?";
+            bundleDeleteSQL = "delete from " + tablePrefix + schemaObjectPrefix + "BUNDLE where NODE_ID = ?";
 
-            nodeReferenceInsertSQL = "insert into " + schemaObjectPrefix + "REFS (REFS_DATA, NODE_ID) values (?, ?)";
-            nodeReferenceUpdateSQL = "update " + schemaObjectPrefix + "REFS set REFS_DATA = ? where NODE_ID = ?";
-            nodeReferenceSelectSQL = "select REFS_DATA from " + schemaObjectPrefix + "REFS where NODE_ID = ?";
-            nodeReferenceDeleteSQL = "delete from " + schemaObjectPrefix + "REFS where NODE_ID = ?";
+            nodeReferenceInsertSQL = "insert into " + tablePrefix + schemaObjectPrefix + "REFS (REFS_DATA, NODE_ID) values (?, ?)";
+            nodeReferenceUpdateSQL = "update " + tablePrefix + schemaObjectPrefix + "REFS set REFS_DATA = ? where NODE_ID = ?";
+            nodeReferenceSelectSQL = "select REFS_DATA from " + tablePrefix + schemaObjectPrefix + "REFS where NODE_ID = ?";
+            nodeReferenceDeleteSQL = "delete from " + tablePrefix + schemaObjectPrefix + "REFS where NODE_ID = ?";
 
-            bundleSelectAllIdsSQL = "select NODE_ID from " + schemaObjectPrefix + "BUNDLE";
-            bundleSelectAllIdsFromSQL = "select NODE_ID from " + schemaObjectPrefix + "BUNDLE WHERE NODE_ID > ? ORDER BY NODE_ID";
+            bundleSelectAllIdsSQL = "select NODE_ID from " + tablePrefix + schemaObjectPrefix + "BUNDLE";
+            bundleSelectAllIdsFromSQL = "select NODE_ID from " + tablePrefix + schemaObjectPrefix + "BUNDLE WHERE NODE_ID > ? ORDER BY NODE_ID";
         } else {
-            bundleInsertSQL = "insert into " + schemaObjectPrefix + "BUNDLE (BUNDLE_DATA, NODE_ID_HI, NODE_ID_LO) values (?, ?, ?)";
-            bundleUpdateSQL = "update " + schemaObjectPrefix + "BUNDLE set BUNDLE_DATA = ? where NODE_ID_HI = ? and NODE_ID_LO = ?";
-            bundleSelectSQL = "select BUNDLE_DATA from " + schemaObjectPrefix + "BUNDLE where NODE_ID_HI = ? and NODE_ID_LO = ?";
-            bundleDeleteSQL = "delete from " + schemaObjectPrefix + "BUNDLE where NODE_ID_HI = ? and NODE_ID_LO = ?";
+            bundleInsertSQL = "insert into " + tablePrefix + schemaObjectPrefix + "BUNDLE (BUNDLE_DATA, NODE_ID_HI, NODE_ID_LO) values (?, ?, ?)";
+            bundleUpdateSQL = "update " + tablePrefix + schemaObjectPrefix + "BUNDLE set BUNDLE_DATA = ? where NODE_ID_HI = ? and NODE_ID_LO = ?";
+            bundleSelectSQL = "select BUNDLE_DATA from " + tablePrefix + schemaObjectPrefix + "BUNDLE where NODE_ID_HI = ? and NODE_ID_LO = ?";
+            bundleDeleteSQL = "delete from " + tablePrefix + schemaObjectPrefix + "BUNDLE where NODE_ID_HI = ? and NODE_ID_LO = ?";
 
             nodeReferenceInsertSQL =
-                "insert into " + schemaObjectPrefix + "REFS"
+                "insert into " + tablePrefix + schemaObjectPrefix + "REFS"
                 + " (REFS_DATA, NODE_ID_HI, NODE_ID_LO) values (?, ?, ?)";
             nodeReferenceUpdateSQL =
-                "update " + schemaObjectPrefix + "REFS"
+                "update " + tablePrefix + schemaObjectPrefix + "REFS"
                 + " set REFS_DATA = ? where NODE_ID_HI = ? and NODE_ID_LO = ?";
-            nodeReferenceSelectSQL = "select REFS_DATA from " + schemaObjectPrefix + "REFS where NODE_ID_HI = ? and NODE_ID_LO = ?";
-            nodeReferenceDeleteSQL = "delete from " + schemaObjectPrefix + "REFS where NODE_ID_HI = ? and NODE_ID_LO = ?";
+            nodeReferenceSelectSQL = "select REFS_DATA from " + tablePrefix + schemaObjectPrefix + "REFS where NODE_ID_HI = ? and NODE_ID_LO = ?";
+            nodeReferenceDeleteSQL = "delete from " + tablePrefix + schemaObjectPrefix + "REFS where NODE_ID_HI = ? and NODE_ID_LO = ?";
 
-            bundleSelectAllIdsSQL = "select NODE_ID_HI, NODE_ID_LO from " + schemaObjectPrefix + "BUNDLE";
+            bundleSelectAllIdsSQL = "select NODE_ID_HI, NODE_ID_LO from " + tablePrefix + schemaObjectPrefix + "BUNDLE";
             // need to use HI and LO parameters
             // this is not the exact statement, but not all databases support WHERE (NODE_ID_HI, NODE_ID_LOW) >= (?, ?)
             bundleSelectAllIdsFromSQL =
-                "select NODE_ID_HI, NODE_ID_LO from " + schemaObjectPrefix + "BUNDLE"
+                "select NODE_ID_HI, NODE_ID_LO from " + tablePrefix + schemaObjectPrefix + "BUNDLE"
                 + " WHERE (NODE_ID_HI >= ?) AND (? IS NOT NULL)"
                 + " ORDER BY NODE_ID_HI, NODE_ID_LO";
         }
@@ -1315,11 +1341,11 @@
         protected String blobDeleteSQL;
 
         public DbBlobStore() throws SQLException {
-            blobInsertSQL = "insert into " + schemaObjectPrefix + "BINVAL (BINVAL_DATA, BINVAL_ID) values (?, ?)";
-            blobUpdateSQL = "update " + schemaObjectPrefix + "BINVAL set BINVAL_DATA = ? where BINVAL_ID = ?";
-            blobSelectSQL = "select BINVAL_DATA from " + schemaObjectPrefix + "BINVAL where BINVAL_ID = ?";
-            blobSelectExistSQL = "select 1 from " + schemaObjectPrefix + "BINVAL where BINVAL_ID = ?";
-            blobDeleteSQL = "delete from " + schemaObjectPrefix + "BINVAL where BINVAL_ID = ?";
+            blobInsertSQL = "insert into " + tablePrefix + schemaObjectPrefix + "BINVAL (BINVAL_DATA, BINVAL_ID) values (?, ?)";
+            blobUpdateSQL = "update " + tablePrefix + schemaObjectPrefix + "BINVAL set BINVAL_DATA = ? where BINVAL_ID = ?";
+            blobSelectSQL = "select BINVAL_DATA from " + tablePrefix + schemaObjectPrefix + "BINVAL where BINVAL_ID = ?";
+            blobSelectExistSQL = "select 1 from " + tablePrefix + schemaObjectPrefix + "BINVAL where BINVAL_ID = ?";
+            blobDeleteSQL = "delete from " + tablePrefix + schemaObjectPrefix + "BINVAL where BINVAL_ID = ?";
         }
 
         /**
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/MSSqlPersistenceManager.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/MSSqlPersistenceManager.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/MSSqlPersistenceManager.java	(working copy)
@@ -29,6 +29,7 @@
  * <li>&lt;param name="{@link #setUser(String) user}" value=""/>
  * <li>&lt;param name="{@link #setPassword(String) password}" value=""/>
  * <li>&lt;param name="{@link #setSchema(String) schema}" value="mssql"/>
+ * <li>&lt;param name="{@link #setTablePrefix(String) tablePrefix}" value=""/>
  * <li>&lt;param name="{@link #setSchemaObjectPrefix(String) schemaObjectPrefix}" value=""/>
  * <li>&lt;param name="{@link #setErrorHandling(String) errorHandling}" value=""/>
  * <li>&lt;param name="{@link #setTableSpace(String) tableSpace}" value=""/>
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/PostgreSQLPersistenceManager.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/PostgreSQLPersistenceManager.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/PostgreSQLPersistenceManager.java	(working copy)
@@ -33,6 +33,7 @@
  * <li>&lt;param name="{@link #setUser(String) user}" value=""/>
  * <li>&lt;param name="{@link #setPassword(String) password}" value=""/>
  * <li>&lt;param name="{@link #setSchema(String) schema}" value="postgresql"/>
+ * <li>&lt;param name="{@link #setTablePrefix(String) tablePrefix}" value=""/>
  * <li>&lt;param name="{@link #setSchemaObjectPrefix(String) schemaObjectPrefix}" value=""/>
  * <li>&lt;param name="{@link #setErrorHandling(String) errorHandling}" value=""/>
  * </ul>
@@ -59,7 +60,7 @@
      * @throws java.sql.SQLException if an SQL error occurs.
      */
     protected DbNameIndex createDbNameIndex() throws SQLException {
-        return new PostgreSQLNameIndex(conHelper, schemaObjectPrefix);
+        return new PostgreSQLNameIndex(conHelper, tablePrefix, schemaObjectPrefix);
     }
 
     /**
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/DerbyPersistenceManager.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/DerbyPersistenceManager.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/DerbyPersistenceManager.java	(working copy)
@@ -38,6 +38,7 @@
  * <li>&lt;param name="{@link #setUser(String) user}" value=""/>
  * <li>&lt;param name="{@link #setPassword(String) password}" value=""/>
  * <li>&lt;param name="{@link #setSchema(String) schema}" value="derby"/>
+ * <li>&lt;param name="{@link #setTablePrefix(String) tablePrefix}" value=""/>
  * <li>&lt;param name="{@link #setSchemaObjectPrefix(String) schemaObjectPrefix}" value=""/>
  * <li>&lt;param name="{@link #setErrorHandling(String) errorHandling}" value=""/>
  * <!-- derby related -->
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/MySqlPersistenceManager.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/MySqlPersistenceManager.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/MySqlPersistenceManager.java	(working copy)
@@ -31,6 +31,7 @@
  * <li>&lt;param name="{@link #setUser(String) user}" value=""/>
  * <li>&lt;param name="{@link #setPassword(String) password}" value=""/>
  * <li>&lt;param name="{@link #setSchema(String) schema}" value="mysql"/>
+ * <li>&lt;param name="{@link #setTablePrefix(String) tablePrefix}" value=""/>
  * <li>&lt;param name="{@link #setSchemaObjectPrefix(String) schemaObjectPrefix}" value=""/>
  * <li>&lt;param name="{@link #setErrorHandling(String) errorHandling}" value=""/>
  * </ul>
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/OraclePersistenceManager.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/OraclePersistenceManager.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/OraclePersistenceManager.java	(working copy)
@@ -37,6 +37,7 @@
  * <li>&lt;param name="{@link #setUser(String) user}" value=""/>
  * <li>&lt;param name="{@link #setPassword(String) password}" value=""/>
  * <li>&lt;param name="{@link #setSchema(String) schema}" value="oracle"/>
+ * <li>&lt;param name="{@link #setTablePrefix(String) tablePrefix}" value=""/>
  * <li>&lt;param name="{@link #setSchemaObjectPrefix(String) schemaObjectPrefix}" value="${wsp.name}_"/>
  * <li>&lt;param name="{@link #setTableSpace(String) tableSpace}" value=""/>
  * <li>&lt;param name="{@link #setErrorHandling(String) errorHandling}" value=""/>
@@ -101,7 +102,7 @@
      * @throws SQLException if an SQL error occurs.
      */
     protected DbNameIndex createDbNameIndex() throws SQLException {
-        return new NGKDbNameIndex(conHelper, schemaObjectPrefix);
+        return new NGKDbNameIndex(conHelper, tablePrefix, schemaObjectPrefix);
     }
 
     /**
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/H2PersistenceManager.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/H2PersistenceManager.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/H2PersistenceManager.java	(working copy)
@@ -32,6 +32,7 @@
  *     &lt;param name="{@link #setUser(String) user}" value=""/>
  *     &lt;param name="{@link #setPassword(String) password}" value=""/>
  *     &lt;param name="{@link #setSchema(String) schema}" value="h2"/>
+ *     &lt;param name="{@link #setTablePrefix(String) tablePrefix}" value=""/>
  *     &lt;param name="{@link #setSchemaObjectPrefix(String) schemaObjectPrefix}" value=""/>
  *     &lt;param name="{@link #setErrorHandling(String) errorHandling}" value=""/>
  *     &lt;param name="{@link #setLockTimeout(String) lockTimeout}" value="10000"/>
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/PostgreSQLNameIndex.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/PostgreSQLNameIndex.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/PostgreSQLNameIndex.java	(working copy)
@@ -31,24 +31,25 @@
 
     protected String generatedKeySelectSQL;
 
-    public PostgreSQLNameIndex(ConnectionHelper connectionHelper, String schemaObjectPrefix)
+    public PostgreSQLNameIndex(ConnectionHelper connectionHelper, String tablePrefix, String schemaObjectPrefix)
             throws SQLException {
-        super(connectionHelper, schemaObjectPrefix);
+        super(connectionHelper, tablePrefix, schemaObjectPrefix);
     }
 
     /**
      * Inits this index and prepares the statements.
      *
      * @param con the jdbc connection
-     * @param schemaObjectPrefix the prefix for table names
+     * @param tablePrefix the prefix for tables
+     * @param schemaObjectPrefix the prefix for schema objects
      * @throws SQLException if the statements cannot be prepared.
      */
-    protected void init(String schemaObjectPrefix)
+    protected void init(String tablePrefix, String schemaObjectPrefix)
             throws SQLException {
-        nameSelectSQL = "select NAME from " + schemaObjectPrefix + "NAMES where ID = ?";
-        indexSelectSQL = "select ID from " + schemaObjectPrefix + "NAMES where NAME = ?";
-        nameInsertSQL = "insert into " + schemaObjectPrefix + "NAMES (NAME) values (?)";
-        generatedKeySelectSQL = "select currval('" + schemaObjectPrefix + "NAMES_ID_SEQ')";
+        nameSelectSQL = "select NAME from " + tablePrefix + schemaObjectPrefix + "NAMES where ID = ?";
+        indexSelectSQL = "select ID from " + tablePrefix + schemaObjectPrefix + "NAMES where NAME = ?";
+        nameInsertSQL = "insert into " + tablePrefix + schemaObjectPrefix + "NAMES (NAME) values (?)";
+        generatedKeySelectSQL = "select currval('" + tablePrefix + schemaObjectPrefix + "NAMES_ID_SEQ')";
     }
 
     /**
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/DbNameIndex.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/DbNameIndex.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/DbNameIndex.java	(working copy)
@@ -51,27 +51,30 @@
     /**
      * Creates a new index that is stored in a db.
      * @param conHelper the {@link ConnectionHelper}
-     * @param schemaObjectPrefix the prefix for table names
+     * @param tablePrefix the prefix for tables
+     * @param schemaObjectPrefix the prefix for schema objects
      * @throws SQLException if the statements cannot be prepared.
      */
-    public DbNameIndex(ConnectionHelper conHlpr, String schemaObjectPrefix)
+    public DbNameIndex(ConnectionHelper conHlpr, String tablePrefix,
+        String schemaObjectPrefix)
             throws SQLException {
         conHelper = conHlpr;
-        init(schemaObjectPrefix);
+        init(tablePrefix,schemaObjectPrefix);
     }
 
     /**
      * Inits this index and prepares the statements.
      *
      * @param con the jdbc connection
-     * @param schemaObjectPrefix the prefix for table names
+     * @param tablePrefix the prefix for tables
+     * @param schemaObjectPrefix the prefix for schema objects
      * @throws SQLException if the statements cannot be prepared.
      */
-    protected void init(String schemaObjectPrefix)
+    protected void init(String tablePrefix,String schemaObjectPrefix)
             throws SQLException {
-        nameSelectSQL = "select NAME from " + schemaObjectPrefix + "NAMES where ID = ?";
-        indexSelectSQL = "select ID from " + schemaObjectPrefix + "NAMES where NAME = ?";
-        nameInsertSQL = "insert into " + schemaObjectPrefix + "NAMES (NAME) values (?)";
+        nameSelectSQL = "select NAME from " + tablePrefix + schemaObjectPrefix + "NAMES where ID = ?";
+        indexSelectSQL = "select ID from " + tablePrefix + schemaObjectPrefix + "NAMES where NAME = ?";
+        nameInsertSQL = "insert into " + tablePrefix + schemaObjectPrefix + "NAMES (NAME) values (?)";
     }
 
     /**
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/NGKDbNameIndex.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/NGKDbNameIndex.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/NGKDbNameIndex.java	(working copy)
@@ -31,22 +31,23 @@
     /**
      * Creates a new index that is stored in a db.
      * @param conHelper the {@link ConnectionHelper}
-     * @param schemaObjectPrefix the prefix for table names
+     * @param tablePrefix the prefix for tables
+     * @param schemaObjectPrefix the prefix for schema objects 
      * @throws SQLException if the statements cannot be prepared.
      */
-    public NGKDbNameIndex(ConnectionHelper conHelper, String schemaObjectPrefix)
+    public NGKDbNameIndex(ConnectionHelper conHelper, String tablePrefix, String schemaObjectPrefix)
             throws SQLException {
-        super(conHelper, schemaObjectPrefix);
+        super(conHelper, tablePrefix, schemaObjectPrefix);
     }
 
     /**
      * {@inheritDoc}
      */
-    protected void init(String schemaObjectPrefix)
+    protected void init(String tablePrefix,String schemaObjectPrefix)
             throws SQLException {
-        nameSelectSQL = "select NAME from " + schemaObjectPrefix + "NAMES where ID = ?";
-        indexSelectSQL = "select ID from " + schemaObjectPrefix + "NAMES where NAME = ?";
-        nameInsertSQL = "insert into " + schemaObjectPrefix + "NAMES (NAME) values (?)";
+        nameSelectSQL = "select NAME from " + tablePrefix + schemaObjectPrefix + "NAMES where ID = ?";
+        indexSelectSQL = "select ID from " + tablePrefix + schemaObjectPrefix + "NAMES where NAME = ?";
+        nameInsertSQL = "insert into " + tablePrefix + schemaObjectPrefix + "NAMES (NAME) values (?)";
     }
 
     /**
Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/Oracle9PersistenceManager.java
===================================================================
--- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/Oracle9PersistenceManager.java	(revision 1159380)
+++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/pool/Oracle9PersistenceManager.java	(working copy)
@@ -33,6 +33,7 @@
  * <li>&lt;param name="{@link #setUser(String) user}" value=""/>
  * <li>&lt;param name="{@link #setPassword(String) password}" value=""/>
  * <li>&lt;param name="{@link #setSchema(String) schema}" value="oracle"/>
+ * <li>&lt;param name="{@link #setTablePrefix(String) tablePrefix}" value=""/>
  * <li>&lt;param name="{@link #setSchemaObjectPrefix(String) schemaObjectPrefix}" value="${wsp.name}_"/>
  * <li>&lt;param name="{@link #setErrorHandling(String) errorHandling}" value=""/>
  * </ul>
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/mssql.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/mssql.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/mssql.ddl	(working copy)
@@ -12,10 +12,10 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}BUNDLE (NODE_ID binary(16) not null, BUNDLE_DATA image not null) ${tableSpace}
-create unique index ${schemaObjectPrefix}BUNDLE_IDX on ${schemaObjectPrefix}BUNDLE (NODE_ID) ${tableSpace}
-create table ${schemaObjectPrefix}REFS (NODE_ID binary(16) not null, REFS_DATA image not null) ${tableSpace}
-create unique index ${schemaObjectPrefix}REFS_IDX on ${schemaObjectPrefix}REFS (NODE_ID) ${tableSpace}
-create table ${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(64) not null, BINVAL_DATA image not null) ${tableSpace}
-create unique index ${schemaObjectPrefix}BINVAL_IDX on ${schemaObjectPrefix}BINVAL (BINVAL_ID) ${tableSpace}
-create table ${schemaObjectPrefix}NAMES (ID INTEGER IDENTITY(1,1) PRIMARY KEY, NAME varchar(255) COLLATE Latin1_General_CS_AS not null) ${tableSpace}
+create table ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID binary(16) not null, BUNDLE_DATA image not null) ${tableSpace}
+create unique index ${schemaObjectPrefix}BUNDLE_IDX on ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID) ${tableSpace}
+create table ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID binary(16) not null, REFS_DATA image not null) ${tableSpace}
+create unique index ${schemaObjectPrefix}REFS_IDX on ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID) ${tableSpace}
+create table ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(64) not null, BINVAL_DATA image not null) ${tableSpace}
+create unique index ${schemaObjectPrefix}BINVAL_IDX on ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID) ${tableSpace}
+create table ${tablePrefix}${schemaObjectPrefix}NAMES (ID INTEGER IDENTITY(1,1) PRIMARY KEY, NAME varchar(255) COLLATE Latin1_General_CS_AS not null) ${tableSpace}
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/postgresql.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/postgresql.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/postgresql.ddl	(working copy)
@@ -12,8 +12,8 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}BUNDLE (NODE_ID_HI bigint not null, NODE_ID_LO bigint not null, BUNDLE_DATA bytea not null, PRIMARY KEY (NODE_ID_HI, NODE_ID_LO))
-create table ${schemaObjectPrefix}REFS (NODE_ID_HI bigint not null, NODE_ID_LO bigint not null, REFS_DATA bytea not null, PRIMARY KEY (NODE_ID_HI, NODE_ID_LO))
-create table ${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(64) not null, BINVAL_DATA bytea not null)
-create unique index ${schemaObjectPrefix}BINVAL_IDX on ${schemaObjectPrefix}BINVAL (BINVAL_ID)
-create table ${schemaObjectPrefix}NAMES (ID SERIAL PRIMARY KEY, NAME varchar(255) not null)
+create table ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID_HI bigint not null, NODE_ID_LO bigint not null, BUNDLE_DATA bytea not null, PRIMARY KEY (NODE_ID_HI, NODE_ID_LO))
+create table ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID_HI bigint not null, NODE_ID_LO bigint not null, REFS_DATA bytea not null, PRIMARY KEY (NODE_ID_HI, NODE_ID_LO))
+create table ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(64) not null, BINVAL_DATA bytea not null)
+create unique index ${schemaObjectPrefix}BINVAL_IDX on ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID)
+create table ${tablePrefix}${schemaObjectPrefix}NAMES (ID SERIAL PRIMARY KEY, NAME varchar(255) not null)
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/derby.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/derby.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/derby.ddl	(working copy)
@@ -12,7 +12,7 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}BUNDLE (NODE_ID_HI bigint not null, NODE_ID_LO bigint not null, BUNDLE_DATA blob(2G) not null, PRIMARY KEY (NODE_ID_HI, NODE_ID_LO))
-create table ${schemaObjectPrefix}REFS (NODE_ID_HI bigint not null, NODE_ID_LO bigint not null, REFS_DATA blob(2G) not null, PRIMARY KEY (NODE_ID_HI, NODE_ID_LO))
-create table ${schemaObjectPrefix}BINVAL (BINVAL_ID char(64) PRIMARY KEY, BINVAL_DATA blob(2G) not null)
-create table ${schemaObjectPrefix}NAMES (ID INTEGER GENERATED ALWAYS AS IDENTITY, NAME varchar(255) not null, PRIMARY KEY (ID, NAME))
+create table ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID_HI bigint not null, NODE_ID_LO bigint not null, BUNDLE_DATA blob(2G) not null, PRIMARY KEY (NODE_ID_HI, NODE_ID_LO))
+create table ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID_HI bigint not null, NODE_ID_LO bigint not null, REFS_DATA blob(2G) not null, PRIMARY KEY (NODE_ID_HI, NODE_ID_LO))
+create table ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID char(64) PRIMARY KEY, BINVAL_DATA blob(2G) not null)
+create table ${tablePrefix}${schemaObjectPrefix}NAMES (ID INTEGER GENERATED ALWAYS AS IDENTITY, NAME varchar(255) not null, PRIMARY KEY (ID, NAME))
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/mysql.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/mysql.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/mysql.ddl	(working copy)
@@ -12,10 +12,10 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}BUNDLE (NODE_ID varbinary(16) not null, BUNDLE_DATA longblob not null)
-create unique index ${schemaObjectPrefix}BUNDLE_IDX on ${schemaObjectPrefix}BUNDLE (NODE_ID)
-create table ${schemaObjectPrefix}REFS (NODE_ID varbinary(16) not null, REFS_DATA longblob not null)
-create unique index ${schemaObjectPrefix}REFS_IDX on ${schemaObjectPrefix}REFS (NODE_ID)
-create table ${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(64) not null, BINVAL_DATA longblob not null)
-create unique index ${schemaObjectPrefix}BINVAL_IDX on ${schemaObjectPrefix}BINVAL (BINVAL_ID)
-create table ${schemaObjectPrefix}NAMES (ID INTEGER AUTO_INCREMENT PRIMARY KEY, NAME varchar(255) character set utf8 collate utf8_bin not null)
+create table ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID varbinary(16) not null, BUNDLE_DATA longblob not null)
+create unique index ${schemaObjectPrefix}BUNDLE_IDX on ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID)
+create table ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID varbinary(16) not null, REFS_DATA longblob not null)
+create unique index ${schemaObjectPrefix}REFS_IDX on ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID)
+create table ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(64) not null, BINVAL_DATA longblob not null)
+create unique index ${schemaObjectPrefix}BINVAL_IDX on ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID)
+create table ${tablePrefix}${schemaObjectPrefix}NAMES (ID INTEGER AUTO_INCREMENT PRIMARY KEY, NAME varchar(255) character set utf8 collate utf8_bin not null)
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/oracle.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/oracle.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/oracle.ddl	(working copy)
@@ -12,16 +12,16 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}BUNDLE (NODE_ID raw(16) not null, BUNDLE_DATA blob not null) ${tableSpace}
-create unique index ${schemaObjectPrefix}BUNDLE_IDX on ${schemaObjectPrefix}BUNDLE (NODE_ID) ${tableSpace}
+create table ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID raw(16) not null, BUNDLE_DATA blob not null) ${tableSpace}
+create unique index ${schemaObjectPrefix}BUNDLE_IDX on ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID) ${tableSpace}
 
-create table ${schemaObjectPrefix}REFS (NODE_ID raw(16) not null, REFS_DATA blob not null) ${tableSpace}
-create unique index ${schemaObjectPrefix}REFS_IDX on ${schemaObjectPrefix}REFS (NODE_ID) ${tableSpace}
+create table ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID raw(16) not null, REFS_DATA blob not null) ${tableSpace}
+create unique index ${schemaObjectPrefix}REFS_IDX on ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID) ${tableSpace}
 
-create table ${schemaObjectPrefix}BINVAL (BINVAL_ID varchar2(64) not null, BINVAL_DATA blob null) ${tableSpace}
-create unique index ${schemaObjectPrefix}BINVAL_IDX on ${schemaObjectPrefix}BINVAL (BINVAL_ID) ${tableSpace}
+create table ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID varchar2(64) not null, BINVAL_DATA blob null) ${tableSpace}
+create unique index ${schemaObjectPrefix}BINVAL_IDX on ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID) ${tableSpace}
 
-create table ${schemaObjectPrefix}NAMES (ID INTEGER primary key, NAME varchar2(255) not null) ${tableSpace}
-create unique index ${schemaObjectPrefix}NAMES_IDX on ${schemaObjectPrefix}NAMES (NAME) ${tableSpace}
-create sequence ${schemaObjectPrefix}seq_names_id
-create trigger ${schemaObjectPrefix}t1 before insert on ${schemaObjectPrefix}NAMES for each row begin select ${schemaObjectPrefix}seq_names_id.nextval into :new.id from dual; end;
\ No newline at end of file
+create table ${tablePrefix}${schemaObjectPrefix}NAMES (ID INTEGER primary key, NAME varchar2(255) not null) ${tableSpace}
+create unique index ${schemaObjectPrefix}NAMES_IDX on ${tablePrefix}${schemaObjectPrefix}NAMES (NAME) ${tableSpace}
+create sequence ${tablePrefix}${schemaObjectPrefix}seq_names_id
+create trigger ${tablePrefix}${schemaObjectPrefix}t1 before insert on ${tablePrefix}${schemaObjectPrefix}NAMES for each row begin select ${tablePrefix}${schemaObjectPrefix}seq_names_id.nextval into :new.id from dual; end;
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/db2.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/db2.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/db2.ddl	(working copy)
@@ -12,10 +12,10 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}BUNDLE (NODE_ID CHAR(16) FOR BIT DATA not null, BUNDLE_DATA blob(100M) not null)
-create unique index ${schemaObjectPrefix}BUNDLE_IDX on ${schemaObjectPrefix}BUNDLE (NODE_ID)
-create table ${schemaObjectPrefix}REFS (NODE_ID CHAR(16) FOR BIT DATA not null, REFS_DATA blob(100M) not null)
-create unique index ${schemaObjectPrefix}REFS_IDX on ${schemaObjectPrefix}REFS (NODE_ID)
-create table ${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(64) not null, BINVAL_DATA blob(1000M) not null)
-create unique index ${schemaObjectPrefix}BINVAL_IDX on ${schemaObjectPrefix}BINVAL (BINVAL_ID)
-create table ${schemaObjectPrefix}NAMES (ID INTEGER GENERATED ALWAYS AS IDENTITY, NAME varchar(255) not null)
+create table ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID CHAR(16) FOR BIT DATA not null, BUNDLE_DATA blob(100M) not null)
+create unique index ${schemaObjectPrefix}BUNDLE_IDX on ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID)
+create table ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID CHAR(16) FOR BIT DATA not null, REFS_DATA blob(100M) not null)
+create unique index ${schemaObjectPrefix}REFS_IDX on ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID)
+create table ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(64) not null, BINVAL_DATA blob(1000M) not null)
+create unique index ${schemaObjectPrefix}BINVAL_IDX on ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID)
+create table ${tablePrefix}${schemaObjectPrefix}NAMES (ID INTEGER GENERATED ALWAYS AS IDENTITY, NAME varchar(255) not null)
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/ingres.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/ingres.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/ingres.ddl	(working copy)
@@ -12,11 +12,11 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}BUNDLE (NODE_ID byte(16) not null, BUNDLE_DATA long byte not null)
-create unique index ${schemaObjectPrefix}BUNDLE_IDX on ${schemaObjectPrefix}BUNDLE (NODE_ID)
-create table ${schemaObjectPrefix}REFS (NODE_ID byte(16) not null, REFS_DATA long byte not null)
-create unique index ${schemaObjectPrefix}REFS_IDX on ${schemaObjectPrefix}REFS (NODE_ID)
-create table ${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(64), BINVAL_DATA long byte not null)
-create unique index ${schemaObjectPrefix}BINVAL_IDX on ${schemaObjectPrefix}BINVAL (BINVAL_ID)
-create sequence ${schemaObjectPrefix}seq_names_id
-create table ${schemaObjectPrefix}NAMES (ID INTEGER PRIMARY KEY WITH DEFAULT NEXT VALUE FOR ${schemaObjectPrefix}seq_names_id, NAME nvarchar(255) not null)
\ No newline at end of file
+create table ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID byte(16) not null, BUNDLE_DATA long byte not null)
+create unique index ${schemaObjectPrefix}BUNDLE_IDX on ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID)
+create table ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID byte(16) not null, REFS_DATA long byte not null)
+create unique index ${schemaObjectPrefix}REFS_IDX on ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID)
+create table ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(64), BINVAL_DATA long byte not null)
+create unique index ${schemaObjectPrefix}BINVAL_IDX on $${tablePrefix}{schemaObjectPrefix}BINVAL (BINVAL_ID)
+create sequence ${tablePrefix}${schemaObjectPrefix}seq_names_id
+create table ${tablePrefix}${schemaObjectPrefix}NAMES (ID INTEGER PRIMARY KEY WITH DEFAULT NEXT VALUE FOR ${tablePrefix}${schemaObjectPrefix}seq_names_id, NAME nvarchar(255) not null)
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/h2.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/h2.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/persistence/bundle/h2.ddl	(working copy)
@@ -12,7 +12,7 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create cached table ${schemaObjectPrefix}BUNDLE (NODE_ID binary(16) PRIMARY KEY, BUNDLE_DATA varbinary not null)
-create cached table ${schemaObjectPrefix}REFS (NODE_ID binary(16) PRIMARY KEY, REFS_DATA varbinary not null)
-create cached table ${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(64) PRIMARY KEY, BINVAL_DATA blob not null)
-create cached table ${schemaObjectPrefix}NAMES (ID INTEGER AUTO_INCREMENT PRIMARY KEY, NAME varchar(255) not null)
\ No newline at end of file
+create cached table ${tablePrefix}${schemaObjectPrefix}BUNDLE (NODE_ID binary(16) PRIMARY KEY, BUNDLE_DATA varbinary not null)
+create cached table ${tablePrefix}${schemaObjectPrefix}REFS (NODE_ID binary(16) PRIMARY KEY, REFS_DATA varbinary not null)
+create cached table ${tablePrefix}${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(64) PRIMARY KEY, BINVAL_DATA blob not null)
+create cached table ${tablePrefix}${schemaObjectPrefix}NAMES (ID INTEGER AUTO_INCREMENT PRIMARY KEY, NAME varchar(255) not null)
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/mssql.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/mssql.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/mssql.ddl	(working copy)
@@ -12,5 +12,5 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar(2048) not null, FSENTRY_NAME varchar(255) not null, FSENTRY_DATA image null, FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null) ${tableSpace}
-create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME) ${tableSpace}
+create table ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar(2048) not null, FSENTRY_NAME varchar(255) not null, FSENTRY_DATA image null, FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null) ${tableSpace}
+create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME) ${tableSpace}
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/postgresql.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/postgresql.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/postgresql.ddl	(working copy)
@@ -12,5 +12,5 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar not null, FSENTRY_NAME varchar not null, FSENTRY_DATA bytea null, FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null)
-create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
+create table ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar not null, FSENTRY_NAME varchar not null, FSENTRY_DATA bytea null, FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null)
+create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/default.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/default.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/default.ddl	(working copy)
@@ -12,5 +12,5 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar not null, FSENTRY_NAME varchar not null, FSENTRY_DATA varbinary null, FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null)
-create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
+create table ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar not null, FSENTRY_NAME varchar not null, FSENTRY_DATA varbinary null, FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null)
+create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/derby.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/derby.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/derby.ddl	(working copy)
@@ -12,5 +12,5 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar(2048) not null, FSENTRY_NAME varchar(255) not null, FSENTRY_DATA blob(100M), FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null)
-create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
+create table ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar(2048) not null, FSENTRY_NAME varchar(255) not null, FSENTRY_DATA blob(100M), FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null)
+create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/mysql.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/mysql.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/mysql.ddl	(working copy)
@@ -12,5 +12,5 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH text not null, FSENTRY_NAME varchar(255) not null, FSENTRY_DATA longblob null, FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null) character set latin1
-create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH(245), FSENTRY_NAME)
+create table ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH text not null, FSENTRY_NAME varchar(255) not null, FSENTRY_DATA longblob null, FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null) character set latin1
+create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH(245), FSENTRY_NAME)
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/oracle.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/oracle.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/oracle.ddl	(working copy)
@@ -12,5 +12,5 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar2(2048) not null, FSENTRY_NAME varchar2(255) not null, FSENTRY_DATA blob null, FSENTRY_LASTMOD number(38,0) not null, FSENTRY_LENGTH number(38,0) null) ${tableSpace}
-create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME) ${tableSpace}
+create table ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar2(2048) not null, FSENTRY_NAME varchar2(255) not null, FSENTRY_DATA blob null, FSENTRY_LASTMOD number(38,0) not null, FSENTRY_LENGTH number(38,0) null) ${tableSpace}
+create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME) ${tableSpace}
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/db2.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/db2.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/db2.ddl	(working copy)
@@ -12,5 +12,5 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar(745) not null, FSENTRY_NAME varchar(255) not null, FSENTRY_DATA blob(100M), FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null)
-create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
+create table ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar(745) not null, FSENTRY_NAME varchar(255) not null, FSENTRY_DATA blob(100M), FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null)
+create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/ingres.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/ingres.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/ingres.ddl	(working copy)
@@ -12,5 +12,5 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar(744) not null, FSENTRY_NAME varchar(255) not null, FSENTRY_DATA long byte with null, FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null)
-create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
+create table ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar(744) not null, FSENTRY_NAME varchar(255) not null, FSENTRY_DATA long byte with null, FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null)
+create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/daffodil.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/daffodil.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/daffodil.ddl	(working copy)
@@ -12,5 +12,5 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar(2048) not null, FSENTRY_NAME varchar(255) not null, FSENTRY_DATA blob, FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null)
-create index ${schemaObjectPrefix}FSENTRY_IDX on ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
+create table ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH varchar(2048) not null, FSENTRY_NAME varchar(255) not null, FSENTRY_DATA blob, FSENTRY_LASTMOD bigint not null, FSENTRY_LENGTH bigint not null)
+create index ${schemaObjectPrefix}FSENTRY_IDX on ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
Index: jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/maxdb.ddl
===================================================================
--- jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/maxdb.ddl	(revision 1159380)
+++ jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/fs/db/maxdb.ddl	(working copy)
@@ -12,5 +12,5 @@
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
-create table ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH VARCHAR(255) not null, FSENTRY_NAME VARCHAR(255) not null, FSENTRY_DATA LONG BYTE null, FSENTRY_LASTMOD FIXED(38,0) not null, FSENTRY_LENGTH FIXED(38,0) not null)
-create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
+create table ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH VARCHAR(255) not null, FSENTRY_NAME VARCHAR(255) not null, FSENTRY_DATA LONG BYTE null, FSENTRY_LASTMOD FIXED(38,0) not null, FSENTRY_LENGTH FIXED(38,0) not null)
+create unique index ${schemaObjectPrefix}FSENTRY_IDX on ${tablePrefix}${schemaObjectPrefix}FSENTRY (FSENTRY_PATH, FSENTRY_NAME)
