You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by hy...@apache.org on 2015/05/12 00:30:29 UTC
[3/7] tajo git commit: initial work for TAJO-1591.
initial work for TAJO-1591.
Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/863e53ea
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/863e53ea
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/863e53ea
Branch: refs/heads/master
Commit: 863e53eae091bb6073efb31a1efd8acf4ff88ea0
Parents: 9b3824b
Author: Hyunsik Choi <hy...@apache.org>
Authored: Thu May 7 21:59:21 2015 -0700
Committer: Hyunsik Choi <hy...@apache.org>
Committed: Thu May 7 21:59:21 2015 -0700
----------------------------------------------------------------------
.../org/apache/tajo/catalog/CatalogUtil.java | 24 ++++----
.../org/apache/tajo/catalog/DDLBuilder.java | 6 +-
.../java/org/apache/tajo/catalog/TableDesc.java | 5 +-
.../java/org/apache/tajo/catalog/TableMeta.java | 8 +--
.../tajo/catalog/json/TableMetaAdapter.java | 7 +--
.../src/main/proto/CatalogProtos.proto | 2 +-
.../org/apache/tajo/catalog/TestTableDesc.java | 5 +-
.../org/apache/tajo/catalog/TestTableMeta.java | 12 ++--
.../tajo/catalog/store/HiveCatalogStore.java | 15 +++--
.../catalog/store/TestHiveCatalogStore.java | 22 +++----
.../dictionary/AbstractTableDescriptor.java | 2 +-
.../tajo/catalog/store/AbstractDBStore.java | 8 +--
.../org/apache/tajo/catalog/store/MemStore.java | 2 +-
.../org/apache/tajo/catalog/TestCatalog.java | 24 ++++----
.../org/apache/tajo/cli/tools/TajoDump.java | 2 +-
.../cli/tsql/commands/DescTableCommand.java | 3 +-
.../java/org/apache/tajo/benchmark/TPCH.java | 2 +-
.../tajo/engine/planner/global/DataChannel.java | 6 +-
.../engine/planner/global/GlobalPlanner.java | 10 ++--
.../planner/physical/ExternalSortExec.java | 4 +-
.../planner/physical/PhysicalPlanUtil.java | 54 ++++++++---------
.../physical/RangeShuffleFileWriteExec.java | 2 +-
.../org/apache/tajo/master/GlobalEngine.java | 2 +-
.../apache/tajo/master/exec/DDLExecutor.java | 3 +-
.../NonForwardQueryResultSystemScanner.java | 2 +-
.../apache/tajo/master/exec/QueryExecutor.java | 6 +-
.../java/org/apache/tajo/querymaster/Query.java | 4 +-
.../tajo/querymaster/QueryMasterTask.java | 2 +-
.../apache/tajo/querymaster/Repartitioner.java | 4 +-
.../java/org/apache/tajo/querymaster/Stage.java | 4 +-
.../src/main/proto/TajoWorkerProtocol.proto | 2 +-
.../org/apache/tajo/BackendTestingUtil.java | 2 +-
.../apache/tajo/LocalTajoTestingUtility.java | 2 +-
.../org/apache/tajo/TajoTestingCluster.java | 2 +-
.../apache/tajo/cli/tools/TestDDLBuilder.java | 2 +-
.../apache/tajo/engine/eval/ExprTestBase.java | 4 +-
.../tajo/engine/eval/TestEvalTreeUtil.java | 2 +-
.../engine/planner/TestLogicalOptimizer.java | 6 +-
.../tajo/engine/planner/TestLogicalPlanner.java | 10 ++--
.../tajo/engine/planner/TestPlannerUtil.java | 9 ++-
.../planner/global/TestBroadcastJoinPlan.java | 2 +-
.../planner/physical/TestBNLJoinExec.java | 4 +-
.../planner/physical/TestBSTIndexExec.java | 2 +-
.../planner/physical/TestExternalSortExec.java | 2 +-
.../physical/TestFullOuterHashJoinExec.java | 8 +--
.../physical/TestFullOuterMergeJoinExec.java | 11 ++--
.../planner/physical/TestHashAntiJoinExec.java | 4 +-
.../planner/physical/TestHashJoinExec.java | 4 +-
.../planner/physical/TestHashSemiJoinExec.java | 4 +-
.../physical/TestLeftOuterHashJoinExec.java | 8 +--
.../physical/TestLeftOuterNLJoinExec.java | 8 +--
.../planner/physical/TestMergeJoinExec.java | 4 +-
.../engine/planner/physical/TestNLJoinExec.java | 4 +-
.../planner/physical/TestPhysicalPlanner.java | 14 ++---
.../physical/TestProgressExternalSortExec.java | 2 +-
.../physical/TestRightOuterHashJoinExec.java | 6 +-
.../physical/TestRightOuterMergeJoinExec.java | 10 ++--
.../engine/planner/physical/TestSortExec.java | 2 +-
.../apache/tajo/engine/query/TestCTASQuery.java | 6 +-
.../tajo/engine/query/TestHBaseTable.java | 10 ++--
.../org/apache/tajo/jdbc/TestResultSet.java | 3 +-
.../tajo/master/TestExecutionBlockCursor.java | 2 +-
.../apache/tajo/master/TestGlobalPlanner.java | 2 +-
.../org/apache/tajo/storage/TestRowFile.java | 2 +-
.../ws/rs/resources/TestTablesResource.java | 31 ++++------
.../org/apache/tajo/plan/LogicalPlanner.java | 8 +--
.../function/python/PythonScriptEngine.java | 2 +-
.../tajo/plan/logical/PersistentStoreNode.java | 8 +--
.../tajo/plan/logical/ShuffleFileWriteNode.java | 2 +-
.../tajo/plan/logical/StoreTableNode.java | 2 +-
.../org/apache/tajo/plan/util/PlannerUtil.java | 16 ++---
.../plan/verifier/PreLogicalPlanVerifier.java | 3 +-
tajo-plan/src/main/proto/Plan.proto | 2 +-
.../org/apache/tajo/plan/TestLogicalNode.java | 6 +-
.../org/apache/tajo/storage/StorageManager.java | 47 +++++----------
.../storage/hbase/AddSortForInsertRewriter.java | 3 +-
.../tajo/storage/hbase/HBasePutAppender.java | 3 +-
.../apache/tajo/storage/hbase/HBaseScanner.java | 3 +-
.../tajo/storage/hbase/HBaseStorageManager.java | 3 +-
.../tajo/storage/hbase/TestColumnMapping.java | 3 +-
.../storage/hbase/TestHBaseStorageManager.java | 2 +-
.../apache/tajo/storage/FileStorageManager.java | 7 +--
.../tajo/storage/TestCompressionStorages.java | 22 +++----
.../tajo/storage/TestDelimitedTextFile.java | 8 +--
.../tajo/storage/TestFileStorageManager.java | 10 ++--
.../apache/tajo/storage/TestFileSystems.java | 2 +-
.../org/apache/tajo/storage/TestLineReader.java | 8 +--
.../apache/tajo/storage/TestMergeScanner.java | 37 ++++++------
.../org/apache/tajo/storage/TestStorages.java | 62 ++++++++++----------
.../apache/tajo/storage/avro/TestAvroUtil.java | 7 +--
.../apache/tajo/storage/index/TestBSTIndex.java | 10 ++--
.../index/TestSingleCSVFileBSTIndex.java | 4 +-
.../apache/tajo/storage/json/TestJsonSerDe.java | 2 +-
93 files changed, 342 insertions(+), 398 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java
index 12f36b1..5c1b9b3 100644
--- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java
+++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java
@@ -295,13 +295,13 @@ public class CatalogUtil {
}
}
- public static TableMeta newTableMeta(StoreType type) {
- KeyValueSet defaultProperties = CatalogUtil.newPhysicalProperties(type);
- return new TableMeta(type, defaultProperties);
+ public static TableMeta newTableMeta(String storeType) {
+ KeyValueSet defaultProperties = CatalogUtil.newPhysicalProperties(storeType);
+ return new TableMeta(storeType, defaultProperties);
}
- public static TableMeta newTableMeta(StoreType type, KeyValueSet options) {
- return new TableMeta(type, options);
+ public static TableMeta newTableMeta(String storeType, KeyValueSet options) {
+ return new TableMeta(storeType, options);
}
public static TableDesc newTableDesc(String tableName, Schema schema, TableMeta meta, Path path) {
@@ -851,21 +851,21 @@ public class CatalogUtil {
/**
* Create new table property with default configs. It is used to make TableMeta to be stored in Catalog.
*
- * @param type StoreType
+ * @param storeType StoreType
* @return Table properties
*/
- public static KeyValueSet newPhysicalProperties(StoreType type) {
+ public static KeyValueSet newPhysicalProperties(String storeType) {
KeyValueSet options = new KeyValueSet();
- if (StoreType.CSV == type || StoreType.TEXTFILE == type) {
+ if (storeType.equalsIgnoreCase("CSV") || storeType.equalsIgnoreCase("TEXT")) {
options.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER);
- } else if (StoreType.JSON == type) {
+ } else if (storeType.equalsIgnoreCase("JSON")) {
options.set(StorageConstants.TEXT_SERDE_CLASS, "org.apache.tajo.storage.json.JsonLineSerDe");
- } else if (StoreType.RCFILE == type) {
+ } else if (storeType.equalsIgnoreCase("RCFILE")) {
options.set(StorageConstants.RCFILE_SERDE, StorageConstants.DEFAULT_BINARY_SERDE);
- } else if (StoreType.SEQUENCEFILE == type) {
+ } else if (storeType.equalsIgnoreCase("SEQUENCEFILE")) {
options.set(StorageConstants.SEQUENCEFILE_SERDE, StorageConstants.DEFAULT_TEXT_SERDE);
options.set(StorageConstants.SEQUENCEFILE_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER);
- } else if (type == StoreType.PARQUET) {
+ } else if (storeType.equalsIgnoreCase("PARQUET")) {
options.set(BLOCK_SIZE, StorageConstants.PARQUET_DEFAULT_BLOCK_SIZE);
options.set(PAGE_SIZE, StorageConstants.PARQUET_DEFAULT_PAGE_SIZE);
options.set(COMPRESSION, StorageConstants.PARQUET_DEFAULT_COMPRESSION_CODEC_NAME);
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java
index 1a59e88..65640b9 100644
--- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java
+++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java
@@ -31,7 +31,7 @@ public class DDLBuilder {
sb.append("--\n")
.append("-- Name: ").append(CatalogUtil.denormalizeIdentifier(desc.getName())).append("; Type: TABLE;")
- .append(" Storage: ").append(CatalogUtil.getStoreTypeString(desc.getMeta().getStoreType()));
+ .append(" Storage: ").append(desc.getMeta().getStoreType());
sb.append("\n-- Path: ").append(desc.getPath());
sb.append("\n--\n");
sb.append("CREATE EXTERNAL TABLE ").append(CatalogUtil.denormalizeIdentifier(desc.getName()));
@@ -54,7 +54,7 @@ public class DDLBuilder {
sb.append("--\n")
.append("-- Name: ").append(CatalogUtil.denormalizeIdentifier(desc.getName())).append("; Type: TABLE;")
- .append(" Storage: ").append(CatalogUtil.getStoreTypeString(desc.getMeta().getStoreType()));
+ .append(" Storage: ").append(desc.getMeta().getStoreType());
sb.append("\n--\n");
sb.append("CREATE TABLE ").append(CatalogUtil.denormalizeIdentifier(desc.getName()));
buildSchema(sb, desc.getSchema());
@@ -88,7 +88,7 @@ public class DDLBuilder {
}
private static void buildUsingClause(StringBuilder sb, TableMeta meta) {
- sb.append(" USING " + CatalogUtil.getStoreTypeString(meta.getStoreType()));
+ sb.append(" USING " + meta.getStoreType());
}
private static void buildWithClause(StringBuilder sb, TableMeta meta) {
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java
index ee096a2..17f9146 100644
--- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java
+++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java
@@ -27,7 +27,6 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.tajo.catalog.json.CatalogGsonHelper;
import org.apache.tajo.catalog.partition.PartitionMethodDesc;
-import org.apache.tajo.catalog.proto.CatalogProtos.StoreType;
import org.apache.tajo.catalog.proto.CatalogProtos.TableDescProto;
import org.apache.tajo.catalog.statistics.TableStats;
import org.apache.tajo.common.ProtoObject;
@@ -68,8 +67,8 @@ public class TableDesc implements ProtoObject<TableDescProto>, GsonObject, Clone
this(tableName, schema, meta, path, true);
}
- public TableDesc(String tableName, Schema schema, StoreType type, KeyValueSet options, URI path) {
- this(tableName, schema, new TableMeta(type, options), path);
+ public TableDesc(String tableName, Schema schema, String storeType, KeyValueSet options, URI path) {
+ this(tableName, schema, new TableMeta(storeType, options), path);
}
public TableDesc(TableDescProto proto) {
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableMeta.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableMeta.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableMeta.java
index 2d95e6b..59cba44 100644
--- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableMeta.java
+++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableMeta.java
@@ -41,16 +41,16 @@ public class TableMeta implements ProtoObject<CatalogProtos.TableProto>, GsonObj
private TableProto proto = TableProto.getDefaultInstance();
private boolean viaProto = false;
- @Expose protected StoreType storeType;
+ @Expose protected String storeType;
@Expose protected KeyValueSet options;
private TableMeta() {
builder = TableProto.newBuilder();
}
- public TableMeta(StoreType type, KeyValueSet options) {
+ public TableMeta(String storeType, KeyValueSet options) {
this();
- this.storeType = type;
+ this.storeType = storeType;
this.options = new KeyValueSet(options);
}
@@ -59,7 +59,7 @@ public class TableMeta implements ProtoObject<CatalogProtos.TableProto>, GsonObj
viaProto = true;
}
- public StoreType getStoreType() {
+ public String getStoreType() {
TableProtoOrBuilder p = viaProto ? proto : builder;
if (this.storeType != null) {
return storeType;
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/json/TableMetaAdapter.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/json/TableMetaAdapter.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/json/TableMetaAdapter.java
index 3f4304a..2d164f6 100644
--- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/json/TableMetaAdapter.java
+++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/json/TableMetaAdapter.java
@@ -36,18 +36,17 @@ public class TableMetaAdapter implements GsonSerDerAdapter<TableMeta> {
Preconditions.checkNotNull(json);
JsonObject jsonObject = json.getAsJsonObject();
- CatalogProtos.StoreType type = CatalogProtos.StoreType.valueOf(
- CommonGsonHelper.getOrDie(jsonObject, "store").getAsString());
+ String storeType = CommonGsonHelper.getOrDie(jsonObject, "store").getAsString();
KeyValueSet keyValueSet = context.deserialize(CommonGsonHelper.getOrDie(jsonObject, "options"), KeyValueSet.class);
- return new TableMeta(type, keyValueSet);
+ return new TableMeta(storeType, keyValueSet);
}
@Override
public JsonElement serialize(TableMeta src, Type typeOfSrc,
JsonSerializationContext context) {
JsonObject jsonObj = new JsonObject();
- jsonObj.addProperty("store", src.getStoreType().name());
+ jsonObj.addProperty("store", src.getStoreType());
jsonObj.add("options", context.serialize(src.getOptions(), KeyValueSet.class));
return jsonObj;
}
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto b/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto
index c467b4e..b213916 100644
--- a/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto
+++ b/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto
@@ -80,7 +80,7 @@ message FragmentProto {
}
message TableProto {
- required StoreType storeType = 1;
+ required string storeType = 1;
optional KeyValueSetProto params = 2;
}
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java b/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java
index feeaadd..9d84de6 100644
--- a/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java
+++ b/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java
@@ -21,7 +21,6 @@ package org.apache.tajo.catalog;
import org.apache.hadoop.fs.Path;
import org.apache.tajo.catalog.json.CatalogGsonHelper;
import org.apache.tajo.catalog.proto.CatalogProtos;
-import org.apache.tajo.catalog.proto.CatalogProtos.StoreType;
import org.apache.tajo.catalog.statistics.ColumnStats;
import org.apache.tajo.catalog.statistics.TableStats;
import org.apache.tajo.common.TajoDataTypes.Type;
@@ -45,7 +44,7 @@ public class TestTableDesc {
schema = new Schema();
schema.addColumn("name", Type.BLOB);
schema.addColumn("addr", Type.TEXT);
- info = CatalogUtil.newTableMeta(StoreType.CSV);
+ info = CatalogUtil.newTableMeta("CSV");
path = new Path(CommonTestingUtil.getTestDir(), "table1");
desc = new TableDesc("table1", schema, info, path.toUri());
stats = new TableStats();
@@ -71,7 +70,7 @@ public class TestTableDesc {
Schema schema = new Schema();
schema.addColumn("name", Type.BLOB);
schema.addColumn("addr", Type.TEXT);
- TableMeta info = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta info = CatalogUtil.newTableMeta("CSV");
testClone(info);
Path path = new Path(CommonTestingUtil.getTestDir(), "tajo");
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableMeta.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableMeta.java b/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableMeta.java
index 904b4bc..e1c0158 100644
--- a/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableMeta.java
+++ b/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableMeta.java
@@ -32,7 +32,7 @@ public class TestTableMeta {
@Before
public void setUp() {
- meta = CatalogUtil.newTableMeta(StoreType.CSV);
+ meta = CatalogUtil.newTableMeta("CSV");
}
@Test
@@ -40,7 +40,7 @@ public class TestTableMeta {
Schema schema1 = new Schema();
schema1.addColumn("name", Type.BLOB);
schema1.addColumn("addr", Type.TEXT);
- TableMeta meta1 = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta meta1 = CatalogUtil.newTableMeta("CSV");
TableMeta meta2 = new TableMeta(meta1.getProto());
assertEquals(meta1, meta2);
@@ -51,7 +51,7 @@ public class TestTableMeta {
Schema schema1 = new Schema();
schema1.addColumn("name", Type.BLOB);
schema1.addColumn("addr", Type.TEXT);
- TableMeta meta1 = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta meta1 = CatalogUtil.newTableMeta("CSV");
TableMeta meta2 = (TableMeta) meta1.clone();
assertEquals(meta1.getStoreType(), meta2.getStoreType());
@@ -63,7 +63,7 @@ public class TestTableMeta {
Schema schema1 = new Schema();
schema1.addColumn("name", Type.BLOB);
schema1.addColumn("addr", Type.TEXT);
- TableMeta meta1 = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta meta1 = CatalogUtil.newTableMeta("CSV");
TableMeta meta2 = (TableMeta) meta1.clone();
@@ -72,7 +72,7 @@ public class TestTableMeta {
@Test
public void testGetStorageType() {
- assertEquals(StoreType.CSV, meta.getStoreType());
+ assertEquals("CSV", meta.getStoreType());
}
@Test
@@ -80,7 +80,7 @@ public class TestTableMeta {
Schema schema2 = new Schema();
schema2.addColumn("name", Type.BLOB);
schema2.addColumn("addr", Type.TEXT);
- TableMeta meta2 = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta meta2 = CatalogUtil.newTableMeta("CSV");
assertTrue(meta.equals(meta2));
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStore.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStore.java b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStore.java
index 5b1a996..835a158 100644
--- a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStore.java
+++ b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/main/java/org/apache/tajo/catalog/store/HiveCatalogStore.java
@@ -110,7 +110,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore {
org.apache.hadoop.hive.ql.metadata.Table table = null;
HiveCatalogStoreClientPool.HiveCatalogStoreClient client = null;
Path path = null;
- CatalogProtos.StoreType storeType = null;
+ String storeType = null;
org.apache.tajo.catalog.Schema schema = null;
KeyValueSet options = null;
TableStats stats = null;
@@ -185,12 +185,12 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore {
// set file output format
String fileOutputformat = properties.getProperty(hive_metastoreConstants.FILE_OUTPUT_FORMAT);
- storeType = CatalogUtil.getStoreType(HiveCatalogUtil.getStoreType(fileOutputformat));
+ storeType = HiveCatalogUtil.getStoreType(fileOutputformat);
- if (storeType.equals(CatalogProtos.StoreType.TEXTFILE)) {
+ if (storeType.equalsIgnoreCase("TEXT")) {
options.set(StorageConstants.TEXT_DELIMITER, StringEscapeUtils.escapeJava(fieldDelimiter));
options.set(StorageConstants.TEXT_NULL, StringEscapeUtils.escapeJava(nullFormat));
- } else if (storeType.equals(CatalogProtos.StoreType.RCFILE)) {
+ } else if (storeType.equals("RCFILE")) {
options.set(StorageConstants.RCFILE_NULL, StringEscapeUtils.escapeJava(nullFormat));
String serde = properties.getProperty(serdeConstants.SERIALIZATION_LIB);
if (LazyBinaryColumnarSerDe.class.getName().equals(serde)) {
@@ -198,7 +198,7 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore {
} else if (ColumnarSerDe.class.getName().equals(serde)) {
options.set(StorageConstants.RCFILE_SERDE, StorageConstants.DEFAULT_TEXT_SERDE);
}
- } else if (storeType.equals(CatalogProtos.StoreType.SEQUENCEFILE) ) {
+ } else if (storeType.equals("SEQUENCEFILE") ) {
options.set(StorageConstants.SEQUENCEFILE_DELIMITER, StringEscapeUtils.escapeJava(fieldDelimiter));
options.set(StorageConstants.SEQUENCEFILE_NULL, StringEscapeUtils.escapeJava(nullFormat));
String serde = properties.getProperty(serdeConstants.SERIALIZATION_LIB);
@@ -543,13 +543,12 @@ public class HiveCatalogStore extends CatalogConstants implements CatalogStore {
table.getParameters().remove(StorageConstants.SEQUENCEFILE_NULL);
}
} else {
- if (tableDesc.getMeta().getStoreType().equals(CatalogProtos.StoreType.PARQUET)) {
+ if (tableDesc.getMeta().getStoreType().equals("PARQUET")) {
sd.setInputFormat(parquet.hive.DeprecatedParquetInputFormat.class.getName());
sd.setOutputFormat(parquet.hive.DeprecatedParquetOutputFormat.class.getName());
sd.getSerdeInfo().setSerializationLib(parquet.hive.serde.ParquetHiveSerDe.class.getName());
} else {
- throw new CatalogException(new NotImplementedException(tableDesc.getMeta().getStoreType
- ().name()));
+ throw new CatalogException(new NotImplementedException(tableDesc.getMeta().getStoreType()));
}
}
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java
index 05e4e0a..6e91b89 100644
--- a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java
+++ b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java
@@ -86,7 +86,7 @@ public class TestHiveCatalogStore {
@Test
public void testTableUsingTextFile() throws Exception {
- TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, new KeyValueSet());
+ TableMeta meta = new TableMeta("CSV", new KeyValueSet());
org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema();
schema.addColumn("c_custkey", TajoDataTypes.Type.INT4);
@@ -120,7 +120,7 @@ public class TestHiveCatalogStore {
public void testTableUsingRCFileWithBinarySerde() throws Exception {
KeyValueSet options = new KeyValueSet();
options.set(StorageConstants.RCFILE_SERDE, StorageConstants.DEFAULT_BINARY_SERDE);
- TableMeta meta = new TableMeta(CatalogProtos.StoreType.RCFILE, options);
+ TableMeta meta = new TableMeta("RCFILE", options);
org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema();
schema.addColumn("r_regionkey", TajoDataTypes.Type.INT4);
@@ -149,7 +149,7 @@ public class TestHiveCatalogStore {
public void testTableUsingRCFileWithTextSerde() throws Exception {
KeyValueSet options = new KeyValueSet();
options.set(StorageConstants.RCFILE_SERDE, StorageConstants.DEFAULT_TEXT_SERDE);
- TableMeta meta = new TableMeta(CatalogProtos.StoreType.RCFILE, options);
+ TableMeta meta = new TableMeta("RCFILE", options);
org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema();
schema.addColumn("r_regionkey", TajoDataTypes.Type.INT4);
@@ -178,7 +178,7 @@ public class TestHiveCatalogStore {
KeyValueSet options = new KeyValueSet();
options.set(StorageConstants.TEXT_DELIMITER, StringEscapeUtils.escapeJava("\u0002"));
options.set(StorageConstants.TEXT_NULL, StringEscapeUtils.escapeJava("\u0003"));
- TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, options);
+ TableMeta meta = new TableMeta("CSV", options);
org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema();
schema.addColumn("s_suppkey", TajoDataTypes.Type.INT4);
@@ -221,7 +221,7 @@ public class TestHiveCatalogStore {
@Test
public void testAddTableByPartition() throws Exception {
- TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, new KeyValueSet());
+ TableMeta meta = new TableMeta("CSV", new KeyValueSet());
org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema();
schema.addColumn("n_name", TajoDataTypes.Type.TEXT);
@@ -329,7 +329,7 @@ public class TestHiveCatalogStore {
@Test
public void testGetAllTableNames() throws Exception{
- TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, new KeyValueSet());
+ TableMeta meta = new TableMeta("CSV", new KeyValueSet());
org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema();
schema.addColumn("n_name", TajoDataTypes.Type.TEXT);
schema.addColumn("n_regionkey", TajoDataTypes.Type.INT4);
@@ -357,7 +357,7 @@ public class TestHiveCatalogStore {
@Test
public void testDeleteTable() throws Exception {
- TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, new KeyValueSet());
+ TableMeta meta = new TableMeta("CSV", new KeyValueSet());
org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema();
schema.addColumn("n_name", TajoDataTypes.Type.TEXT);
schema.addColumn("n_regionkey", TajoDataTypes.Type.INT4);
@@ -381,7 +381,7 @@ public class TestHiveCatalogStore {
public void testTableUsingSequenceFileWithBinarySerde() throws Exception {
KeyValueSet options = new KeyValueSet();
options.set(StorageConstants.SEQUENCEFILE_SERDE, StorageConstants.DEFAULT_BINARY_SERDE);
- TableMeta meta = new TableMeta(CatalogProtos.StoreType.SEQUENCEFILE, options);
+ TableMeta meta = new TableMeta("SEQUENCEFILE", options);
org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema();
schema.addColumn("r_regionkey", TajoDataTypes.Type.INT4);
@@ -410,7 +410,7 @@ public class TestHiveCatalogStore {
public void testTableUsingSequenceFileWithTextSerde() throws Exception {
KeyValueSet options = new KeyValueSet();
options.set(StorageConstants.SEQUENCEFILE_SERDE, StorageConstants.DEFAULT_TEXT_SERDE);
- TableMeta meta = new TableMeta(CatalogProtos.StoreType.SEQUENCEFILE, options);
+ TableMeta meta = new TableMeta("SEQUENCEFILE", options);
org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema();
schema.addColumn("r_regionkey", TajoDataTypes.Type.INT4);
@@ -437,7 +437,7 @@ public class TestHiveCatalogStore {
@Test
public void testTableUsingParquet() throws Exception {
- TableMeta meta = new TableMeta(CatalogProtos.StoreType.PARQUET, new KeyValueSet());
+ TableMeta meta = new TableMeta("PARQUET", new KeyValueSet());
org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema();
schema.addColumn("c_custkey", TajoDataTypes.Type.INT4);
@@ -469,7 +469,7 @@ public class TestHiveCatalogStore {
public void testDataTypeCompatibility() throws Exception {
String tableName = CatalogUtil.normalizeIdentifier("testDataTypeCompatibility");
- TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, new KeyValueSet());
+ TableMeta meta = new TableMeta("CSV", new KeyValueSet());
org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema();
schema.addColumn("col1", TajoDataTypes.Type.INT4);
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/dictionary/AbstractTableDescriptor.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/dictionary/AbstractTableDescriptor.java b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/dictionary/AbstractTableDescriptor.java
index a8b384c..f2dc3cf 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/dictionary/AbstractTableDescriptor.java
+++ b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/dictionary/AbstractTableDescriptor.java
@@ -60,7 +60,7 @@ abstract class AbstractTableDescriptor implements TableDescriptor {
protected TableProto getTableProto() {
TableProto.Builder metaBuilder = TableProto.newBuilder();
- metaBuilder.setStoreType(StoreType.SYSTEM);
+ metaBuilder.setStoreType("SYSTEM");
metaBuilder.setParams(KeyValueSetProto.newBuilder().build());
return metaBuilder.build();
}
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java
index b10e5a5..7fe6ef3 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java
+++ b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java
@@ -764,7 +764,7 @@ public abstract class AbstractDBStore extends CatalogConstants implements Catalo
pstmt.setString(2, tableName);
pstmt.setString(3, TableType.EXTERNAL_TABLE.name());
pstmt.setString(4, table.getPath());
- pstmt.setString(5, CatalogUtil.getStoreTypeString(table.getMeta().getStoreType()));
+ pstmt.setString(5, table.getMeta().getStoreType());
pstmt.executeUpdate();
pstmt.close();
} else {
@@ -778,7 +778,7 @@ public abstract class AbstractDBStore extends CatalogConstants implements Catalo
pstmt.setInt(1, dbid);
pstmt.setString(2, tableName);
pstmt.setString(3, TableType.BASE_TABLE.name());
- pstmt.setString(4, CatalogUtil.getStoreTypeString(table.getMeta().getStoreType()));
+ pstmt.setString(4, table.getMeta().getStoreType());
pstmt.executeUpdate();
pstmt.close();
}
@@ -1567,7 +1567,7 @@ public abstract class AbstractDBStore extends CatalogConstants implements Catalo
PreparedStatement pstmt = null;
CatalogProtos.TableDescProto.Builder tableBuilder = null;
- StoreType storeType;
+ String storeType;
try {
tableBuilder = CatalogProtos.TableDescProto.newBuilder();
@@ -1609,7 +1609,7 @@ public abstract class AbstractDBStore extends CatalogConstants implements Catalo
tableBuilder.setPath(res.getString(4).trim());
}
- storeType = CatalogUtil.getStoreType(res.getString(5).trim());
+ storeType = res.getString(5).trim();
res.close();
pstmt.close();
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java
index 821b00c..55c4336 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java
+++ b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java
@@ -429,7 +429,7 @@ public class MemStore implements CatalogStore {
builder.setName(tableName);
builder.setPath(tableDesc.getPath());
builder.setTableType(tableDesc.getIsExternal()?"EXTERNAL":"BASE");
- builder.setStoreType(CatalogUtil.getStoreTypeString(tableDesc.getMeta().getStoreType()));
+ builder.setStoreType(tableDesc.getMeta().getStoreType());
tableList.add(builder.build());
tableId++;
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java b/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
index 306f581..cbcec83 100644
--- a/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
+++ b/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
@@ -264,7 +264,7 @@ public class TestCatalog {
TableDesc table = new TableDesc(
CatalogUtil.buildFQName(databaseName, tableName),
schema1,
- new TableMeta(StoreType.CSV, new KeyValueSet()),
+ new TableMeta("CSV", new KeyValueSet()),
path.toUri(), true);
return table;
}
@@ -317,7 +317,7 @@ public class TestCatalog {
TableDesc table = new TableDesc(
CatalogUtil.buildFQName(databaseName, tableName),
schema,
- new TableMeta(StoreType.CSV, new KeyValueSet()),
+ new TableMeta("CSV", new KeyValueSet()),
path.toUri(), true);
assertTrue(catalog.createTable(table));
@@ -331,7 +331,7 @@ public class TestCatalog {
table = new TableDesc(
CatalogUtil.buildFQName(databaseName, tableName),
schema,
- new TableMeta(StoreType.CSV, new KeyValueSet()),
+ new TableMeta("CSV", new KeyValueSet()),
path.toUri(), true);
assertTrue(catalog.createTable(table));
@@ -421,7 +421,7 @@ public class TestCatalog {
TableDesc meta = new TableDesc(
CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "getTable"),
schema1,
- StoreType.CSV,
+ "CSV",
new KeyValueSet(),
path.toUri());
@@ -441,7 +441,7 @@ public class TestCatalog {
TableDesc tableDesc = new TableDesc(
CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, tableName),
schema,
- StoreType.CSV,
+ "CSV",
new KeyValueSet(),
path.toUri());
@@ -561,7 +561,7 @@ public class TestCatalog {
String tableName = "indexed";
- TableMeta meta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta meta = CatalogUtil.newTableMeta("CSV");
return new TableDesc(
CatalogUtil.buildFQName(TajoConstants.DEFAULT_DATABASE_NAME, tableName), schema, meta,
new Path(CommonTestingUtil.getTestDir(), "indexed").toUri());
@@ -732,7 +732,7 @@ public class TestCatalog {
String tableName = CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "addedtable");
KeyValueSet opts = new KeyValueSet();
opts.set("file.delimiter", ",");
- TableMeta meta = CatalogUtil.newTableMeta(StoreType.CSV, opts);
+ TableMeta meta = CatalogUtil.newTableMeta("CSV", opts);
Schema partSchema = new Schema();
@@ -772,7 +772,7 @@ public class TestCatalog {
String tableName = CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "addedtable");
KeyValueSet opts = new KeyValueSet();
opts.set("file.delimiter", ",");
- TableMeta meta = CatalogUtil.newTableMeta(StoreType.CSV, opts);
+ TableMeta meta = CatalogUtil.newTableMeta("CSV", opts);
Schema partSchema = new Schema();
partSchema.addColumn("id", Type.INT4);
@@ -810,7 +810,7 @@ public class TestCatalog {
String tableName = CatalogUtil.buildFQName(TajoConstants.DEFAULT_DATABASE_NAME, "addedtable");
KeyValueSet opts = new KeyValueSet();
opts.set("file.delimiter", ",");
- TableMeta meta = CatalogUtil.newTableMeta(StoreType.CSV, opts);
+ TableMeta meta = CatalogUtil.newTableMeta("CSV", opts);
Schema partSchema = new Schema();
partSchema.addColumn("id", Type.INT4);
@@ -847,7 +847,7 @@ public class TestCatalog {
String tableName = CatalogUtil.buildFQName(TajoConstants.DEFAULT_DATABASE_NAME, "addedtable");
KeyValueSet opts = new KeyValueSet();
opts.set("file.delimiter", ",");
- TableMeta meta = CatalogUtil.newTableMeta(StoreType.CSV, opts);
+ TableMeta meta = CatalogUtil.newTableMeta("CSV", opts);
Schema partSchema = new Schema();
partSchema.addColumn("id", Type.INT4);
@@ -884,7 +884,7 @@ public class TestCatalog {
String tableName = CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "addedtable");
KeyValueSet opts = new KeyValueSet();
opts.set("file.delimiter", ",");
- TableMeta meta = CatalogUtil.newTableMeta(StoreType.CSV, opts);
+ TableMeta meta = CatalogUtil.newTableMeta("CSV", opts);
Schema partSchema = new Schema();
partSchema.addColumn("id", Type.INT4);
@@ -999,7 +999,7 @@ public class TestCatalog {
TableDesc setPropertyDesc = catalog.getTableDesc("default","mynewcooltable");
KeyValueSet options = new KeyValueSet();
options.set("timezone", "GMT+9"); // Seoul, Korea
- setPropertyDesc.setMeta(new TableMeta(StoreType.CSV, options));
+ setPropertyDesc.setMeta(new TableMeta("CSV", options));
String prevTimeZone = setPropertyDesc.getMeta().getOption("timezone");
String newTimeZone = "GMT-7"; // Silicon Valley, California
catalog.alterTable(createMockAlterTableSetProperty(newTimeZone));
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-cli/src/main/java/org/apache/tajo/cli/tools/TajoDump.java
----------------------------------------------------------------------
diff --git a/tajo-cli/src/main/java/org/apache/tajo/cli/tools/TajoDump.java b/tajo-cli/src/main/java/org/apache/tajo/cli/tools/TajoDump.java
index 497ccb6..7fefc5a 100644
--- a/tajo-cli/src/main/java/org/apache/tajo/cli/tools/TajoDump.java
+++ b/tajo-cli/src/main/java/org/apache/tajo/cli/tools/TajoDump.java
@@ -177,7 +177,7 @@ public class TajoDump {
try {
TableDesc table = client.getTableDesc(CatalogUtil.buildFQName(databaseName, tableName));
- if (table.getMeta().getStoreType() == StoreType.SYSTEM) {
+ if (table.getMeta().getStoreType().equalsIgnoreCase("SYSTEM")) {
continue;
}
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-cli/src/main/java/org/apache/tajo/cli/tsql/commands/DescTableCommand.java
----------------------------------------------------------------------
diff --git a/tajo-cli/src/main/java/org/apache/tajo/cli/tsql/commands/DescTableCommand.java b/tajo-cli/src/main/java/org/apache/tajo/cli/tsql/commands/DescTableCommand.java
index a3960e6..f888c36 100644
--- a/tajo-cli/src/main/java/org/apache/tajo/cli/tsql/commands/DescTableCommand.java
+++ b/tajo-cli/src/main/java/org/apache/tajo/cli/tsql/commands/DescTableCommand.java
@@ -21,7 +21,6 @@ package org.apache.tajo.cli.tsql.commands;
import org.apache.commons.lang.CharUtils;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.tajo.TajoConstants;
-import org.apache.tajo.catalog.CatalogUtil;
import org.apache.tajo.catalog.Column;
import org.apache.tajo.catalog.TableDesc;
import org.apache.tajo.catalog.partition.PartitionMethodDesc;
@@ -80,7 +79,7 @@ public class DescTableCommand extends TajoShellCommand {
StringBuilder sb = new StringBuilder();
sb.append("\ntable name: ").append(desc.getName()).append("\n");
sb.append("table path: ").append(desc.getPath()).append("\n");
- sb.append("store type: ").append(CatalogUtil.getStoreTypeString(desc.getMeta().getStoreType())).append("\n");
+ sb.append("store type: ").append(desc.getMeta().getStoreType()).append("\n");
if (desc.getStats() != null) {
long row = desc.getStats().getNumRows();
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/benchmark/TPCH.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/benchmark/TPCH.java b/tajo-core/src/main/java/org/apache/tajo/benchmark/TPCH.java
index 609e49c..9994634 100644
--- a/tajo-core/src/main/java/org/apache/tajo/benchmark/TPCH.java
+++ b/tajo-core/src/main/java/org/apache/tajo/benchmark/TPCH.java
@@ -207,7 +207,7 @@ public class TPCH extends BenchmarkSet {
}
public void loadTable(String tableName) throws ServiceException {
- TableMeta meta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta meta = CatalogUtil.newTableMeta("CSV");
meta.putOption(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER);
PartitionMethodDesc partitionMethodDesc = null;
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/DataChannel.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/DataChannel.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/DataChannel.java
index 11548d3..3738dd3 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/DataChannel.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/DataChannel.java
@@ -40,7 +40,7 @@ public class DataChannel {
private Schema schema;
- private StoreType storeType = StoreType.RAW;
+ private String storeType = "RAW";
public DataChannel(ExecutionBlockId srcId, ExecutionBlockId targetId) {
this.srcId = srcId;
@@ -144,11 +144,11 @@ public class DataChannel {
return this.storeType != null;
}
- public void setStoreType(StoreType storeType) {
+ public void setStoreType(String storeType) {
this.storeType = storeType;
}
- public StoreType getStoreType() {
+ public String getStoreType() {
return storeType;
}
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java
index 36bdf21..e18b2eb 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java
@@ -69,7 +69,7 @@ public class GlobalPlanner {
private static Log LOG = LogFactory.getLog(GlobalPlanner.class);
private final TajoConf conf;
- private final CatalogProtos.StoreType storeType;
+ private final String storeType;
private final CatalogService catalog;
private final GlobalPlanRewriteEngine rewriteEngine;
@@ -77,7 +77,7 @@ public class GlobalPlanner {
public GlobalPlanner(final TajoConf conf, final CatalogService catalog) throws IOException {
this.conf = conf;
this.catalog = catalog;
- this.storeType = CatalogProtos.StoreType.valueOf(conf.getVar(ConfVars.SHUFFLE_FILE_FORMAT).toUpperCase());
+ this.storeType = conf.getVar(ConfVars.SHUFFLE_FILE_FORMAT).toUpperCase();
Preconditions.checkArgument(storeType != null);
Class<? extends GlobalPlanRewriteRuleProvider> clazz =
@@ -99,7 +99,7 @@ public class GlobalPlanner {
return catalog;
}
- public CatalogProtos.StoreType getStoreType() {
+ public String getStoreType() {
return storeType;
}
@@ -175,7 +175,7 @@ public class GlobalPlanner {
private static void setFinalOutputChannel(DataChannel outputChannel, Schema outputSchema) {
outputChannel.setShuffleType(NONE_SHUFFLE);
outputChannel.setShuffleOutputNum(1);
- outputChannel.setStoreType(CatalogProtos.StoreType.CSV);
+ outputChannel.setStoreType("CSV");
outputChannel.setSchema(outputSchema);
}
@@ -1184,7 +1184,7 @@ public class GlobalPlanner {
for (DataChannel dataChannel : masterPlan.getIncomingChannels(execBlock.getId())) {
// This data channel will be stored in staging directory, but RawFile, default file type, does not support
// distributed file system. It needs to change the file format for distributed file system.
- dataChannel.setStoreType(CatalogProtos.StoreType.CSV);
+ dataChannel.setStoreType("CSV");
ExecutionBlock subBlock = masterPlan.getExecBlock(dataChannel.getSrcId());
ProjectionNode copy = PlannerUtil.clone(plan, node);
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ExternalSortExec.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ExternalSortExec.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ExternalSortExec.java
index 3da296c..13b5a3a 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ExternalSortExec.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ExternalSortExec.java
@@ -110,7 +110,7 @@ public class ExternalSortExec extends SortExec {
super(context, plan.getInSchema(), plan.getOutSchema(), null, plan.getSortKeys());
this.plan = plan;
- this.meta = CatalogUtil.newTableMeta(StoreType.ROWFILE);
+ this.meta = CatalogUtil.newTableMeta("ROWFILE");
this.defaultFanout = context.getConf().getIntVar(ConfVars.EXECUTOR_EXTERNAL_SORT_FANOUT);
if (defaultFanout < 2) {
@@ -163,7 +163,7 @@ public class ExternalSortExec extends SortExec {
*/
private Path sortAndStoreChunk(int chunkId, List<Tuple> tupleBlock)
throws IOException {
- TableMeta meta = CatalogUtil.newTableMeta(StoreType.RAW);
+ TableMeta meta = CatalogUtil.newTableMeta("RAW");
int rowNum = tupleBlock.size();
long sortStart = System.currentTimeMillis();
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalPlanUtil.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalPlanUtil.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalPlanUtil.java
index 247b373..f2bd75f 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalPlanUtil.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalPlanUtil.java
@@ -29,12 +29,15 @@ import org.apache.tajo.catalog.TableMeta;
import org.apache.tajo.catalog.proto.CatalogProtos;
import org.apache.tajo.conf.TajoConf;
import org.apache.tajo.engine.planner.PhysicalPlanningException;
-import org.apache.tajo.plan.util.PlannerUtil;
+import org.apache.tajo.engine.query.QueryContext;
import org.apache.tajo.plan.expr.EvalNode;
import org.apache.tajo.plan.logical.NodeType;
import org.apache.tajo.plan.logical.PersistentStoreNode;
-import org.apache.tajo.engine.query.QueryContext;
-import org.apache.tajo.storage.*;
+import org.apache.tajo.plan.util.PlannerUtil;
+import org.apache.tajo.storage.BaseTupleComparator;
+import org.apache.tajo.storage.FileStorageManager;
+import org.apache.tajo.storage.StorageConstants;
+import org.apache.tajo.storage.TupleComparator;
import org.apache.tajo.storage.fragment.FileFragment;
import org.apache.tajo.storage.fragment.FragmentConvertor;
@@ -205,20 +208,15 @@ public class PhysicalPlanUtil {
* @param nullChar A character for NULL representation
*/
private static void setNullCharForTextSerializer(TableMeta meta, String nullChar) {
- switch (meta.getStoreType()) {
- case CSV:
- meta.putOption(StorageConstants.TEXT_NULL, nullChar);
- break;
- case TEXTFILE:
- meta.putOption(StorageConstants.TEXT_NULL, nullChar);
- break;
- case RCFILE:
- meta.putOption(StorageConstants.RCFILE_NULL, nullChar);
- break;
- case SEQUENCEFILE:
- meta.putOption(StorageConstants.SEQUENCEFILE_NULL, nullChar);
- break;
- default: // nothing to do
+ String storeType = meta.getStoreType();
+ if (storeType.equalsIgnoreCase("CSV")) {
+ meta.putOption(StorageConstants.TEXT_NULL, nullChar);
+ } else if (storeType.equalsIgnoreCase("TEXT")) {
+ meta.putOption(StorageConstants.TEXT_NULL, nullChar);
+ } else if (storeType.equalsIgnoreCase("RCFILE")) {
+ meta.putOption(StorageConstants.RCFILE_NULL, nullChar);
+ } else if (storeType.equalsIgnoreCase("SEQUENCEFILE")) {
+ meta.putOption(StorageConstants.SEQUENCEFILE_NULL, nullChar);
}
}
@@ -229,17 +227,17 @@ public class PhysicalPlanUtil {
* @return True if TableMeta contains NULL char property according to file format
*/
public static boolean containsNullChar(TableMeta meta) {
- switch (meta.getStoreType()) {
- case CSV:
- return meta.containsOption(StorageConstants.TEXT_NULL);
- case TEXTFILE:
- return meta.containsOption(StorageConstants.TEXT_NULL);
- case RCFILE:
- return meta.containsOption(StorageConstants.RCFILE_NULL);
- case SEQUENCEFILE:
- return meta.containsOption(StorageConstants.SEQUENCEFILE_NULL);
- default: // nothing to do
- return false;
+ String storeType = meta.getStoreType();
+ if (storeType.equalsIgnoreCase("CSV")) {
+ return meta.containsOption(StorageConstants.TEXT_NULL);
+ } else if (storeType.equalsIgnoreCase("TEXT")) {
+ return meta.containsOption(StorageConstants.TEXT_NULL);
+ } else if (storeType.equalsIgnoreCase("RCFILE")) {
+ return meta.containsOption(StorageConstants.RCFILE_NULL);
+ } else if (storeType.equalsIgnoreCase("SEQUENCEFILE")) {
+ return meta.containsOption(StorageConstants.SEQUENCEFILE_NULL);
+ } else {
+ return false;
}
}
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/RangeShuffleFileWriteExec.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/RangeShuffleFileWriteExec.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/RangeShuffleFileWriteExec.java
index 8da1a03..cb1fa05 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/RangeShuffleFileWriteExec.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/RangeShuffleFileWriteExec.java
@@ -75,7 +75,7 @@ public class RangeShuffleFileWriteExec extends UnaryPhysicalExec {
Path storeTablePath = new Path(context.getWorkDir(), "output");
LOG.info("Output data directory: " + storeTablePath);
this.meta = CatalogUtil.newTableMeta(context.getDataChannel() != null ?
- context.getDataChannel().getStoreType() : CatalogProtos.StoreType.RAW);
+ context.getDataChannel().getStoreType() : "RAW");
FileSystem fs = new RawLocalFileSystem();
fs.mkdirs(storeTablePath);
this.appender = (FileAppender) ((FileStorageManager)StorageManager.getFileStorageManager(context.getConf()))
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java b/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java
index 074f34e..adbc8a4 100644
--- a/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java
+++ b/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java
@@ -293,7 +293,7 @@ public class GlobalEngine extends AbstractService {
}
private void verifyInsertTableSchema(QueryContext queryContext, VerificationState state, LogicalPlan plan) {
- StoreType storeType = PlannerUtil.getStoreType(plan);
+ String storeType = PlannerUtil.getStoreType(plan);
if (storeType != null) {
LogicalRootNode rootNode = plan.getRootBlock().getRoot();
if (rootNode.getChild().getType() == NodeType.INSERT) {
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java b/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java
index 9264c68..c84b0c7 100644
--- a/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java
+++ b/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java
@@ -29,7 +29,6 @@ import org.apache.tajo.annotation.Nullable;
import org.apache.tajo.catalog.*;
import org.apache.tajo.catalog.exception.*;
import org.apache.tajo.catalog.partition.PartitionMethodDesc;
-import org.apache.tajo.catalog.proto.CatalogProtos;
import org.apache.tajo.catalog.proto.CatalogProtos.AlterTablespaceProto;
import org.apache.tajo.conf.TajoConf;
import org.apache.tajo.engine.query.QueryContext;
@@ -210,7 +209,7 @@ public class DDLExecutor {
createTable.getPartitionMethod(), ifNotExists);
}
- public TableDesc createTable(QueryContext queryContext, String tableName, CatalogProtos.StoreType storeType,
+ public TableDesc createTable(QueryContext queryContext, String tableName, String storeType,
Schema schema, TableMeta meta, Path path, boolean isExternal,
PartitionMethodDesc partitionDesc, boolean ifNotExists) throws IOException {
String databaseName;
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultSystemScanner.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultSystemScanner.java b/tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultSystemScanner.java
index 958c252..307a155 100644
--- a/tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultSystemScanner.java
+++ b/tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultSystemScanner.java
@@ -120,7 +120,7 @@ public class NonForwardQueryResultSystemScanner implements NonForwardQueryResult
.createPlan(taskContext, leafBlock.getPlan());
tableDesc = new TableDesc("table_"+System.currentTimeMillis(), physicalExec.getSchema(),
- new TableMeta(StoreType.SYSTEM, new KeyValueSet()), null);
+ new TableMeta("SYSTEM", new KeyValueSet()), null);
outSchema = physicalExec.getSchema();
encoder = RowStoreUtil.createEncoder(getLogicalSchema());
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java b/tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
index ad1a8e3..481bdbe 100644
--- a/tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
+++ b/tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
@@ -415,7 +415,7 @@ public class QueryExecutor {
List<CatalogProtos.ColumnProto> columns = new ArrayList<CatalogProtos.ColumnProto>();
CatalogProtos.TableDescProto tableDescProto = CatalogProtos.TableDescProto.newBuilder()
.setTableName(nodeUniqName)
- .setMeta(CatalogProtos.TableProto.newBuilder().setStoreType(CatalogProtos.StoreType.CSV).build())
+ .setMeta(CatalogProtos.TableProto.newBuilder().setStoreType("CSV").build())
.setSchema(CatalogProtos.SchemaProto.newBuilder().addAllFields(columns).build())
.setStats(stats.getProto())
.build();
@@ -436,7 +436,7 @@ public class QueryExecutor {
SubmitQueryResponse.Builder responseBuilder) throws Exception {
LogicalRootNode rootNode = plan.getRootBlock().getRoot();
- CatalogProtos.StoreType storeType = PlannerUtil.getStoreType(plan);
+ String storeType = PlannerUtil.getStoreType(plan);
if (storeType != null) {
StorageManager sm = StorageManager.getStorageManager(context.getConf(), storeType);
StorageProperty storageProperty = sm.getStorageProperty();
@@ -474,7 +474,7 @@ public class QueryExecutor {
public static MasterPlan compileMasterPlan(LogicalPlan plan, QueryContext context, GlobalPlanner planner)
throws Exception {
- CatalogProtos.StoreType storeType = PlannerUtil.getStoreType(plan);
+ String storeType = PlannerUtil.getStoreType(plan);
if (storeType != null) {
StorageManager sm = StorageManager.getStorageManager(planner.getConf(), storeType);
StorageProperty storageProperty = sm.getStorageProperty();
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/querymaster/Query.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/querymaster/Query.java b/tajo-core/src/main/java/org/apache/tajo/querymaster/Query.java
index 1ce15fc..a2e434b 100644
--- a/tajo-core/src/main/java/org/apache/tajo/querymaster/Query.java
+++ b/tajo-core/src/main/java/org/apache/tajo/querymaster/Query.java
@@ -420,7 +420,7 @@ public class Query implements EventHandler<QueryEvent> {
if (finalState != QueryState.QUERY_SUCCEEDED) {
Stage lastStage = query.getStage(stageEvent.getExecutionBlockId());
if (lastStage != null && lastStage.getTableMeta() != null) {
- StoreType storeType = lastStage.getTableMeta().getStoreType();
+ String storeType = lastStage.getTableMeta().getStoreType();
if (storeType != null) {
LogicalRootNode rootNode = lastStage.getMasterPlan().getLogicalPlan().getRootBlock().getRoot();
try {
@@ -439,7 +439,7 @@ public class Query implements EventHandler<QueryEvent> {
private QueryState finalizeQuery(Query query, QueryCompletedEvent event) {
Stage lastStage = query.getStage(event.getExecutionBlockId());
- StoreType storeType = lastStage.getTableMeta().getStoreType();
+ String storeType = lastStage.getTableMeta().getStoreType();
try {
LogicalRootNode rootNode = lastStage.getMasterPlan().getLogicalPlan().getRootBlock().getRoot();
CatalogService catalog = lastStage.getContext().getQueryMasterContext().getWorkerContext().getCatalog();
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMasterTask.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMasterTask.java b/tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMasterTask.java
index 465fa84..8d20141 100644
--- a/tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMasterTask.java
+++ b/tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMasterTask.java
@@ -322,7 +322,7 @@ public class QueryMasterTask extends CompositeService {
jsonExpr = null; // remove the possible OOM
plan = planner.createPlan(queryContext, expr);
- StoreType storeType = PlannerUtil.getStoreType(plan);
+ String storeType = PlannerUtil.getStoreType(plan);
if (storeType != null) {
sm = StorageManager.getStorageManager(systemConf, storeType);
StorageProperty storageProperty = sm.getStorageProperty();
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/querymaster/Repartitioner.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/querymaster/Repartitioner.java b/tajo-core/src/main/java/org/apache/tajo/querymaster/Repartitioner.java
index 8e9e343..986d16a 100644
--- a/tajo-core/src/main/java/org/apache/tajo/querymaster/Repartitioner.java
+++ b/tajo-core/src/main/java/org/apache/tajo/querymaster/Repartitioner.java
@@ -232,7 +232,7 @@ public class Repartitioner {
int maxStatsScanIdx = -1;
StringBuilder nonLeafScanNamesBuilder = new StringBuilder();
for (int i = 0; i < scans.length; i++) {
- if (scans[i].getTableDesc().getMeta().getStoreType() == StoreType.RAW) {
+ if (scans[i].getTableDesc().getMeta().getStoreType().equalsIgnoreCase("RAW")) {
// Intermediate data scan
hasNonLeafNode = true;
largeScanIndexList.add(i);
@@ -670,7 +670,7 @@ public class Repartitioner {
TupleRange mergedRange = TupleUtil.columnStatToRange(sortSpecs, sortSchema, totalStat.getColumnStats(), false);
if (sortNode.getSortPurpose() == SortPurpose.STORAGE_SPECIFIED) {
- StoreType storeType = PlannerUtil.getStoreType(masterPlan.getLogicalPlan());
+ String storeType = PlannerUtil.getStoreType(masterPlan.getLogicalPlan());
CatalogService catalog = stage.getContext().getQueryMasterContext().getWorkerContext().getCatalog();
LogicalRootNode rootNode = masterPlan.getLogicalPlan().getRootBlock().getRoot();
TableDesc tableDesc = PlannerUtil.getTableDesc(catalog, rootNode.getChild());
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/java/org/apache/tajo/querymaster/Stage.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/querymaster/Stage.java b/tajo-core/src/main/java/org/apache/tajo/querymaster/Stage.java
index d82d078..f03ee2f 100644
--- a/tajo-core/src/main/java/org/apache/tajo/querymaster/Stage.java
+++ b/tajo-core/src/main/java/org/apache/tajo/querymaster/Stage.java
@@ -721,10 +721,10 @@ public class Stage implements EventHandler<StageEvent> {
DataChannel channel = masterPlan.getOutgoingChannels(getId()).get(0);
// if store plan (i.e., CREATE or INSERT OVERWRITE)
- StoreType storeType = PlannerUtil.getStoreType(masterPlan.getLogicalPlan());
+ String storeType = PlannerUtil.getStoreType(masterPlan.getLogicalPlan());
if (storeType == null) {
// get default or store type
- storeType = StoreType.CSV;
+ storeType = "CSV";
}
schema = channel.getSchema();
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/main/proto/TajoWorkerProtocol.proto
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/proto/TajoWorkerProtocol.proto b/tajo-core/src/main/proto/TajoWorkerProtocol.proto
index fddef8f..e660a30 100644
--- a/tajo-core/src/main/proto/TajoWorkerProtocol.proto
+++ b/tajo-core/src/main/proto/TajoWorkerProtocol.proto
@@ -189,7 +189,7 @@ message DataChannelProto {
repeated ColumnProto shuffleKeys = 7;
optional int32 numOutputs = 9 [default = 1];
- optional StoreType storeType = 10 [default = CSV];
+ optional string storeType = 10;
}
message RunExecutionBlockRequestProto {
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/BackendTestingUtil.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/BackendTestingUtil.java b/tajo-core/src/test/java/org/apache/tajo/BackendTestingUtil.java
index 308ed28..0774eff 100644
--- a/tajo-core/src/test/java/org/apache/tajo/BackendTestingUtil.java
+++ b/tajo-core/src/test/java/org/apache/tajo/BackendTestingUtil.java
@@ -42,7 +42,7 @@ public class BackendTestingUtil {
mockupSchema = new Schema();
mockupSchema.addColumn("deptname", Type.TEXT);
mockupSchema.addColumn("score", Type.INT4);
- mockupMeta = CatalogUtil.newTableMeta(StoreType.CSV);
+ mockupMeta = CatalogUtil.newTableMeta("CSV");
}
public static void writeTmpTable(TajoConf conf, Path tablePath)
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java b/tajo-core/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java
index 5407ff5..6691df1 100644
--- a/tajo-core/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java
+++ b/tajo-core/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java
@@ -116,7 +116,7 @@ public class LocalTajoTestingUtility {
fs.mkdirs(tablePath);
Path dfsPath = new Path(tablePath, localPath.getName());
fs.copyFromLocalFile(localPath, dfsPath);
- TableMeta meta = CatalogUtil.newTableMeta(CatalogProtos.StoreType.TEXTFILE, option);
+ TableMeta meta = CatalogUtil.newTableMeta("TEXT", option);
// Add fake table statistic data to tables.
// It gives more various situations to unit tests.
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java b/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java
index 54f9e92..59f6da5 100644
--- a/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java
+++ b/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java
@@ -669,7 +669,7 @@ public class TajoTestingCluster {
out.close();
}
}
- TableMeta meta = CatalogUtil.newTableMeta(CatalogProtos.StoreType.CSV, tableOption);
+ TableMeta meta = CatalogUtil.newTableMeta("CSV", tableOption);
client.createExternalTable(tableName, schema, tablePath.toUri(), meta);
} finally {
client.close();
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/cli/tools/TestDDLBuilder.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/cli/tools/TestDDLBuilder.java b/tajo-core/src/test/java/org/apache/tajo/cli/tools/TestDDLBuilder.java
index 704980b..aac5f90 100644
--- a/tajo-core/src/test/java/org/apache/tajo/cli/tools/TestDDLBuilder.java
+++ b/tajo-core/src/test/java/org/apache/tajo/cli/tools/TestDDLBuilder.java
@@ -41,7 +41,7 @@ public class TestDDLBuilder {
schema1.addColumn("name", TajoDataTypes.Type.BLOB);
schema1.addColumn("addr", TajoDataTypes.Type.TEXT);
- meta1 = CatalogUtil.newTableMeta(CatalogProtos.StoreType.CSV);
+ meta1 = CatalogUtil.newTableMeta("CSV");
meta1.putOption(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER);
meta1.putOption(StorageConstants.COMPRESSION_CODEC, GzipCodec.class.getName());
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java b/tajo-core/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
index 36ffd0c..af86abc 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
@@ -264,8 +264,8 @@ public class ExprTestBase {
vtuple.put(i, lazyTuple.get(i));
}
}
- cat.createTable(new TableDesc(qualifiedTableName, inputSchema,
- CatalogProtos.StoreType.CSV, new KeyValueSet(), CommonTestingUtil.getTestDir().toUri()));
+ cat.createTable(new TableDesc(qualifiedTableName, inputSchema,"CSV",
+ new KeyValueSet(), CommonTestingUtil.getTestDir().toUri()));
}
Target [] targets;
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java b/tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
index 0466a24..dd5a75a 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
@@ -103,7 +103,7 @@ public class TestEvalTreeUtil {
schema.addColumn("score", TajoDataTypes.Type.INT4);
schema.addColumn("age", TajoDataTypes.Type.INT4);
- TableMeta meta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta meta = CatalogUtil.newTableMeta("CSV");
TableDesc desc = new TableDesc(
CatalogUtil.buildFQName(TajoConstants.DEFAULT_DATABASE_NAME, "people"), schema, meta,
CommonTestingUtil.getTestDir().toUri());
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java b/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java
index c9b52fd..a408fd6 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java
@@ -79,7 +79,7 @@ public class TestLogicalOptimizer {
schema3.addColumn("score", Type.INT4);
schema3.addColumn("phone", Type.INT4);
- TableMeta meta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta meta = CatalogUtil.newTableMeta("CSV");
TableDesc people = new TableDesc(
CatalogUtil.buildFQName(TajoConstants.DEFAULT_DATABASE_NAME, "employee"), schema, meta,
CommonTestingUtil.getTestDir().toUri());
@@ -87,13 +87,13 @@ public class TestLogicalOptimizer {
TableDesc student =
new TableDesc(
- CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "dept"), schema2, StoreType.CSV, new KeyValueSet(),
+ CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "dept"), schema2, "CSV", new KeyValueSet(),
CommonTestingUtil.getTestDir().toUri());
catalog.createTable(student);
TableDesc score =
new TableDesc(
- CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "score"), schema3, StoreType.CSV, new KeyValueSet(),
+ CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "score"), schema3, "CSV", new KeyValueSet(),
CommonTestingUtil.getTestDir().toUri());
catalog.createTable(score);
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java b/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java
index af0aa6a..d5d5779 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java
@@ -92,19 +92,19 @@ public class TestLogicalPlanner {
schema3.addColumn("deptname", Type.TEXT);
schema3.addColumn("score", Type.INT4);
- TableMeta meta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta meta = CatalogUtil.newTableMeta("CSV");
TableDesc people = new TableDesc(
CatalogUtil.buildFQName(TajoConstants.DEFAULT_DATABASE_NAME, "employee"), schema, meta,
CommonTestingUtil.getTestDir().toUri());
catalog.createTable(people);
TableDesc student = new TableDesc(
- CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "dept"), schema2, StoreType.CSV, new KeyValueSet(),
+ CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "dept"), schema2, "CSV", new KeyValueSet(),
CommonTestingUtil.getTestDir().toUri());
catalog.createTable(student);
TableDesc score = new TableDesc(
- CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "score"), schema3, StoreType.CSV, new KeyValueSet(),
+ CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "score"), schema3, "CSV", new KeyValueSet(),
CommonTestingUtil.getTestDir().toUri());
catalog.createTable(score);
@@ -121,7 +121,7 @@ public class TestLogicalPlanner {
tpch.loadSchemas();
tpch.loadOutSchema();
for (String table : tpchTables) {
- TableMeta m = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta m = CatalogUtil.newTableMeta("CSV");
TableDesc d = CatalogUtil.newTableDesc(
CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, table), tpch.getSchema(table), m,
CommonTestingUtil.getTestDir());
@@ -979,7 +979,7 @@ public class TestLogicalPlanner {
assertEquals(Type.INT8, def.getColumn(2).getDataType().getType());
assertEquals("score", def.getColumn(3).getSimpleName());
assertEquals(Type.FLOAT4, def.getColumn(3).getDataType().getType());
- assertEquals(StoreType.CSV, createTable.getStorageType());
+ assertTrue("CSV".equalsIgnoreCase(createTable.getStorageType()));
assertEquals("/tmp/data", createTable.getPath().toString());
assertTrue(createTable.hasOptions());
assertEquals("|", createTable.getOptions().get("csv.delimiter"));
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java b/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java
index 9ce7b5b..0082800 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java
@@ -29,7 +29,6 @@ import org.apache.tajo.algebra.Expr;
import org.apache.tajo.catalog.*;
import org.apache.tajo.catalog.proto.CatalogProtos.FragmentProto;
import org.apache.tajo.catalog.proto.CatalogProtos.FunctionType;
-import org.apache.tajo.catalog.proto.CatalogProtos.StoreType;
import org.apache.tajo.common.TajoDataTypes.Type;
import org.apache.tajo.datum.DatumFactory;
import org.apache.tajo.engine.function.builtin.SumInt;
@@ -40,10 +39,10 @@ import org.apache.tajo.plan.PlanningException;
import org.apache.tajo.plan.expr.*;
import org.apache.tajo.plan.logical.*;
import org.apache.tajo.plan.util.PlannerUtil;
-import org.apache.tajo.storage.fragment.FileFragment;
import org.apache.tajo.storage.Tuple;
import org.apache.tajo.storage.TupleComparator;
import org.apache.tajo.storage.VTuple;
+import org.apache.tajo.storage.fragment.FileFragment;
import org.apache.tajo.storage.fragment.FragmentConvertor;
import org.apache.tajo.util.CommonTestingUtil;
import org.apache.tajo.util.KeyValueSet;
@@ -85,7 +84,7 @@ public class TestPlannerUtil {
schema3.addColumn("deptname", Type.TEXT);
schema3.addColumn("score", CatalogUtil.newSimpleDataType(Type.INT4));
- TableMeta meta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta meta = CatalogUtil.newTableMeta("CSV");
TableDesc people = new TableDesc(
CatalogUtil.buildFQName(TajoConstants.DEFAULT_DATABASE_NAME, "employee"), schema, meta,
CommonTestingUtil.getTestDir().toUri());
@@ -93,13 +92,13 @@ public class TestPlannerUtil {
TableDesc student =
new TableDesc(
- CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "dept"), schema2, StoreType.CSV,
+ CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "dept"), schema2, "CSV",
new KeyValueSet(), CommonTestingUtil.getTestDir().toUri());
catalog.createTable(student);
TableDesc score =
new TableDesc(
- CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "score"), schema3, StoreType.CSV,
+ CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, "score"), schema3, "CSV",
new KeyValueSet(), CommonTestingUtil.getTestDir().toUri());
catalog.createTable(score);
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/engine/planner/global/TestBroadcastJoinPlan.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/planner/global/TestBroadcastJoinPlan.java b/tajo-core/src/test/java/org/apache/tajo/engine/planner/global/TestBroadcastJoinPlan.java
index eb92bcf..9ff360f 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/planner/global/TestBroadcastJoinPlan.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/planner/global/TestBroadcastJoinPlan.java
@@ -128,7 +128,7 @@ public class TestBroadcastJoinPlan {
}
private TableDesc makeTestData(String tableName, Schema schema, int dataSize) throws Exception {
- TableMeta tableMeta = CatalogUtil.newTableMeta(CatalogProtos.StoreType.CSV);
+ TableMeta tableMeta = CatalogUtil.newTableMeta("CSV");
Path dataPath = new Path(testDir, tableName + ".csv");
String contentsData = "";
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java b/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java
index 842a120..a50d813 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java
@@ -85,7 +85,7 @@ public class TestBNLJoinExec {
schema.addColumn("memid", Type.INT4);
schema.addColumn("deptname", Type.TEXT);
- TableMeta employeeMeta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta employeeMeta = CatalogUtil.newTableMeta("CSV");
Path employeePath = new Path(testDir, "employee.csv");
Appender appender = ((FileStorageManager)StorageManager.getFileStorageManager(conf))
.getAppender(employeeMeta, schema, employeePath);
@@ -107,7 +107,7 @@ public class TestBNLJoinExec {
peopleSchema.addColumn("fk_memid", Type.INT4);
peopleSchema.addColumn("name", Type.TEXT);
peopleSchema.addColumn("age", Type.INT4);
- TableMeta peopleMeta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta peopleMeta = CatalogUtil.newTableMeta("CSV");
Path peoplePath = new Path(testDir, "people.csv");
appender = ((FileStorageManager)StorageManager.getFileStorageManager(conf))
.getAppender(peopleMeta, peopleSchema, peoplePath);
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java b/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java
index b22a87e..ac8860f 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java
@@ -112,7 +112,7 @@ public class TestBSTIndexExec {
writer.open();
long offset;
- meta = CatalogUtil.newTableMeta(StoreType.CSV);
+ meta = CatalogUtil.newTableMeta("CSV");
tablePath = StorageUtil.concatPath(workDir, "employee", "table.csv");
fs = tablePath.getFileSystem(conf);
fs.mkdirs(tablePath.getParent());
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java b/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java
index 0ef8294..0b93c76 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java
@@ -81,7 +81,7 @@ public class TestExternalSortExec {
schema.addColumn("empid", Type.INT4);
schema.addColumn("deptname", Type.TEXT);
- TableMeta employeeMeta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta employeeMeta = CatalogUtil.newTableMeta("CSV");
Path employeePath = new Path(testDir, "employee.csv");
Appender appender = ((FileStorageManager)StorageManager.getFileStorageManager(conf))
.getAppender(employeeMeta, schema, employeePath);
http://git-wip-us.apache.org/repos/asf/tajo/blob/863e53ea/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java b/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java
index 780e698..e5ba9b3 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java
@@ -103,7 +103,7 @@ public class TestFullOuterHashJoinExec {
dep3Schema.addColumn("loc_id", Type.INT4);
- TableMeta dep3Meta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta dep3Meta = CatalogUtil.newTableMeta("CSV");
Path dep3Path = new Path(testDir, "dep3.csv");
Appender appender1 = ((FileStorageManager)StorageManager.getFileStorageManager(conf))
.getAppender(dep3Meta, dep3Schema, dep3Path);
@@ -133,7 +133,7 @@ public class TestFullOuterHashJoinExec {
job3Schema.addColumn("job_title", Type.TEXT);
- TableMeta job3Meta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta job3Meta = CatalogUtil.newTableMeta("CSV");
Path job3Path = new Path(testDir, "job3.csv");
Appender appender2 = ((FileStorageManager)StorageManager.getFileStorageManager(conf))
.getAppender(job3Meta, job3Schema, job3Path);
@@ -173,7 +173,7 @@ public class TestFullOuterHashJoinExec {
emp3Schema.addColumn("job_id", Type.INT4);
- TableMeta emp3Meta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta emp3Meta = CatalogUtil.newTableMeta("CSV");
Path emp3Path = new Path(testDir, "emp3.csv");
Appender appender3 = ((FileStorageManager)StorageManager.getFileStorageManager(conf))
.getAppender(emp3Meta, emp3Schema, emp3Path);
@@ -226,7 +226,7 @@ public class TestFullOuterHashJoinExec {
phone3Schema.addColumn("phone_number", Type.TEXT);
- TableMeta phone3Meta = CatalogUtil.newTableMeta(StoreType.CSV);
+ TableMeta phone3Meta = CatalogUtil.newTableMeta("CSV");
Path phone3Path = new Path(testDir, "phone3.csv");
Appender appender5 = ((FileStorageManager)StorageManager.getFileStorageManager(conf))
.getAppender(phone3Meta, phone3Schema, phone3Path);