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();