jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Wout van der Steen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1366) DbDataStore: tablePrefix not accomodated during init test for existing DATASTORE table
Date Thu, 26 Feb 2009 12:27:04 GMT

    [ 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.


Mime
View raw message