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