You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2015/06/18 16:19:39 UTC

svn commit: r1686229 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb: RDBDocumentStore.java RDBHelper.java

Author: reschke
Date: Thu Jun 18 14:19:38 2015
New Revision: 1686229

URL: http://svn.apache.org/r1686229
Log:
OAK-1266 - RDBHelper: un-hardwire set of DocumentStore table names

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBHelper.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java?rev=1686229&r1=1686228&r2=1686229&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java Thu Jun 18 14:19:38 2015
@@ -72,6 +72,8 @@ import org.apache.jackrabbit.oak.plugins
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import aQute.lib.collections.SortedList;
+
 import com.google.common.base.Objects;
 import com.google.common.cache.Cache;
 import com.google.common.collect.ImmutableMap;
@@ -318,6 +320,23 @@ public class RDBDocumentStore implements
         return this.droppedTables;
     }
 
+    // table names
+    private static Map<Object, String> TABLEMAP;
+    private static List<String> TABLENAMES;
+    static {
+        Map<Object, String> tmp = new HashMap<Object, String>();
+        tmp.put(Collection.CLUSTER_NODES, "CLUSTERNODES");
+        tmp.put(Collection.JOURNAL, "JOURNAL");
+        tmp.put(Collection.NODES, "NODES");
+        tmp.put(Collection.SETTINGS, "SETTINGS");
+        TABLEMAP = Collections.unmodifiableMap(tmp);
+        TABLENAMES = Collections.unmodifiableList(new SortedList<String>(TABLEMAP.values()));
+    }
+
+    public static List<String> getTableNames() {
+        return TABLENAMES;
+    }
+
     @Override
     public void dispose() {
         if (!this.tablesToBeDropped.isEmpty()) {
@@ -810,10 +829,10 @@ public class RDBDocumentStore implements
 
     private void initialize(DataSource ds, DocumentMK.Builder builder, RDBOptions options) throws Exception {
 
-        this.tnNodes = RDBJDBCTools.createTableName(options.getTablePrefix(), "NODES");
-        this.tnClusterNodes = RDBJDBCTools.createTableName(options.getTablePrefix(), "CLUSTERNODES");
-        this.tnSettings = RDBJDBCTools.createTableName(options.getTablePrefix(), "SETTINGS");
-        this.tnJournal = RDBJDBCTools.createTableName(options.getTablePrefix(), "JOURNAL");
+        this.tnNodes = RDBJDBCTools.createTableName(options.getTablePrefix(), TABLEMAP.get(Collection.NODES));
+        this.tnClusterNodes = RDBJDBCTools.createTableName(options.getTablePrefix(), TABLEMAP.get(Collection.CLUSTER_NODES));
+        this.tnSettings = RDBJDBCTools.createTableName(options.getTablePrefix(), TABLEMAP.get(Collection.SETTINGS));
+        this.tnJournal = RDBJDBCTools.createTableName(options.getTablePrefix(), TABLEMAP.get(Collection.JOURNAL));
 
         this.ch = new RDBConnectionHandler(ds);
         this.callStack = LOG.isDebugEnabled() ? new Exception("call stack of RDBDocumentStore creation") : null;

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBHelper.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBHelper.java?rev=1686229&r1=1686228&r2=1686229&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBHelper.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBHelper.java Thu Jun 18 14:19:38 2015
@@ -17,11 +17,13 @@
 package org.apache.jackrabbit.oak.plugins.document.rdb;
 
 /**
- * Convenience class that dumps the table creation statements for various database types.
+ * Convenience class that dumps the table creation statements for various
+ * database types.
  */
 public class RDBHelper {
 
-    private static String[] databases = { "Apache Derby", "DB2", "H2", "Microsoft SQL Server", "MySQL", "Oracle", "PostgreSQL", "default" };
+    private static String[] databases = { "Apache Derby", "DB2", "H2", "Microsoft SQL Server", "MySQL", "Oracle", "PostgreSQL",
+            "default" };
 
     public static void main(String[] args) {
         for (String database : databases) {
@@ -31,9 +33,11 @@ public class RDBHelper {
             RDBDocumentStore.DB ddb = RDBDocumentStore.DB.getValue(database);
             RDBBlobStore.DB bdb = RDBBlobStore.DB.getValue(database);
 
-            System.out.println("  " + ddb.getTableCreationStatement("CLUSTERNODES"));
-            System.out.println("  " + ddb.getTableCreationStatement("NODES"));
-            System.out.println("  " + ddb.getTableCreationStatement("SETTINGS"));
+            for (String table : RDBDocumentStore.getTableNames())  {
+                System.out.println("  " + ddb.getTableCreationStatement(table));
+            }
+            System.out.println();
+
             System.out.println("  " + bdb.getMetaTableCreationStatement("DATASTORE_META"));
             System.out.println("  " + bdb.getDataTableCreationStatement("DATASTORE_DATA"));
             System.out.println();