Author: reschke
Date: Thu Apr 11 10:23:37 2019
New Revision: 1857308

URL: http://svn.apache.org/viewvc?rev=1857308&view=rev
Log:
OAK-8208: oak-run/rdb: add --rdbtableprefix option (ported to 1.10)

Modified:
    jackrabbit/oak/branches/1.10/   (props changed)
    
jackrabbit/oak/branches/1.10/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java

Propchange: jackrabbit/oak/branches/1.10/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Apr 11 10:23:37 2019
@@ -1,3 +1,3 @@
 /jackrabbit/oak/branches/1.0:1665962
-/jackrabbit/oak/trunk:1850874,1850882,1851236,1851253,1851451,1851533-1851535,1851619,1852052,1852084,1852120,1852451,1852492-1852493,1852528,1852582,1852584,1852601,1852920,1853141,1853229,1853393,1853429,1853433,1853441,1853866,1853868,1853870,1853893,1853969,1853997,1854034,1854044,1854055,1854058,1854113,1854373,1854377,1854380,1854385,1854401,1854403,1854455,1854461-1854462,1854466,1854468,1854515,1854533,1854539,1854701,1854773-1854774,1854827,1854848,1854859,1854930,1854990-1854991,1855032,1855221,1855477-1855478,1855776,1857010,1857104,1857159,1857212,1857238,1857247,1857253,1857294
+/jackrabbit/oak/trunk:1850874,1850882,1851236,1851253,1851451,1851533-1851535,1851619,1852052,1852084,1852120,1852451,1852492-1852493,1852528,1852582,1852584,1852601,1852920,1853141,1853229,1853393,1853429,1853433,1853441,1853866,1853868,1853870,1853893,1853969,1853997,1854034,1854044,1854055,1854058,1854113,1854373,1854377,1854380,1854385,1854401,1854403,1854455,1854461-1854462,1854466,1854468,1854515,1854533,1854539,1854701,1854773-1854774,1854827,1854848,1854859,1854930,1854990-1854991,1855032,1855221,1855477-1855478,1855776,1857010,1857104,1857159,1857212,1857221,1857238,1857247,1857253,1857294
 /jackrabbit/trunk:1345480

Modified: 
jackrabbit/oak/branches/1.10/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.10/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java?rev=1857308&r1=1857307&r2=1857308&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.10/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java
 (original)
+++ 
jackrabbit/oak/branches/1.10/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java
 Thu Apr 11 10:23:37 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;
         }


Reply via email to