[ 
https://issues.apache.org/jira/browse/JCR-1366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12676976#action_12676976
 ] 

Eric Wout van der Steen commented on JCR-1366:
----------------------------------------------

As a minor suggestion, I do think the tablePrefix parameter should be 
deprecated and replaced with a tableSpace parameter so that the different 
database configuration options for all the database-driven components 
(PersistenceManager, DataStore, Versioning, etc.) are the same (or at least 
comparable).

As it is now, it could be confusing, since each element has different 
parameters to configure the connection with the database, while they more or 
less same.

But this should probably be a new issue if accepted? ;)

> DbDataStore: tablePrefix not accomodated during init test for existing 
> DATASTORE table
> --------------------------------------------------------------------------------------
>
>                 Key: JCR-1366
>                 URL: https://issues.apache.org/jira/browse/JCR-1366
>             Project: Jackrabbit Content Repository
>          Issue Type: New Feature
>          Components: jackrabbit-core
>    Affects Versions: 1.4
>         Environment: jdk 1.6, win xp, SQL SERVER 2007, jTDS jdbc driver
>            Reporter: Tyson Norris
>            Priority: Minor
>             Fix For: 1.6.0
>
>         Attachments: datastore_prefix.patch
>
>
> we are providing a test db deployment with prepopulated data, including 
> jackrabbit DataStore. I tried specifying the tablePrefix when creating the 
> initial repository, and tables are created properly.
> However, when a clean installation is run with a fresh database that has an 
> existing DataStore (stored at JACKRABBIT_DS_DATASTORE table), the startup 
> fails, because during init, the meta data only checks for tables name 
> matching the tableSQL property:
> ResultSet rs = meta.getTables(null, null, tableSQL, null);
> but the tableSQL property is never modified based on the tablePrefix property 
> (other uses of tableSQL modify queries based on the prefix).
> I think the init method should modify the tested table name based on the 
> tablePrefix.
> Note: I assume different JDBC drivers may handle this differently (we are 
> using SQL Server 2007 and jTDS driver), since the DatabaseMetaData is API is 
> unclear on the parameter to getTables being a "tableNamePattern" - should 
> wildcards work? Or should a specific table be specified? 
> My DataStore config is below:
>     <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>       <param name="className" 
> value="org.apache.jackrabbit.core.data.db.DbDataStore"/>
>       <param name="url" 
> value="jdbc:jtds:SQLServer://localhost:1433/nga_admin;prepareSQL=2;responseBuffering=adaptive"/>
>       <param name="user" value="sa"/>
>       <param name="password" value=""/>
>       <param name="databaseType" value="sqlserver"/>
>       <param name="driver" value="net.sourceforge.jtds.jdbc.Driver"/>
>       <!-- a bug in jackrabbit makes tablePrefix not work -->
>       <param name="tablePrefix" value="JACKRABBIT_DS_">
>       <param name="minRecordLength" value="1"/>
>       <param name="maxConnections" value="2"/>
>       <param name="copyWhenReading" value="true"/>         
>     </DataStore>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to