http://git-wip-us.apache.org/repos/asf/tajo/blob/4aef83a3/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java index ae2de77..62cbd9e 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java @@ -23,7 +23,7 @@ import org.apache.tajo.QueryTestCaseBase; import org.apache.tajo.TajoConstants; import org.apache.tajo.TajoTestingCluster; import org.apache.tajo.catalog.Schema; -import org.apache.tajo.catalog.SchemaFactory; +import org.apache.tajo.catalog.SchemaBuilder; import org.apache.tajo.common.TajoDataTypes; import org.apache.tajo.storage.StorageConstants; import org.apache.tajo.util.KeyValueSet; @@ -54,9 +54,10 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value", TajoDataTypes.Type.INT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value", TajoDataTypes.Type.INT8) + .build(); String[] data = new String[]{ "1|-111", "2|\\N", "3|-333" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -80,8 +81,9 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("value", TajoDataTypes.Type.DATE); + Schema schema = SchemaBuilder.builder() + .add("value", TajoDataTypes.Type.DATE) + .build(); String[] data = new String[]{ "2014-01-02", "2014-12-01", "2015-01-01", "1999-08-09", "2000-03-01" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -104,8 +106,9 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("value", TajoDataTypes.Type.DATE); + Schema schema = SchemaBuilder.builder() + .add("value", TajoDataTypes.Type.DATE) + .build(); String[] data = new String[]{ "2014-01-02", "2014-12-01", "\\N", "\\N", "2000-03-01" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -128,8 +131,9 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("value", TajoDataTypes.Type.TIME); + Schema schema = SchemaBuilder.builder() + .add("value", TajoDataTypes.Type.TIME) + .build(); String[] data = new String[]{ "11:11:11", "23:12:50", "00:00:01", "09:59:59", "12:13:14" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -152,8 +156,9 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("value", TajoDataTypes.Type.TIME); + Schema schema = SchemaBuilder.builder() + .add("value", TajoDataTypes.Type.TIME) + .build(); String[] data = new String[]{ "11:11:11", "\\N", "\\N", "09:59:59", "12:13:14" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -176,8 +181,9 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("value", TajoDataTypes.Type.TIMESTAMP); + Schema schema = SchemaBuilder.builder() + .add("value", TajoDataTypes.Type.TIMESTAMP) + .build(); String[] data = new String[]{ "1999-01-01 11:11:11", "2015-01-01 23:12:50", "2016-12-24 00:00:01", "1977-05-04 09:59:59", "2002-11-21 12:13:14" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -201,8 +207,7 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("value", TajoDataTypes.Type.TIMESTAMP); + Schema schema = SchemaBuilder.builder().add("value", TajoDataTypes.Type.TIMESTAMP).build(); String[] data = new String[]{ "1999-01-01 11:11:11", "2015-01-01 23:12:50", "\\N", "\\N", "2002-11-21 12:13:14" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -233,9 +238,10 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value", TajoDataTypes.Type.INT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value", TajoDataTypes.Type.INT8) + .build(); String[] data = new String[]{ "1|111", "2|\\N", "3|333" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -266,9 +272,10 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("name", TajoDataTypes.Type.TEXT); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("name", TajoDataTypes.Type.TEXT) + .build(); String[] data = new String[]{ "1|\\N", "2|\\N", "3|\\N" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -299,9 +306,10 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("name", TajoDataTypes.Type.TEXT); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("name", TajoDataTypes.Type.TEXT) + .build(); String[] data = new String[]{ "1|def", "2|\\N", "3|abc" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -360,12 +368,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|-111|1.2|-50.5", "2|1|\\N|\\N|52.5", "3|2|-333|2.8|\\N" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -389,12 +398,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|\\N|\\N|\\N", "2|\\N|\\N|\\N|\\N", "3|\\N|\\N|\\N|\\N" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -418,12 +428,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|-111|1.2|-50.5", "2|1|\\N|\\N|52.5", "3|2|-333|2.8|\\N" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -447,12 +458,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|\\N|\\N|\\N", "2|\\N|\\N|\\N|\\N", "3|\\N|\\N|\\N|\\N" }; TajoTestingCluster.createTable("testbuiltin11", schema, tableOptions, data, 1); @@ -476,12 +488,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|-111|1.2|-50.5", "2|1|\\N|\\N|52.5", @@ -508,12 +521,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|\\N|\\N|-50.5", "2|1|\\N|\\N|\\N", @@ -540,12 +554,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|-111|1.2|-50.5", "2|1|\\N|\\N|52.5", @@ -572,12 +587,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|\\N|\\N|-50.5", "2|1|\\N|\\N|\\N", @@ -604,12 +620,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|-111|1.2|-50.5", "2|1|\\N|\\N|52.5", @@ -635,12 +652,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|\\N|\\N|-50.5", "2|1|\\N|\\N|\\N", @@ -666,12 +684,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|-111|1.2|-50.5", "2|1|\\N|\\N|52.5", @@ -697,12 +716,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|\\N|\\N|-50.5", "2|1|\\N|\\N|\\N", @@ -757,14 +777,16 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { KeyValueSet tableOptions = new KeyValueSet(); tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); + + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .build(); String[] data = new String[] {"1", "3", "2", "4"}; TajoTestingCluster.createTable("rank_table1", schema, tableOptions, data, 1); - schema = SchemaFactory.newV1(); - schema.addColumn("refid", TajoDataTypes.Type.INT4); - schema.addColumn("value", TajoDataTypes.Type.TEXT); + schema = SchemaBuilder.builder() + .add("refid", TajoDataTypes.Type.INT4) + .add("value", TajoDataTypes.Type.TEXT) + .build(); data = new String[] {"1|efgh", "2|abcd", "4|erjk", "8|dfef"}; TajoTestingCluster.createTable("rank_table2", schema, tableOptions, data, 1); ResultSet res = null; @@ -796,12 +818,13 @@ public class TestBuiltinFunctions extends QueryTestCaseBase { tableOptions.set(StorageConstants.TEXT_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER); tableOptions.set(StorageConstants.TEXT_NULL, "\\\\N"); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", TajoDataTypes.Type.INT4); - schema.addColumn("value_int", TajoDataTypes.Type.INT4); - schema.addColumn("value_long", TajoDataTypes.Type.INT8); - schema.addColumn("value_float", TajoDataTypes.Type.FLOAT4); - schema.addColumn("value_double", TajoDataTypes.Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", TajoDataTypes.Type.INT4) + .add("value_int", TajoDataTypes.Type.INT4) + .add("value_long", TajoDataTypes.Type.INT8) + .add("value_float", TajoDataTypes.Type.FLOAT4) + .add("value_double", TajoDataTypes.Type.FLOAT8) + .build(); String[] data = new String[]{ "1|\\N|-111|1.2|-50.5", "2|1|\\N|\\N|52.5",
http://git-wip-us.apache.org/repos/asf/tajo/blob/4aef83a3/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestConditionalExpressions.java ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestConditionalExpressions.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestConditionalExpressions.java index 9a072ef..20045ad 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestConditionalExpressions.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestConditionalExpressions.java @@ -20,12 +20,12 @@ package org.apache.tajo.engine.function; import org.apache.tajo.catalog.CatalogUtil; import org.apache.tajo.catalog.Schema; -import org.apache.tajo.catalog.SchemaFactory; -import org.apache.tajo.datum.NullDatum; -import org.apache.tajo.exception.UndefinedFunctionException; +import org.apache.tajo.catalog.SchemaBuilder; import org.apache.tajo.common.TajoDataTypes; +import org.apache.tajo.datum.NullDatum; import org.apache.tajo.engine.eval.ExprTestBase; import org.apache.tajo.exception.TajoException; +import org.apache.tajo.exception.UndefinedFunctionException; import org.junit.Test; import static org.junit.Assert.fail; @@ -33,16 +33,17 @@ import static org.junit.Assert.fail; public class TestConditionalExpressions extends ExprTestBase { @Test public void testCaseWhens1() throws TajoException { - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TajoDataTypes.Type.INT1); - schema.addColumn("col2", TajoDataTypes.Type.INT2); - schema.addColumn("col3", TajoDataTypes.Type.INT4); - schema.addColumn("col4", TajoDataTypes.Type.INT8); - schema.addColumn("col5", TajoDataTypes.Type.FLOAT4); - schema.addColumn("col6", TajoDataTypes.Type.FLOAT8); - schema.addColumn("col7", TajoDataTypes.Type.TEXT); - schema.addColumn("col8", CatalogUtil.newDataType(TajoDataTypes.Type.CHAR, "", 3)); - schema.addColumn("col9", TajoDataTypes.Type.INT4); + Schema schema = SchemaBuilder.builder() + .add("col1", TajoDataTypes.Type.INT1) + .add("col2", TajoDataTypes.Type.INT2) + .add("col3", TajoDataTypes.Type.INT4) + .add("col4", TajoDataTypes.Type.INT8) + .add("col5", TajoDataTypes.Type.FLOAT4) + .add("col6", TajoDataTypes.Type.FLOAT8) + .add("col7", TajoDataTypes.Type.TEXT) + .add("col8", CatalogUtil.newDataType(TajoDataTypes.Type.CHAR, "", 3)) + .add("col9", TajoDataTypes.Type.INT4) + .build(); testEval(schema, "table1", "1,2,3,4,5.0,6.0,text,abc,", "select case when col1 between 1 and 3 then 10 else 100 end from table1;", @@ -60,9 +61,10 @@ public class TestConditionalExpressions extends ExprTestBase { @Test public void testCaseWhensWithNullReturn() throws TajoException { - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TajoDataTypes.Type.TEXT); - schema.addColumn("col2", TajoDataTypes.Type.TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TajoDataTypes.Type.TEXT) + .add("col2", TajoDataTypes.Type.TEXT) + .build(); testEval(schema, "table1", "str1,str2", "SELECT CASE WHEN col1 IS NOT NULL THEN col2 ELSE NULL END FROM table1", @@ -74,10 +76,11 @@ public class TestConditionalExpressions extends ExprTestBase { @Test public void testCaseWhensWithCommonExpression() throws TajoException { - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TajoDataTypes.Type.INT4); - schema.addColumn("col2", TajoDataTypes.Type.INT4); - schema.addColumn("col3", TajoDataTypes.Type.INT4); + Schema schema = SchemaBuilder.builder() + .add("col1", TajoDataTypes.Type.INT4) + .add("col2", TajoDataTypes.Type.INT4) + .add("col3", TajoDataTypes.Type.INT4) + .build(); testEval(schema, "table1", "1,2,3", "SELECT CASE WHEN col1 = 1 THEN 1 WHEN col1 = 2 THEN 2 ELSE 3 END FROM table1", @@ -112,10 +115,11 @@ public class TestConditionalExpressions extends ExprTestBase { @Test public void testCaseWhensWithCommonExpressionAndNull() throws TajoException { - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TajoDataTypes.Type.INT4); - schema.addColumn("col2", TajoDataTypes.Type.INT4); - schema.addColumn("col3", TajoDataTypes.Type.INT4); + Schema schema = SchemaBuilder.builder() + .add("col1", TajoDataTypes.Type.INT4) + .add("col2", TajoDataTypes.Type.INT4) + .add("col3", TajoDataTypes.Type.INT4) + .build(); testEval(schema, "table1", "1,2,3", "SELECT CASE col1 WHEN 1 THEN NULL WHEN 2 THEN 2 ELSE 3 END FROM table1", http://git-wip-us.apache.org/repos/asf/tajo/blob/4aef83a3/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestDateTimeFunctions.java ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestDateTimeFunctions.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestDateTimeFunctions.java index 36a4a60..3682006 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestDateTimeFunctions.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestDateTimeFunctions.java @@ -21,7 +21,7 @@ package org.apache.tajo.engine.function; import org.apache.tajo.SessionVars; import org.apache.tajo.catalog.Schema; -import org.apache.tajo.catalog.SchemaFactory; +import org.apache.tajo.catalog.SchemaBuilder; import org.apache.tajo.datum.DatumFactory; import org.apache.tajo.datum.TimestampDatum; import org.apache.tajo.engine.eval.ExprTestBase; @@ -120,8 +120,9 @@ public class TestDateTimeFunctions extends ExprTestBase { TimeZone GMT = TimeZone.getTimeZone("GMT"); TimeZone PST = TimeZone.getTimeZone("PST"); - Schema schema2 = SchemaFactory.newV1(); - schema2.addColumn("col1", TIMESTAMP); + Schema schema2 = SchemaBuilder.builder() + .add("col1", TIMESTAMP) + .build(); testEval(schema2, "table1", "1970-01-17 10:09:37", "select extract(year from col1), extract(month from col1), extract(day from col1) from table1;", @@ -136,8 +137,9 @@ public class TestDateTimeFunctions extends ExprTestBase { new String[]{"1970.0", "1.0", "17.0"}); // Currently TIME type can be loaded with INT8 type. - Schema schema3 = SchemaFactory.newV1(); - schema3.addColumn("col1", TIME); + Schema schema3 = SchemaBuilder.builder() + .add("col1", TIME) + .build(); testEval(schema3, "table1", "10:09:37.5", "select extract(hour from col1), extract(minute from col1), extract(second from col1) from table1;", @@ -151,8 +153,9 @@ public class TestDateTimeFunctions extends ExprTestBase { "select extract(hour from col1), extract(minute from col1), extract(second from col1) from table1;", new String[]{"18.0", "9.0", "37.5"}); - Schema schema4 = SchemaFactory.newV1(); - schema4.addColumn("col1", DATE); + Schema schema4 = SchemaBuilder.builder() + .add("col1", DATE) + .build(); testEval(schema4, "table1", "1970-01-17", "select extract(year from col1), extract(month from col1), extract(day from col1) from table1;", @@ -236,8 +239,8 @@ public class TestDateTimeFunctions extends ExprTestBase { TimeZone GMT = TimeZone.getTimeZone("GMT"); TimeZone PST = TimeZone.getTimeZone("PST"); - Schema schema2 = SchemaFactory.newV1(); - schema2.addColumn("col1", TIMESTAMP); + Schema schema2 = SchemaBuilder.builder() + .add("col1", TIMESTAMP).build(); testEval(schema2, "table1", "1970-01-17 22:09:37", @@ -252,8 +255,9 @@ public class TestDateTimeFunctions extends ExprTestBase { "select date_part('year', col1), date_part('month', col1), date_part('day', col1) from table1;", new String[]{"1970.0", "1.0", "18.0"}); - Schema schema3 = SchemaFactory.newV1(); - schema3.addColumn("col1", TIME); + Schema schema3 = SchemaBuilder.builder() + .add("col1", TIME) + .build(); testEval(schema3, "table1", "10:09:37.5", "select date_part('hour', col1), date_part('minute', col1), date_part('second', col1) from table1;", new String[]{"10.0", "9.0", "37.5"}); @@ -264,8 +268,9 @@ public class TestDateTimeFunctions extends ExprTestBase { "select date_part('hour', col1), date_part('minute', col1), date_part('second', col1) from table1;", new String[]{"18.0", "9.0", "37.5"}); - Schema schema4 = SchemaFactory.newV1(); - schema4.addColumn("col1", DATE); + Schema schema4 = SchemaBuilder.builder() + .add("col1", DATE) + .build(); testEval(schema4, "table1", "1970-01-17", "select date_part('year', col1), date_part('month', col1), date_part('day', col1) from table1;", http://git-wip-us.apache.org/repos/asf/tajo/blob/4aef83a3/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestMathFunctions.java ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestMathFunctions.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestMathFunctions.java index 1c07388..40d51ed 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestMathFunctions.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestMathFunctions.java @@ -6,9 +6,9 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * + * <p> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -19,7 +19,7 @@ package org.apache.tajo.engine.function; import org.apache.tajo.catalog.Schema; -import org.apache.tajo.catalog.SchemaFactory; +import org.apache.tajo.catalog.SchemaBuilder; import org.apache.tajo.datum.NullDatum; import org.apache.tajo.engine.eval.ExprTestBase; import org.apache.tajo.exception.TajoException; @@ -38,23 +38,25 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select round(-5.5) as col1 ", new String[]{"-6"}); testSimpleEval("select round(-5.6) as col1 ", new String[]{"-6"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT8); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.4", "select round(col1 + col2 + col3) from table1", new String[]{"2"}); - Schema schema2 = SchemaFactory.newV1(); - schema2.addColumn("col1", INT4); - schema2.addColumn("col2", INT8); - schema2.addColumn("col3", FLOAT4); - schema2.addColumn("col4", FLOAT8); + Schema schema2 = SchemaBuilder.builder() + .add("col1", INT4) + .add("col2", INT8) + .add("col3", FLOAT4) + .add("col4", FLOAT8) + .build(); testEval(schema2, "table1", "9,9,9.5,9.5", "select round(col1), round (col2), round(col3), round(col4) from table1", - new String [] {"9", "9", "10", "10"}); + new String[]{"9", "9", "10", "10"}); } @Test @@ -66,10 +68,11 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select floor(-5.1) as col1 ", new String[]{"-6"}); testSimpleEval("select floor(-5.6) as col1 ", new String[]{"-6"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT8); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.4", "select floor(col1 + col2 + col3) from table1", new String[]{"1"}); @@ -85,10 +88,11 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select ceil(-5.1) as col1 ", new String[]{"-5"}); testSimpleEval("select ceil(-5.6) as col1 ", new String[]{"-5"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT8); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.1", "select ceil(col1 + col2 + col3) from table1", new String[]{"2"}); @@ -104,10 +108,11 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select ceiling(-5.1) as col1 ", new String[]{"-5"}); testSimpleEval("select ceiling(-5.6) as col1 ", new String[]{"-5"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT8); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.1", "select ceiling(col1 + col2 + col3) from table1", new String[]{"2"}); @@ -120,10 +125,11 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select sin(1.2) as col1 ", new String[]{"0.9320390859672263"}); testSimpleEval("select sin(-0.5) as col1 ", new String[]{"-0.479425538604203"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT8); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.1", "select sin(col1 + col2 + col3) from table1", new String[]{"0.963558185417193"}); @@ -137,10 +143,11 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select cos(1.2) as col1 ", new String[]{"0.3623577544766736"}); testSimpleEval("select cos(-0.5) as col1 ", new String[]{"0.8775825618903728"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT8); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.1", "select cos(col1 + col2 + col3) from table1", new String[]{"0.26749882862458735"}); @@ -153,10 +160,11 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select tan(0.8) as col1 ", new String[]{"1.0296385570503641"}); testSimpleEval("select tan(-0.5) as col1 ", new String[]{"-0.5463024898437905"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT8); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.1", "select tan(col1 - col2 - col3) from table1", new String[]{"0.8422883804630795"}); @@ -169,10 +177,11 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select asin(0.8) as col1 ", new String[]{"0.9272952180016123"}); testSimpleEval("select asin(-0.5) as col1 ", new String[]{"-0.5235987755982989"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT8); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.1", "select asin(col1 - col2 - col3) from table1", new String[]{"0.7753974966107532"}); @@ -185,10 +194,11 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select acos(0.8) as col1 ", new String[]{"0.6435011087932843"}); testSimpleEval("select acos(-0.5) as col1 ", new String[]{"2.0943951023931957"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT8); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.1", "select acos(col1 - col2 - col3) from table1", new String[]{"0.7953988301841435"}); @@ -201,10 +211,11 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select atan(1.2) as col1 ", new String[]{"0.8760580505981934"}); testSimpleEval("select atan(-0.5) as col1 ", new String[]{"-0.4636476090008061"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT8); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.1", "select atan(col1 + col2 + col3) from table1", new String[]{"0.9151007005533605"}); @@ -218,10 +229,11 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select atan2(-0.5, 0.3) as col1 ", new String[]{"-1.0303768265243125"}); testSimpleEval("select atan2(-0.2, -1.3) as col1 ", new String[]{"-2.988943325194528"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT8); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.1", "select atan2(col1 + col2, col3) from table1", new String[]{"1.4876550949064553"}); @@ -234,12 +246,13 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select mod(200000000000,2) as col1 ", new String[]{"0"}); testSimpleEval("select mod(2,200000000000) as col1 ", new String[]{"2"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", INT8); - schema.addColumn("col2", INT8); - schema.addColumn("col3", INT8); + Schema schema = SchemaBuilder.builder() + .add("col1", INT8) + .add("col2", INT8) + .add("col3", INT8) + .build(); - testEval(schema, "table1", "9,2,3", "select mod(col1 + col2, col3) from table1", + testEval(schema, "table1", "9,2,3", "select mod(col1 + col2, col3) from table1", new String[]{"2"}); } @@ -250,12 +263,13 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select div(200000000000,2) as col1 ", new String[]{"100000000000"}); testSimpleEval("select div(2,200000000000) as col1 ", new String[]{"0"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", INT8); - schema.addColumn("col2", INT8); - schema.addColumn("col3", INT8); + Schema schema = SchemaBuilder.builder() + .add("col1", INT8) + .add("col2", INT8) + .add("col3", INT8) + .build(); - testEval(schema, "table1", "9,2,3", "select div(col1 + col2, col3) from table1", + testEval(schema, "table1", "9,2,3", "select div(col1 + col2, col3) from table1", new String[]{"3"}); } @@ -266,19 +280,21 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select sign(0.3) as col1 ", new String[]{"1.0"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT4); - schema.addColumn("col2", FLOAT4); - schema.addColumn("col3", FLOAT4); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT4) + .add("col2", FLOAT4) + .add("col3", FLOAT4) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.1", "select sign(col1 + col2 + col3) from table1", new String[]{"1.0"}); - Schema schema2 = SchemaFactory.newV1(); - schema2.addColumn("col1", FLOAT8); - schema2.addColumn("col2", FLOAT8); - schema2.addColumn("col3", FLOAT8); + Schema schema2 = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema2, "table1", "1.0, 0.2, 0.1", "select sign(col1 + col2 + col3) from table1", new String[]{"1.0"}); @@ -291,19 +307,21 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select sqrt(8.0) as col1 ", new String[]{"2.8284271247461903"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT4); - schema.addColumn("col2", FLOAT4); - schema.addColumn("col3", FLOAT4); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT4) + .add("col2", FLOAT4) + .add("col3", FLOAT4) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.1", "select sqrt(col1 + col2 + col3) from table1", new String[]{"1.1401754564651765"}); - Schema schema2 = SchemaFactory.newV1(); - schema2.addColumn("col1", FLOAT8); - schema2.addColumn("col2", FLOAT8); - schema2.addColumn("col3", FLOAT8); + Schema schema2 = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema2, "table1", "1.0, 0.2, 0.1", "select sqrt(col1 + col2 + col3) from table1", new String[]{"1.140175425099138"}); @@ -316,14 +334,16 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select exp(1.2) as col1 ", new String[]{String.valueOf(Math.exp(1.2d))}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT4); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT4) + .build(); testEval(schema, "table1", "1.123", "select exp(col1) from table1", new String[]{String.valueOf(Math.exp(1.123f))}); - Schema schema2 = SchemaFactory.newV1(); - schema2.addColumn("col1", FLOAT8); + Schema schema2 = SchemaBuilder.builder() + .add("col1", FLOAT8) + .build(); testEval(schema2, "table1", "1.123", "select exp(col1) from table1", new String[]{String.valueOf(Math.exp(1.123d))}); @@ -339,14 +359,16 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select abs(2.0) as col1 ", new String[]{"2.0"}); testSimpleEval("select abs(-2.0) as col1 ", new String[]{"2.0"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT4); - schema.addColumn("col2", FLOAT4); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT4) + .add("col2", FLOAT4) + .build(); testEval(schema, "table1", "0.39,-0.39", "select abs(col1), abs(col2) from table1", new String[]{"0.39", "0.39"}); - Schema schema2 = SchemaFactory.newV1(); - schema2.addColumn("col1", FLOAT8); - schema2.addColumn("col2", FLOAT8); + Schema schema2 = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .build(); testEval(schema2, "table1", "0.033312347,-0.033312347", "select abs(col1), abs(col2) from table1", new String[]{"0.033312347", "0.033312347"}); } @@ -358,17 +380,19 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select cbrt(8.0) as col1 ", new String[]{"2.0"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT4); - schema.addColumn("col2", FLOAT4); - schema.addColumn("col3", FLOAT4); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT4) + .add("col2", FLOAT4) + .add("col3", FLOAT4) + .build(); testEval(schema, "table1", "1.0, 0.2, 0.1", "select cbrt(col1 + col2 + col3) from table1", new String[]{"1.0913929030771317"}); - Schema schema2 = SchemaFactory.newV1(); - schema2.addColumn("col1", FLOAT8); - schema2.addColumn("col2", FLOAT8); - schema2.addColumn("col3", FLOAT8); + Schema schema2 = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema2, "table1", "1.0, 0.2, 0.1", "select cbrt(col1 + col2 + col3) from table1", new String[]{"1.091392883061106"}); } @@ -380,14 +404,15 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select degrees(2.7) as col1 ", new String[]{String.valueOf(Math.toDegrees(2.7))}); testSimpleEval("select degrees(-0.8) as col1 ", new String[]{String.valueOf(Math.toDegrees(-0.8))}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT4); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT4) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "0.8,2.7,-0.8", "select degrees(col1), degrees(col2), degrees(col3) from table1", new String[]{ - String.valueOf(Math.toDegrees((float)0.8)), + String.valueOf(Math.toDegrees((float) 0.8)), String.valueOf(Math.toDegrees(2.7)), String.valueOf(Math.toDegrees(-0.8)) }); @@ -401,11 +426,12 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select pow(null,3.1) as col1 ", new String[]{NullDatum.get().toString()}); testSimpleEval("select pow(20.1,null) as col1 ", new String[]{NullDatum.get().toString()}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT4); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", INT4); - schema.addColumn("col4", INT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT4) + .add("col2", FLOAT8) + .add("col3", INT4) + .add("col4", INT8) + .build(); testEval(schema, "table1", "0.4,2.7,3,2", "select pow(col1, col2), pow(col3, col4) from table1", new String[]{ @@ -421,14 +447,15 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select radians(2.7) as col1 ", new String[]{String.valueOf(Math.toRadians(2.7))}); testSimpleEval("select radians(-0.8) as col1 ", new String[]{String.valueOf(Math.toRadians(-0.8))}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT4); - schema.addColumn("col2", FLOAT8); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT4) + .add("col2", FLOAT8) + .add("col3", FLOAT8) + .build(); testEval(schema, "table1", "0.8,2.7,-0.8", "select radians(col1), radians(col2), radians(col3) from table1", new String[]{ - String.valueOf(Math.toRadians((float)0.8)), + String.valueOf(Math.toRadians((float) 0.8)), String.valueOf(Math.toRadians(2.7)), String.valueOf(Math.toRadians(-0.8)) }); @@ -463,9 +490,10 @@ public class TestMathFunctions extends ExprTestBase { testSimpleEval("select round(1234567890.1234567,3) ", new String[]{"1.234567890123E9"}); testSimpleEval("select round(1234567890.1234567,5) ", new String[]{"1.23456789012346E9"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", FLOAT8); - schema.addColumn("col2", INT4); + Schema schema = SchemaBuilder.builder() + .add("col1", FLOAT8) + .add("col2", INT4) + .build(); testEval(schema, "table1", ",", "select round(col1, col2) from table1", new String[]{NullDatum.get().toString()}); } http://git-wip-us.apache.org/repos/asf/tajo/blob/4aef83a3/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestPatternMatchingPredicates.java ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestPatternMatchingPredicates.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestPatternMatchingPredicates.java index 0cfbe1c..54907fc 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestPatternMatchingPredicates.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestPatternMatchingPredicates.java @@ -19,7 +19,7 @@ package org.apache.tajo.engine.function; import org.apache.tajo.catalog.Schema; -import org.apache.tajo.catalog.SchemaFactory; +import org.apache.tajo.catalog.SchemaBuilder; import org.apache.tajo.datum.NullDatum; import org.apache.tajo.engine.eval.ExprTestBase; import org.apache.tajo.exception.TajoException; @@ -31,8 +31,9 @@ public class TestPatternMatchingPredicates extends ExprTestBase { @Test public void testLike() throws TajoException { - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .build(); // test for null values testEval(schema, "table1", ",", "select col1 like 'a%' from table1", new String[]{NullDatum.get().toString()}); http://git-wip-us.apache.org/repos/asf/tajo/blob/4aef83a3/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestStringOperatorsAndFunctions.java ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestStringOperatorsAndFunctions.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestStringOperatorsAndFunctions.java index dd40822..203af8f 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestStringOperatorsAndFunctions.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestStringOperatorsAndFunctions.java @@ -21,7 +21,7 @@ package org.apache.tajo.engine.function; import org.apache.commons.lang.StringEscapeUtils; import org.apache.tajo.catalog.Schema; -import org.apache.tajo.catalog.SchemaFactory; +import org.apache.tajo.catalog.SchemaBuilder; import org.apache.tajo.datum.NullDatum; import org.apache.tajo.engine.eval.ExprTestBase; import org.apache.tajo.exception.TajoException; @@ -41,10 +41,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { @Test public void testConcatenateOnExpressions() throws TajoException { - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", INT4); - schema.addColumn("col3", FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", INT4) + .add("col3", FLOAT8) + .build(); testSimpleEval("select (1+3) || 2 as col1 ", new String[]{"42"}); @@ -62,9 +63,10 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { @Test public void testLTrim() throws TajoException { - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .build(); testSimpleEval("select ltrim(' trim') ", new String[]{"trim"}); testSimpleEval("select ltrim('xxtrim', 'xx') ", new String[]{"trim"}); @@ -83,9 +85,10 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { @Test public void testRTrim() throws TajoException { - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .build(); testSimpleEval("select rtrim('trim ') ", new String[]{"trim"}); testSimpleEval("select rtrim('trimxx', 'xx') ", new String[]{"trim"}); @@ -104,9 +107,10 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { @Test public void testTrim() throws TajoException { - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .build(); testSimpleEval("select trim(' trim ') ", new String[]{"trim"}); testSimpleEval("select btrim('xxtrimxx', 'xx') ", new String[]{"trim"}); @@ -132,10 +136,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select regexp_replace('abcdef', null, '--') as col1 ", new String[]{NullDatum.get().toString()}); testSimpleEval("select regexp_replace('abcdef','bc', null) as col1 ", new String[]{NullDatum.get().toString()}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); // find matches and replace from column values testEval(schema, "table1", "------,(^--|--$),ab", "select regexp_replace(col1, col2, col3) as str from table1", @@ -165,10 +170,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select left('abcdef',-5) as col1 ", new String[]{"a"}); testSimpleEval("select left('abcdef',-6) as col1 ", new String[]{""}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", INT4); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", INT4) + .add("col3", TEXT) + .build(); // for null tests testEval(schema, "table1", ",1,ghi", "select left(col1,1) is null from table1", new String[]{"t"}); @@ -194,10 +200,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select right('abcdef',-5) as col1 ", new String[]{"f"}); testSimpleEval("select right('abcdef',-6) as col1 ", new String[]{""}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", INT4); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", INT4) + .add("col3", TEXT) + .build(); // for null tests testEval(schema, "table1", ",1,ghi", "select right(col1,1) is null from table1", new String[]{"t"}); @@ -211,10 +218,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select reverse('abcdef') as col1 ", new String[]{"fedcba"}); testSimpleEval("select reverse('ê°') as col1 ", new String[]{"ê°"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", "abc,efg,3.14", "select reverse(col1) || reverse(col2) from table1", new String[]{"cbagfe"}); } @@ -225,10 +233,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select repeat('ê°',3) as col1 ", new String[]{"ê°ê°ê°"}); testSimpleEval("select repeat('a',2) as col1 ", new String[]{"aa"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", "abc,efg,3.14", "select repeat(col1,2) from table1", new String[]{"abcabc"}); } @@ -237,10 +246,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { public void testUpper() throws TajoException { testSimpleEval("select upper('abcdef') as col1 ", new String[]{"ABCDEF"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", "abc,efg,3.14", "select upper(col1), upper(col2) from table1", new String[]{"ABC", "EFG"}); testEval(schema, "table1", "abc,efg,3.14", "select upper(col1) || upper(col2) from table1", new String[]{"ABCEFG"}); @@ -250,10 +260,12 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { public void testLower() throws TajoException { testSimpleEval("select lower('ABCdEF') as col1 ", new String[]{"abcdef"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); + testEval(schema, "table1", "ABC,DEF,3.14", "select lower(col1), lower(col2) from table1", new String[]{"abc", "def"}); testEval(schema, "table1", "ABC,DEF,3.14", "select lower(col1) || lower(col2) from table1", new String[]{"abcdef"}); @@ -263,10 +275,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { public void testCharLength() throws TajoException { testSimpleEval("select char_length('123456') as col1 ", new String[]{"6"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", "ABC,DEF,3.14", "select character_length(lower(col1) || lower(col2)) from table1", new String[]{"6"}); } @@ -275,10 +288,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { public void testLength() throws TajoException { testSimpleEval("select length('123456') as col1 ", new String[]{"6"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", "ABC,DEF,3.14", "select length(lower(col1) || lower(col2)) from table1", new String[]{"6"}); } @@ -288,10 +302,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select md5('1') as col1 ", new String[]{"c4ca4238a0b923820dcc509a6f75849b"}); testSimpleEval("select md5('tajo') as col1 ", new String[]{"742721b3a79f71a9491681b8e8a7ce85"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", "abc,efg,3.14", "select md5(col1) from table1", new String[]{"900150983cd24fb0d6963f7d28e17f72"}); } @@ -317,10 +332,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select to_hex(1234) as col1 ", new String[]{"4d2"}); testSimpleEval("select to_hex(1023456788888888) as col1 ", new String[]{"3a2d41a583d38"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", ",abcdef,3.14", "select to_hex(10) from table1", new String[]{"a"}); } @@ -331,10 +347,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select to_bin(10) as col1 ", new String[]{"1010"}); testSimpleEval("select to_bin(1234) as col1 ", new String[]{"10011010010"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", ",abcdef,3.14", "select to_bin(20) from table1", new String[]{"10100"}); } @@ -345,10 +362,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select octet_length('1') as col1 ", new String[]{"1"}); testSimpleEval("select octet_length('ê°') as col1 ", new String[]{"3"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", "ABC,DEF,3.14", "select octet_length(lower(col1) || lower(col2)) from table1", new String[]{"6"}); } @@ -361,10 +379,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select split_part('1386577650.123', '.', 3) is null", new String[]{"t"}); // null handling tests - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "t1", ",.,1", "select split_part(col1, col2, col3::int) is null from t1", new String[]{"t"}); testEval(schema, "t1", "1386577650.123,,1", "select split_part(col1, col2, col3::int) from t1", new String[]{"1386577650.123"}); @@ -390,10 +409,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select substr('abcdef', -1, 3) as col1 ", new String[]{"a"}); testSimpleEval("select substr('abcdef', -1, 1) as col1 ", new String[]{""}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", ",abcdef,3.14", "select substr(lower(col2), 2, 3) from table1", new String[]{"bcd"}); } @@ -433,10 +453,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select locate('abcdef', 'a', -1) as col1 ", new String[]{"0"}); testSimpleEval("select locate('abcdef', 'a', -5) as col1 ", new String[]{"0"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", ",abcdef,3.14", "select locate(col2, 'cd') from table1", new String[]{"3"}); testEval(schema, "table1", ",abcdef,3.14", "select locate(col2, 'cd', 1) from table1", new String[]{"3"}); testEval(schema, "table1", ",abcdef,3.14", "select locate(col2, 'cd', 4) from table1", new String[]{"0"}); @@ -451,10 +472,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { public void testBitLength() throws TajoException { testSimpleEval("select bit_length('123456') as col1 ", new String[]{"48"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", "ABC,DEF,3.14", "select bit_length(lower(col1) || lower(col2)) from table1", new String[]{"48"}); } @@ -467,10 +489,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select strpos('ì¼ì´ì¼ì¬ì¤ì¡','ì¼ì¬') as col1 ", new String[]{"3"}); testSimpleEval("select strpos('ì¼ì´ì¼ì¬ì¤ì¡','ì¼ì´ì¼') as col1 ", new String[]{"1"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", "ABCDEF,HIJKLMN,3.14", "select strpos(lower(col1) || lower(col2), 'fh') from table1", new String[]{"6"}); } @@ -483,10 +506,11 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select strposb('ì¼ì´ì¼ì¬ì¤ì¡','ì¼ì¬') as col1 ", new String[]{"7"}); //utf8 1 korean word = 3 chars testSimpleEval("select strposb('ì¼ì´ì¼ì¬ì¤ì¡','ì¼ì¬ì¼') as col1 ", new String[]{"0"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); - schema.addColumn("col3", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .add("col3", TEXT) + .build(); testEval(schema, "table1", "ABCDEF,HIJKLMN,3.14", "select strposb(lower(col1) || lower(col2), 'fh') from table1", new String[]{"6"}); } @@ -501,8 +525,9 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { public void testAscii() throws TajoException { testSimpleEval("select ascii('abc') as col1 ", new String[]{"97"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .build(); testEval(schema, "table1", "abc", "select ascii(col1) from table1", new String[]{"97"}); testEval(schema, "table1", "12", "select ascii(col1) from table1", @@ -517,8 +542,8 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select chr(50) as col1 ", new String[]{"2"}); testSimpleEval("select chr(64) as col1 ", new String[]{"@"}); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", INT4); + Schema schema = SchemaBuilder.builder() + .add("col1", INT4).build(); testEval(schema, "table1", "65", "select chr(col1) from table1", new String[]{"A"}); testEval(schema, "table1", "66", "select chr(col1) from table1", new String[]{"B"}); testEval(schema, "table1", "52512", "select chr(col1) from table1", new String[]{"ì´ "}); @@ -588,9 +613,10 @@ public class TestStringOperatorsAndFunctions extends ExprTestBase { testSimpleEval("select find_in_set('ë¸ê¸°','ì¬ê³¼,ë°°,ì¥ìì,ê°ì,ë¸ê¸°,ìë°') as col1 ", new String[]{"5"}); // null test - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", TEXT); - schema.addColumn("col2", TEXT); + Schema schema = SchemaBuilder.builder() + .add("col1", TEXT) + .add("col2", TEXT) + .build(); testEval(schema, "table1", "|crt,c,cr,c,def", "select find_in_set(col1, col2) is null from table1", new String[]{"t"}, '|', true); testEval(schema, "table1", "cr|", "select find_in_set(col1, col2) is null from table1", http://git-wip-us.apache.org/repos/asf/tajo/blob/4aef83a3/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestUserDefinedFunctions.java ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestUserDefinedFunctions.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestUserDefinedFunctions.java index f66c6bb..4150289 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestUserDefinedFunctions.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/function/TestUserDefinedFunctions.java @@ -19,7 +19,7 @@ package org.apache.tajo.engine.function; import org.apache.tajo.catalog.Schema; -import org.apache.tajo.catalog.SchemaFactory; +import org.apache.tajo.catalog.SchemaBuilder; import org.apache.tajo.datum.NullDatum; import org.apache.tajo.engine.eval.ExprTestBase; import org.apache.tajo.exception.TajoException; @@ -36,8 +36,9 @@ public class TestUserDefinedFunctions extends ExprTestBase { @Test public void testNullHandling2() throws TajoException { - Schema schema = SchemaFactory.newV1(); - schema.addColumn("col1", BOOLEAN); + Schema schema = SchemaBuilder.builder() + .add("col1", BOOLEAN) + .build(); testEval(schema, "table1", "", "select null_test() from table1", new String[]{NullDatum.get().toString()}); } http://git-wip-us.apache.org/repos/asf/tajo/blob/4aef83a3/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestJoinOrderAlgorithm.java ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestJoinOrderAlgorithm.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestJoinOrderAlgorithm.java index ce5a6ab..bd9c5f9 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestJoinOrderAlgorithm.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestJoinOrderAlgorithm.java @@ -28,12 +28,15 @@ import org.apache.tajo.catalog.*; import org.apache.tajo.catalog.statistics.TableStats; import org.apache.tajo.common.TajoDataTypes.Type; import org.apache.tajo.engine.function.FunctionLoader; -import org.apache.tajo.parser.sql.SQLAnalyzer; import org.apache.tajo.engine.query.QueryContext; +import org.apache.tajo.parser.sql.SQLAnalyzer; import org.apache.tajo.plan.LogicalOptimizer; import org.apache.tajo.plan.LogicalPlan; import org.apache.tajo.plan.LogicalPlanner; -import org.apache.tajo.plan.logical.*; +import org.apache.tajo.plan.logical.JoinNode; +import org.apache.tajo.plan.logical.LogicalNode; +import org.apache.tajo.plan.logical.NodeType; +import org.apache.tajo.plan.logical.ScanNode; import org.apache.tajo.plan.util.PlannerUtil; import org.apache.tajo.storage.TablespaceManager; import org.apache.tajo.unit.StorageUnit; @@ -45,7 +48,8 @@ import org.junit.Test; import static org.apache.tajo.TajoConstants.DEFAULT_DATABASE_NAME; import static org.apache.tajo.TajoConstants.DEFAULT_TABLESPACE_NAME; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; public class TestJoinOrderAlgorithm { @@ -67,19 +71,22 @@ public class TestJoinOrderAlgorithm { catalog.createFunction(funcDesc); } - Schema schema = SchemaFactory.newV1(); - schema.addColumn("name", Type.TEXT); - schema.addColumn("empid", Type.INT4); - schema.addColumn("deptname", Type.TEXT); + Schema schema = SchemaBuilder.builder() + .add("name", Type.TEXT) + .add("empid", Type.INT4) + .add("deptname", Type.TEXT) + .build(); - Schema schema2 = SchemaFactory.newV1(); - schema2.addColumn("deptname", Type.TEXT); - schema2.addColumn("manager", Type.TEXT); + Schema schema2 = SchemaBuilder.builder() + .add("deptname", Type.TEXT) + .add("manager", Type.TEXT) + .build(); - Schema schema3 = SchemaFactory.newV1(); - schema3.addColumn("deptname", Type.TEXT); - schema3.addColumn("score", Type.INT4); - schema3.addColumn("phone", Type.INT4); + Schema schema3 = SchemaBuilder.builder() + .add("deptname", Type.TEXT) + .add("score", Type.INT4) + .add("phone", Type.INT4) + .build(); TableMeta meta = CatalogUtil.newTableMeta("TEXT"); TableDesc people = new TableDesc( @@ -101,9 +108,10 @@ public class TestJoinOrderAlgorithm { /////////////////////////////////////////////////////////////////////////// // creating table for overflow in JoinOrderOptimizer. - Schema schema4 = SchemaFactory.newV1(); - schema4.addColumn("deptname", Type.TEXT); - schema4.addColumn("manager", Type.TEXT); + Schema schema4 = SchemaBuilder.builder() + .add("deptname", Type.TEXT) + .add("manager", Type.TEXT) + .build(); // Set store type as FAKEFILE to prevent auto update of physical information in LogicalPlanner.updatePhysicalInfo() TableMeta largeTableMeta = CatalogUtil.newTableMeta("FAKEFILE"); TableDesc largeDept; http://git-wip-us.apache.org/repos/asf/tajo/blob/4aef83a3/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java index 56ef78b..e57921d 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java @@ -27,9 +27,9 @@ import org.apache.tajo.catalog.proto.CatalogProtos.FunctionType; import org.apache.tajo.common.TajoDataTypes.Type; import org.apache.tajo.engine.function.FunctionLoader; import org.apache.tajo.engine.function.builtin.SumInt; -import org.apache.tajo.parser.sql.SQLAnalyzer; import org.apache.tajo.engine.query.QueryContext; import org.apache.tajo.exception.TajoException; +import org.apache.tajo.parser.sql.SQLAnalyzer; import org.apache.tajo.plan.LogicalOptimizer; import org.apache.tajo.plan.LogicalPlan; import org.apache.tajo.plan.LogicalPlanner; @@ -65,19 +65,22 @@ public class TestLogicalOptimizer { catalog.createFunction(funcDesc); } - Schema schema = SchemaFactory.newV1(); - schema.addColumn("name", Type.TEXT); - schema.addColumn("empid", Type.INT4); - schema.addColumn("deptname", Type.TEXT); - - Schema schema2 = SchemaFactory.newV1(); - schema2.addColumn("deptname", Type.TEXT); - schema2.addColumn("manager", Type.TEXT); - - Schema schema3 = SchemaFactory.newV1(); - schema3.addColumn("deptname", Type.TEXT); - schema3.addColumn("score", Type.INT4); - schema3.addColumn("phone", Type.INT4); + Schema schema = SchemaBuilder.builder() + .add("name", Type.TEXT) + .add("empid", Type.INT4) + .add("deptname", Type.TEXT) + .build(); + + Schema schema2 = SchemaBuilder.builder() + .add("deptname", Type.TEXT) + .add("manager", Type.TEXT) + .build(); + + Schema schema3 = SchemaBuilder.builder() + .add("deptname", Type.TEXT) + .add("score", Type.INT4) + .add("phone", Type.INT4) + .build(); TableMeta meta = CatalogUtil.newTableMeta("TEXT"); TableDesc people = new TableDesc( http://git-wip-us.apache.org/repos/asf/tajo/blob/4aef83a3/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java index d09ef77..d1c8384 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java @@ -86,18 +86,21 @@ public class TestLogicalPlanner { catalog.createFunction(funcDesc); } - Schema schema = SchemaFactory.newV1(); - schema.addColumn("name", Type.TEXT); - schema.addColumn("empid", Type.INT4); - schema.addColumn("deptname", Type.TEXT); - - Schema schema2 = SchemaFactory.newV1(); - schema2.addColumn("deptname", Type.TEXT); - schema2.addColumn("manager", Type.TEXT); - - Schema schema3 = SchemaFactory.newV1(); - schema3.addColumn("deptname", Type.TEXT); - schema3.addColumn("score", Type.INT4); + Schema schema = SchemaBuilder.builder() + .add("name", Type.TEXT) + .add("empid", Type.INT4) + .add("deptname", Type.TEXT) + .build(); + + Schema schema2 = SchemaBuilder.builder() + .add("deptname", Type.TEXT) + .add("manager", Type.TEXT) + .build(); + + Schema schema3 = SchemaBuilder.builder() + .add("deptname", Type.TEXT) + .add("score", Type.INT4) + .build(); TableMeta meta = CatalogUtil.newTableMeta("TEXT"); TableDesc people = new TableDesc( @@ -222,11 +225,12 @@ public class TestLogicalPlanner { testJsonSerDerObject(root); testCloneLogicalNode(root); - Schema expectedSchema = SchemaFactory.newV1(); - expectedSchema.addColumn("name", Type.TEXT); - expectedSchema.addColumn("empid", Type.INT4); - expectedSchema.addColumn("deptname", Type.TEXT); - expectedSchema.addColumn("manager", Type.TEXT); + Schema expectedSchema = SchemaBuilder.builder() + .add("name", Type.TEXT) + .add("empid", Type.INT4) + .add("deptname", Type.TEXT) + .add("manager", Type.TEXT) + .build(); for (int i = 0; i < expectedSchema.size(); i++) { Column found = root.getOutSchema().getColumn(expectedSchema.getColumn(i).getSimpleName()); assertEquals(expectedSchema.getColumn(i).getDataType(), found.getDataType()); @@ -251,7 +255,9 @@ public class TestLogicalPlanner { testJsonSerDerObject(plan); testCloneLogicalNode(plan); - expectedSchema.addColumn("score", Type.INT4); + expectedSchema = SchemaBuilder.builder().addAll(expectedSchema.getRootColumns()) + .add("score", Type.INT4) + .build(); assertSchema(expectedSchema, plan.getOutSchema()); assertEquals(NodeType.ROOT, plan.getType()); @@ -291,10 +297,11 @@ public class TestLogicalPlanner { static Schema expectedJoinSchema; static { - expectedJoinSchema = SchemaFactory.newV1(); - expectedJoinSchema.addColumn("name", Type.TEXT); - expectedJoinSchema.addColumn("deptname", Type.TEXT); - expectedJoinSchema.addColumn("score", Type.INT4); + expectedJoinSchema = SchemaBuilder.builder() + .add("name", Type.TEXT) + .add("deptname", Type.TEXT) + .add("score", Type.INT4) + .build(); } @Test @@ -1290,18 +1297,20 @@ public class TestLogicalPlanner { String tableName = CatalogUtil.normalizeIdentifier("partitioned_table"); String qualifiedTableName = CatalogUtil.buildFQName(DEFAULT_DATABASE_NAME, tableName); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("id", Type.INT4) - .addColumn("name", Type.TEXT) - .addColumn("age", Type.INT4) - .addColumn("score", Type.FLOAT8); + Schema schema = SchemaBuilder.builder() + .add("id", Type.INT4) + .add("name", Type.TEXT) + .add("age", Type.INT4) + .add("score", Type.FLOAT8) + .build(); KeyValueSet opts = new KeyValueSet(); opts.set("file.delimiter", ","); - Schema partSchema = SchemaFactory.newV1(); - partSchema.addColumn("id", Type.INT4); - partSchema.addColumn("name", Type.TEXT); + Schema partSchema = SchemaBuilder.builder() + .add("id", Type.INT4) + .add("name", Type.TEXT) + .build(); PartitionMethodDesc partitionMethodDesc = new PartitionMethodDesc(DEFAULT_DATABASE_NAME, tableName, http://git-wip-us.apache.org/repos/asf/tajo/blob/4aef83a3/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java ---------------------------------------------------------------------- diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java index 6479124..92557f1 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java @@ -72,18 +72,18 @@ public class TestPlannerUtil { catalog.createTablespace(DEFAULT_TABLESPACE_NAME, "hdfs://localhost:1234/warehouse"); catalog.createDatabase(DEFAULT_DATABASE_NAME, DEFAULT_TABLESPACE_NAME); - Schema schema = SchemaFactory.newV1(); - schema.addColumn("name", Type.TEXT); - schema.addColumn("empid", CatalogUtil.newSimpleDataType(Type.INT4)); - schema.addColumn("deptname", Type.TEXT); + Schema schema = SchemaBuilder.builder() + .add("name", Type.TEXT) + .add("empid", CatalogUtil.newSimpleDataType(Type.INT4)) + .add("deptname", Type.TEXT).build(); - Schema schema2 = SchemaFactory.newV1(); - schema2.addColumn("deptname", Type.TEXT); - schema2.addColumn("manager", Type.TEXT); + Schema schema2 = SchemaBuilder.builder() + .add("deptname", Type.TEXT) + .add("manager", Type.TEXT).build(); - Schema schema3 = SchemaFactory.newV1(); - schema3.addColumn("deptname", Type.TEXT); - schema3.addColumn("score", CatalogUtil.newSimpleDataType(Type.INT4)); + Schema schema3 = SchemaBuilder.builder() + .add("deptname", Type.TEXT) + .add("score", CatalogUtil.newSimpleDataType(Type.INT4)).build(); TableMeta meta = CatalogUtil.newTableMeta("TEXT"); TableDesc people = new TableDesc( @@ -188,12 +188,12 @@ public class TestPlannerUtil { @Test public final void testGetJoinKeyPairs() { - Schema outerSchema = SchemaFactory.newV1(); - outerSchema.addColumn("employee.id1", CatalogUtil.newSimpleDataType(Type.INT4)); - outerSchema.addColumn("employee.id2", CatalogUtil.newSimpleDataType(Type.INT4)); - Schema innerSchema = SchemaFactory.newV1(); - innerSchema.addColumn("people.fid1", CatalogUtil.newSimpleDataType(Type.INT4)); - innerSchema.addColumn("people.fid2", CatalogUtil.newSimpleDataType(Type.INT4)); + Schema outerSchema = SchemaBuilder.builder() + .add("employee.id1", CatalogUtil.newSimpleDataType(Type.INT4)) + .add("employee.id2", CatalogUtil.newSimpleDataType(Type.INT4)).build(); + Schema innerSchema = SchemaBuilder.builder() + .add("people.fid1", CatalogUtil.newSimpleDataType(Type.INT4)) + .add("people.fid2", CatalogUtil.newSimpleDataType(Type.INT4)).build(); FieldEval f1 = new FieldEval("employee.id1", CatalogUtil.newSimpleDataType(Type.INT4)); FieldEval f2 = new FieldEval("people.fid1", CatalogUtil.newSimpleDataType(Type.INT4)); @@ -250,12 +250,14 @@ public class TestPlannerUtil { @Test public final void testGetSortKeysFromJoinQual() { - Schema outerSchema = SchemaFactory.newV1(); - outerSchema.addColumn("employee.id1", CatalogUtil.newSimpleDataType(Type.INT4)); - outerSchema.addColumn("employee.id2", CatalogUtil.newSimpleDataType(Type.INT4)); - Schema innerSchema = SchemaFactory.newV1(); - innerSchema.addColumn("people.fid1", CatalogUtil.newSimpleDataType(Type.INT4)); - innerSchema.addColumn("people.fid2", CatalogUtil.newSimpleDataType(Type.INT4)); + Schema outerSchema = SchemaBuilder.builder() + .add("employee.id1", CatalogUtil.newSimpleDataType(Type.INT4)) + .add("employee.id2", CatalogUtil.newSimpleDataType(Type.INT4)) + .build(); + Schema innerSchema = SchemaBuilder.builder() + .add("people.fid1", CatalogUtil.newSimpleDataType(Type.INT4)) + .add("people.fid2", CatalogUtil.newSimpleDataType(Type.INT4)) + .build(); FieldEval f1 = new FieldEval("employee.id1", CatalogUtil.newSimpleDataType(Type.INT4)); FieldEval f2 = new FieldEval("people.fid1", CatalogUtil.newSimpleDataType(Type.INT4)); @@ -286,12 +288,14 @@ public class TestPlannerUtil { @Test public final void testComparatorsFromJoinQual() { - Schema outerSchema = SchemaFactory.newV1(); - outerSchema.addColumn("employee.id1", CatalogUtil.newSimpleDataType(Type.INT4)); - outerSchema.addColumn("employee.id2", CatalogUtil.newSimpleDataType(Type.INT4)); - Schema innerSchema = SchemaFactory.newV1(); - innerSchema.addColumn("people.fid1", CatalogUtil.newSimpleDataType(Type.INT4)); - innerSchema.addColumn("people.fid2", CatalogUtil.newSimpleDataType(Type.INT4)); + Schema outerSchema = SchemaBuilder.builder() + .add("employee.id1", CatalogUtil.newSimpleDataType(Type.INT4)) + .add("employee.id2", CatalogUtil.newSimpleDataType(Type.INT4)) + .build(); + Schema innerSchema = SchemaBuilder.builder() + .add("people.fid1", CatalogUtil.newSimpleDataType(Type.INT4)) + .add("people.fid2", CatalogUtil.newSimpleDataType(Type.INT4)) + .build(); FieldEval f1 = new FieldEval("employee.id1", CatalogUtil.newSimpleDataType(Type.INT4)); FieldEval f2 = new FieldEval("people.fid1", CatalogUtil.newSimpleDataType(Type.INT4));
