jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dietmar Gräbner <d.graeb...@berlinger.cc>
Subject OracleFileSystem, OraclePersistenceManager and the schema
Date Thu, 14 Sep 2006 15:55:47 GMT
Hi

I had problems using Jackrabbit in more than one schema on the same 
oracle instance.

Jackrabbit assumes that the table name (f.e.: prefix + fs_entry) is 
unique across all schemas  used on one oracle instance. So two 
Jackrabbit instances using two schemas on the same Oracle instance won't 
work.

A solution for the problem is to overwrite the checkSchema methods in 
OracleFileSystem and OraclePersistenceManager and consider the schema name.

Here are the first few lines from OraclePersistenceManager.checkSchema():

 protected void checkSchema() throws Exception {
        DatabaseMetaData metaData = con.getMetaData();
        String tableName = schemaObjectPrefix + "NODE";
        *String userName = metaData.getUserName();
             
        if (metaData.storesLowerCaseIdentifiers()) {
            tableName = tableName.toLowerCase();
        } else if (metaData.storesUpperCaseIdentifiers()) {
            tableName = tableName.toUpperCase();
        }
        *ResultSet rs = metaData.getTables(null, userName, tableName, null);
       ....
}

 * mark the changes - the remainder of the method is from 
DBPersistenceManager


best regards

Dietmar




Mime
View raw message