[
https://issues.apache.org/jira/browse/JCR-2414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13536002#comment-13536002
]
Jacek Prucia commented on JCR-2414:
-----------------------------------
Sorry, to jump in here so late, but i've been stuck with basically the same
problem. The problem in my personal opinion lies with misleading property name:
schemaObjectPrefix. Schema is an entity allegedly defined by SQL ANSII
standard. Haven't read the spec, but the reality these days is that scheme in
most RDMS'es means simply namespace for usual db elements (tables, views,
indexes etc). People use it like namespace everywhere else: to group simillar
elements which for some reason must live in the same database.
So some people (myself included) when they see word "schema" used in
conjunction with "database" assume it means usual database schema. And just
like original bug reporter we get really confused if things don't work the way
we expect them to. Personally i think that changing property into
DbObjectPrefix would solve this problem (although, changing things that affect
configuration file is kinda opening pandora box...)
As for schemas themselves, they simply allows for neat data organization. You
could for example get Jackrabbit tables and application tables together into
single database (so moving whole app around is way easier). Or you can have a
master database for all Jackrabbit instances (to be able to issue some query
against it and get summary information). One can argue that you can achieve
that with separate databases, but the reality is that schemas do exists and are
quite widely used.
I think Jackrabbit could still support schemas with additional property:
schemaName. Assuming following scenario:
schemaName = scott1
dbObjectPrefix = filesystem_
...Jackrabbit would for example issue: CREATE TABLE scott1.filesystem_fsentry
...
That would allow to achieve what bug reporter and myself wanted and still
escape dot in object prefix. My situation allows me to stick with dedicated
database, so it is not really a big problem for me. Just wanted to sort things
out a bit, as my impression is this bug was left without a closure of some sort.
> Problem with multiple SCHEMA
> ----------------------------
>
> Key: JCR-2414
> URL: https://issues.apache.org/jira/browse/JCR-2414
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-core
> Environment: Oracle 9i, Windows XP/Linux
> Reporter: premkumar
> Priority: Minor
> Fix For: 1.6
>
> Attachments: repository.xml, workspace.xml
>
>
> I'm having 2 schema (scott & scott1) for a single instance orcl. I Inserted
> all Jackrabbit dll and made schemaCheckEnabled to false for scott schema and
> its working fine for scott. But when I try for scott1 Its throwing exception
> (ORA-00942: table or view does not exist). Attached repository.xml for your
> reference.
> javax.jcr.RepositoryException: File system initialization failure.: failed to
> initialize file system: failed to initialize file system
> at
> org.apache.jackrabbit.core.config.RepositoryConfigurationParser$4.getFileSystem(RepositoryConfigurationParser.java:825)
> at
> org.apache.jackrabbit.core.config.RepositoryConfig.getFileSystem(RepositoryConfig.java:778)
> at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:268)
> at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:627)
> at
> org.apache.jackrabbit.core.jndi.BindableRepository.createRepository(BindableRepository.java:141)
> at
> org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepository.java:117)
> at
> org.apache.jackrabbit.core.jndi.BindableRepository.<init>(BindableRepository.java:106)
> at
> org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.getObjectInstance(BindableRepositoryFactory.java:51)
> at
> org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(RegistryHelper.java:74)
> at com.jcr.test.ContentRepository.<clinit>(ContentRepository.java:65)
> Caused by: org.apache.jackrabbit.core.fs.FileSystemException: failed to
> initialize file system
> at
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.init(DatabaseFileSystem.java:226)
> at
> org.apache.jackrabbit.core.fs.db.OracleFileSystem.init(OracleFileSystem.java:137)
> at
> org.apache.jackrabbit.core.config.RepositoryConfigurationParser$4.getFileSystem(RepositoryConfigurationParser.java:818)
> ... 9 more
> Caused by: org.apache.jackrabbit.core.fs.FileSystemException: failed to check
> existence of file system root entry
> at
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.verifyRootExists(DatabaseFileSystem.java:1387)
> at
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.init(DatabaseFileSystem.java:220)
> ... 11 more
> Caused by: java.sql.SQLException: ORA-00942: table or view does not exist
> at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
> at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
> at
> oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
> at
> oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:799)
> at
> oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039)
> at
> oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:839)
> at
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1132)
> at
> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
> at
> oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3390)
> at
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.executeStmt(DatabaseFileSystem.java:1101)
> at
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.verifyRootExists(DatabaseFileSystem.java:1375)
> ... 12 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira