Author: reschke
Date: Tue Apr 9 19:20:59 2019
New Revision: 1857221
URL: http://svn.apache.org/viewvc?rev=1857221&view=rev
Log:
OAK-8208: oak-run/rdb: add --rdbtableprefix option
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java?rev=1857221&r1=1857220&r2=1857221&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java
Tue Apr 9 19:20:59 2019
@@ -51,6 +51,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBuilder;
import org.apache.jackrabbit.oak.plugins.document.LeaseCheckMode;
import org.apache.jackrabbit.oak.plugins.document.rdb.RDBDataSourceFactory;
+import org.apache.jackrabbit.oak.plugins.document.rdb.RDBOptions;
import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection;
import org.apache.jackrabbit.oak.run.cli.DummyDataStore;
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
@@ -80,6 +81,7 @@ class Utils {
public final OptionParser parser;
public final OptionSpec<String> rdbjdbcuser;
public final OptionSpec<String> rdbjdbcpasswd;
+ public final OptionSpec<String> rdbtableprefix;
public final OptionSpec<Integer> clusterId;
public final OptionSpec<Void> disableBranchesSpec;
public final OptionSpec<Integer> cacheSizeSpec;
@@ -96,6 +98,9 @@ class Utils {
rdbjdbcpasswd = parser
.accepts("rdbjdbcpasswd", "RDB JDBC password")
.withOptionalArg().defaultsTo("");
+ rdbtableprefix = parser
+ .accepts("rdbtableprefix", "RDB table prefix")
+ .withOptionalArg();
clusterId = parser
.accepts("clusterId", "MongoMK clusterId")
.withRequiredArg().ofType(Integer.class).defaultsTo(0);
@@ -151,6 +156,10 @@ class Utils {
public String getRDBJDBCPassword() {
return rdbjdbcpasswd.value(options);
}
+
+ public String getRDBTablePrefix() {
+ return rdbtableprefix.value(options);
+ }
}
public static NodeStore bootstrapNodeStore(String[] args, Closer closer,
String h) throws IOException, InvalidFileStoreVersionException {
@@ -207,9 +216,12 @@ class Utils {
builder = newMongoDocumentNodeStoreBuilder().setMongoDB(
mongo.getMongoClient(), mongo.getDBName());
} else if (src.startsWith("jdbc")) {
- DataSource ds = RDBDataSourceFactory.forJdbcUrl(src,
- options.getRDBJDBCUser(), options.getRDBJDBCPassword());
- builder = newRDBDocumentNodeStoreBuilder().setRDBConnection(ds);
+ RDBOptions opts = new RDBOptions();
+ if (options.getRDBTablePrefix() != null) {
+ opts = opts.tablePrefix(options.getRDBTablePrefix());
+ }
+ DataSource ds = RDBDataSourceFactory.forJdbcUrl(src,
options.getRDBJDBCUser(), options.getRDBJDBCPassword());
+ builder = newRDBDocumentNodeStoreBuilder().setRDBConnection(ds,
opts);
} else {
return null;
}