From 4c2d91f13033dd84faf72058d25ee600c2314a45 Mon Sep 17 00:00:00 2001 From: Hyunsik Choi Date: Mon, 17 Aug 2015 01:38:14 +0900 Subject: [PATCH 1/8] Change the language level and the test failure. --- pom.xml | 6 ++-- .../org/apache/tajo/catalog/DDLBuilder.java | 33 ++++++++++++------- tajo-project/pom.xml | 4 +-- 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/pom.xml b/pom.xml index 605160aef8..174bd1d280 100644 --- a/pom.xml +++ b/pom.xml @@ -73,7 +73,7 @@ UTF-8 UTF-8 - 0.9.0-SNAPSHOT + 0.12.0-SNAPSHOT ${basedir} @@ -119,8 +119,8 @@ maven-compiler-plugin 3.3 - 1.7 - 1.7 + 1.8 + 1.8 ${project.build.sourceEncoding} 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 292365496c..2bdb7728cf 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 @@ -21,7 +21,9 @@ import org.apache.tajo.catalog.partition.PartitionMethodDesc; import org.apache.tajo.util.KeyValueSet; -import java.util.Map; +import java.util.Comparator; +import java.util.Map.Entry; +import java.util.function.Consumer; public class DDLBuilder { @@ -112,19 +114,28 @@ private static void buildUsingClause(StringBuilder sb, TableMeta meta) { sb.append(" USING " + CatalogUtil.getBackwardCompitablityStoreType(meta.getStoreType())); } - private static void buildWithClause(StringBuilder sb, TableMeta meta) { + private static void buildWithClause(final StringBuilder sb, TableMeta meta) { KeyValueSet options = meta.getOptions(); if (options != null && options.size() > 0) { - boolean first = true; + sb.append(" WITH ("); - for (Map.Entry entry : meta.getOptions().getAllKeyValus().entrySet()) { - if (first) { - first = false; - } else { - sb.append(", "); - } - sb.append("'").append(entry.getKey()).append("'='").append(entry.getValue()).append("'"); - } + + meta.getOptions().getAllKeyValus().entrySet().stream() + .sorted(Comparator.comparing(e -> e.getKey())) // sort them for a determined table property string. + .forEach(new Consumer>() { + boolean first = true; + + @Override + public void accept(Entry e) { + if (first) { + first = false; + } else { + sb.append(", "); + } + sb.append("'").append(e.getKey()).append("'='").append(e.getValue()).append("'"); + } + }); + sb.append(")"); } } diff --git a/tajo-project/pom.xml b/tajo-project/pom.xml index 3303c2a90a..b8e0279039 100644 --- a/tajo-project/pom.xml +++ b/tajo-project/pom.xml @@ -385,8 +385,8 @@ maven-compiler-plugin 3.3 - 1.7 - 1.7 + 1.8 + 1.8 ${project.build.sourceEncoding} From 131ff0105663d919c9871af3e4fd6821fb688ef9 Mon Sep 17 00:00:00 2001 From: Hyunsik Choi Date: Mon, 17 Aug 2015 01:44:21 +0900 Subject: [PATCH 2/8] Changed jdk version in .travis.yml. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 671a31f0e3..59e2b7efa2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,7 @@ git: depth: 150 jdk: - - oraclejdk7 + - oraclejdk8 env: PATH=$PATH:$HOME/local/bin From 58f8a5f3c9849014c19b072a444b9ed9af30fa1d Mon Sep 17 00:00:00 2001 From: Hyunsik Choi Date: Mon, 17 Aug 2015 11:03:43 +0900 Subject: [PATCH 3/8] Fix missed version enforcer. --- pom.xml | 2 +- tajo-project/pom.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 174bd1d280..515f939b7d 100644 --- a/pom.xml +++ b/pom.xml @@ -134,7 +134,7 @@ [3.0.2,) - 1.7 + 1.8 diff --git a/tajo-project/pom.xml b/tajo-project/pom.xml index b8e0279039..bea8f1188a 100644 --- a/tajo-project/pom.xml +++ b/tajo-project/pom.xml @@ -400,7 +400,7 @@ [3.0.2,) - 1.7 + 1.8 @@ -611,8 +611,8 @@ maven-compiler-plugin 3.3 - 1.7 - 1.7 + 1.8 + 1.8 ${project.build.sourceEncoding} From dbf379414b5ad4ddfdcc620bbee830fc8fd33106 Mon Sep 17 00:00:00 2001 From: Hyunsik Choi Date: Mon, 17 Aug 2015 13:01:26 +0900 Subject: [PATCH 4/8] Fix compilation errors. --- .../java/org/apache/tajo/storage/NullTuple.java | 2 +- .../main/java/org/apache/tajo/storage/Tuple.java | 2 +- .../main/java/org/apache/tajo/storage/VTuple.java | 2 +- .../org/apache/tajo/engine/planner/Projector.java | 1 + .../tajo/engine/planner/physical/KeyTuple.java | 4 ++-- .../apache/tajo/master/exec/QueryExecutor.java | 1 + .../java/org/apache/tajo/jdbc/MetaDataTuple.java | 2 +- .../org/apache/tajo/plan/LogicalOptimizer.java | 6 +++--- .../org/apache/tajo/plan/expr/FunctionEval.java | 3 ++- .../GreedyHeuristicJoinOrderAlgorithm.java | 15 +++++++++------ .../java/org/apache/tajo/storage/FrameTuple.java | 2 +- .../java/org/apache/tajo/storage/LazyTuple.java | 2 +- .../java/org/apache/tajo/storage/Tablespace.java | 2 +- .../apache/tajo/storage/TablespaceManager.java | 8 ++++---- .../org/apache/tajo/tuple/offheap/HeapTuple.java | 2 +- .../apache/tajo/tuple/offheap/UnSafeTuple.java | 2 +- 16 files changed, 31 insertions(+), 25 deletions(-) diff --git a/tajo-common/src/main/java/org/apache/tajo/storage/NullTuple.java b/tajo-common/src/main/java/org/apache/tajo/storage/NullTuple.java index 967efce4d4..b0630dbebe 100644 --- a/tajo-common/src/main/java/org/apache/tajo/storage/NullTuple.java +++ b/tajo-common/src/main/java/org/apache/tajo/storage/NullTuple.java @@ -91,7 +91,7 @@ public void clearOffset() { } @Override - public void put(int fieldId, Tuple tuple) { + public void insertTuple(int fieldId, Tuple tuple) { throw new UnsupportedOperationException(); } diff --git a/tajo-common/src/main/java/org/apache/tajo/storage/Tuple.java b/tajo-common/src/main/java/org/apache/tajo/storage/Tuple.java index f4a61e60de..728f5a52fe 100644 --- a/tajo-common/src/main/java/org/apache/tajo/storage/Tuple.java +++ b/tajo-common/src/main/java/org/apache/tajo/storage/Tuple.java @@ -32,7 +32,7 @@ public interface Tuple extends Cloneable { boolean isBlankOrNull(int fieldid); - void put(int fieldId, Tuple tuple); + void insertTuple(int fieldId, Tuple tuple); void put(int fieldId, Datum value); diff --git a/tajo-common/src/main/java/org/apache/tajo/storage/VTuple.java b/tajo-common/src/main/java/org/apache/tajo/storage/VTuple.java index 90bb7fa39e..3911135344 100644 --- a/tajo-common/src/main/java/org/apache/tajo/storage/VTuple.java +++ b/tajo-common/src/main/java/org/apache/tajo/storage/VTuple.java @@ -67,7 +67,7 @@ public boolean isBlankOrNull(int fieldid) { } @Override - public void put(int fieldId, Tuple tuple) { + public void insertTuple(int fieldId, Tuple tuple) { this.put(fieldId, tuple.asDatum(fieldId)); } diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java index ba8ec32db9..620c5f4d17 100644 --- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java +++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java @@ -20,6 +20,7 @@ import org.apache.tajo.SessionVars; import org.apache.tajo.catalog.Schema; +import org.apache.tajo.datum.Datum; import org.apache.tajo.plan.Target; import org.apache.tajo.plan.expr.EvalNode; import org.apache.tajo.plan.util.PlannerUtil; diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/KeyTuple.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/KeyTuple.java index 0c4267e913..7ee36e31e4 100644 --- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/KeyTuple.java +++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/KeyTuple.java @@ -46,8 +46,8 @@ public KeyTuple(Datum[] datums) { } @Override - public void put(int fieldId, Tuple tuple) { - super.put(fieldId, tuple); + public void insertTuple(int fieldId, Tuple tuple) { + super.insertTuple(fieldId, tuple); updateHashCode(); } 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 bd5d69651a..58cc2df1a8 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 @@ -26,6 +26,7 @@ import org.apache.hadoop.fs.Path; import org.apache.tajo.*; import org.apache.tajo.catalog.*; +import org.apache.tajo.datum.Datum; import org.apache.tajo.exception.DuplicateIndexException; import org.apache.tajo.catalog.proto.CatalogProtos; import org.apache.tajo.catalog.statistics.TableStats; diff --git a/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/MetaDataTuple.java b/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/MetaDataTuple.java index 28b6b3c63c..b1d96f3329 100644 --- a/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/MetaDataTuple.java +++ b/tajo-jdbc/src/main/java/org/apache/tajo/jdbc/MetaDataTuple.java @@ -62,7 +62,7 @@ public boolean isBlankOrNull(int fieldid) { } @Override - public void put(int fieldId, Tuple tuple) { + public void insertTuple(int fieldId, Tuple tuple) { this.put(fieldId, tuple.asDatum(fieldId)); } diff --git a/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalOptimizer.java b/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalOptimizer.java index 96617d1946..24257907c2 100644 --- a/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalOptimizer.java +++ b/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalOptimizer.java @@ -438,11 +438,11 @@ public LogicalNode visitJoin(CostContext joinGraphContext, LogicalPlan plan, Log } if (joinNode.getLeftChild() instanceof RelationNode) { - joinGraphContext.accumulatedCost = getCost(joinNode.getLeftChild()) * getCost(joinNode.getRightChild()) - * filterFactor; + joinGraphContext.accumulatedCost = getCost((RelationNode)joinNode.getLeftChild()) * + getCost((LogicalNode)joinNode.getRightChild())* filterFactor; } else { joinGraphContext.accumulatedCost = joinGraphContext.accumulatedCost + - (joinGraphContext.accumulatedCost * getCost(joinNode.getRightChild()) * filterFactor); + (joinGraphContext.accumulatedCost * getCost((RelationNode)joinNode.getRightChild()) * filterFactor); } return joinNode; diff --git a/tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java b/tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java index dd9121bd5a..e4bb46cffe 100644 --- a/tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java +++ b/tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java @@ -25,6 +25,7 @@ import org.apache.tajo.catalog.Schema; import org.apache.tajo.common.TajoDataTypes; import org.apache.tajo.common.TajoDataTypes.DataType; +import org.apache.tajo.datum.Datum; import org.apache.tajo.storage.Tuple; import org.apache.tajo.storage.VTuple; import org.apache.tajo.util.TUtil; @@ -57,7 +58,7 @@ public EvalNode bind(EvalContext evalContext, Schema schema) { protected final Tuple evalParams(Tuple tuple) { for (int i = 0; i < argEvals.length; i++) { - params.put(i, argEvals[i].eval(tuple)); + params.put(i, (Datum)argEvals[i].eval(tuple)); } return params; } diff --git a/tajo-plan/src/main/java/org/apache/tajo/plan/joinorder/GreedyHeuristicJoinOrderAlgorithm.java b/tajo-plan/src/main/java/org/apache/tajo/plan/joinorder/GreedyHeuristicJoinOrderAlgorithm.java index 79840244c5..28b257bd65 100644 --- a/tajo-plan/src/main/java/org/apache/tajo/plan/joinorder/GreedyHeuristicJoinOrderAlgorithm.java +++ b/tajo-plan/src/main/java/org/apache/tajo/plan/joinorder/GreedyHeuristicJoinOrderAlgorithm.java @@ -440,7 +440,7 @@ public static double getCost(LogicalNode node) { case PROJECTION: ProjectionNode projectionNode = (ProjectionNode) node; - cost = getCost(projectionNode.getChild()); + cost = getCost((JoinVertex) projectionNode.getChild()); break; case JOIN: @@ -449,15 +449,17 @@ public static double getCost(LogicalNode node) { if (joinNode.hasJoinQual()) { filterFactor = Math.pow(DEFAULT_SELECTION_FACTOR, AlgebraicUtil.toConjunctiveNormalFormArray(joinNode.getJoinQual()).length); - cost = getCost(joinNode.getLeftChild()) * getCost(joinNode.getRightChild()) * filterFactor; + cost = getCost((LogicalNode)joinNode.getLeftChild()) * + getCost((LogicalNode)joinNode.getRightChild()) * filterFactor; } else { - cost = Math.pow(getCost(joinNode.getLeftChild()) * getCost(joinNode.getRightChild()), 2); + cost = Math.pow(getCost((LogicalNode)joinNode.getLeftChild()) * + getCost((LogicalNode)joinNode.getRightChild()), 2); } break; case SELECTION: SelectionNode selectionNode = (SelectionNode) node; - cost = getCost(selectionNode.getChild()) * + cost = getCost((LogicalNode)selectionNode.getChild()) * Math.pow(DEFAULT_SELECTION_FACTOR, AlgebraicUtil.toConjunctiveNormalFormArray(selectionNode.getQual()).length); break; @@ -477,7 +479,8 @@ public static double getCost(LogicalNode node) { case UNION: UnionNode unionNode = (UnionNode) node; - cost = getCost(unionNode.getLeftChild()) + getCost(unionNode.getRightChild()); + cost = getCost((LogicalNode)unionNode.getLeftChild()) + + getCost((LogicalNode)unionNode.getRightChild()); break; case EXCEPT: @@ -487,7 +490,7 @@ public static double getCost(LogicalNode node) { default: // all binary operators (join, union, except, and intersect) are handled in the above cases. // So, we need to handle only unary nodes in default. - cost = getCost(((UnaryNode) node).getChild()); + cost = getCost((LogicalNode)((UnaryNode) node).getChild()); break; } diff --git a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/FrameTuple.java b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/FrameTuple.java index de39d0893a..2258495665 100644 --- a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/FrameTuple.java +++ b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/FrameTuple.java @@ -95,7 +95,7 @@ public boolean isBlankOrNull(int fieldid) { } @Override - public void put(int fieldId, Tuple tuple) { + public void insertTuple(int fieldId, Tuple tuple) { throw new UnsupportedException(); } diff --git a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/LazyTuple.java b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/LazyTuple.java index d4597fa547..9aec9d9e7d 100644 --- a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/LazyTuple.java +++ b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/LazyTuple.java @@ -82,7 +82,7 @@ public boolean isBlankOrNull(int fieldid) { } @Override - public void put(int fieldId, Tuple tuple) { + public void insertTuple(int fieldId, Tuple tuple) { this.put(fieldId, tuple.asDatum(fieldId)); } diff --git a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/Tablespace.java b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/Tablespace.java index 0094310998..e7c1877a74 100644 --- a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/Tablespace.java +++ b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/Tablespace.java @@ -215,7 +215,7 @@ public List getSplits(String fragmentId, TableDesc tableDesc) throws I * @throws java.io.IOException */ public Scanner getScanner(TableMeta meta, Schema schema, FragmentProto fragment, Schema target) throws IOException { - return getScanner(meta, schema, FragmentConvertor.convert(conf, fragment), target); + return getScanner(meta, schema, (Fragment)FragmentConvertor.convert(conf, fragment), target); } /** diff --git a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/TablespaceManager.java b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/TablespaceManager.java index 26af769ccf..ba8d1bfd20 100644 --- a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/TablespaceManager.java +++ b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/TablespaceManager.java @@ -315,7 +315,7 @@ public Iterable getSupportSchemes() { public static Optional get(@Nullable String uri) { if (uri == null || uri.isEmpty()) { - return (Optional) Optional.of(getDefault()); + return Optional.of(getDefault()); } Tablespace lastOne = null; @@ -327,7 +327,7 @@ public static Optional get(@Nullable String uri) { lastOne = entry.getValue(); } } - return (Optional) Optional.fromNullable(lastOne); + return Optional.fromNullable((T) lastOne); } /** @@ -339,9 +339,9 @@ public static Optional get(@Nullable String uri) { */ public static Optional get(@Nullable URI uri) { if (uri == null) { - return (Optional) Optional.of(getDefault()); + return Optional.of(getDefault()); } else { - return (Optional) get(uri.toString()); + return get(uri.toString()); } } diff --git a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/tuple/offheap/HeapTuple.java b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/tuple/offheap/HeapTuple.java index 97be316bdc..29426209f2 100644 --- a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/tuple/offheap/HeapTuple.java +++ b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/tuple/offheap/HeapTuple.java @@ -99,7 +99,7 @@ public boolean isBlankOrNull(int fieldid) { } @Override - public void put(int fieldId, Tuple tuple) { + public void insertTuple(int fieldId, Tuple tuple) { throw new UnsupportedException("UnSafeTuple does not support put(int, Tuple)."); } diff --git a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/tuple/offheap/UnSafeTuple.java b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/tuple/offheap/UnSafeTuple.java index 167519b349..6c83f4eb88 100644 --- a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/tuple/offheap/UnSafeTuple.java +++ b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/tuple/offheap/UnSafeTuple.java @@ -135,7 +135,7 @@ public void put(int fieldId, Datum value) { } @Override - public void put(int fieldId, Tuple tuple) { + public void insertTuple(int fieldId, Tuple tuple) { throw new UnsupportedException("UnSafeTuple does not support put(int, Tuple)."); } From 984e78c92537bf0a9608620ef489162499f7dae6 Mon Sep 17 00:00:00 2001 From: Hyunsik Choi Date: Tue, 22 Sep 2015 16:22:19 -0700 Subject: [PATCH 5/8] Fixed cast exception. --- .../tajo/engine/query/TestUnionQuery.java | 2 +- .../TestUnionQuery/testUnionAndFilter.result | 6 ++-- .../GreedyHeuristicJoinOrderAlgorithm.java | 2 +- tajo-storage/tajo-storage-pgsql/pom.xml | 4 +-- .../storage/pgsql/TestPgSQLQueryTests.java | 1 + .../TestPgSQLQueryTests/testTPCH_Q5.result | 36 +++++++++---------- 6 files changed, 26 insertions(+), 25 deletions(-) diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java index 5d1321a76e..ce2278278b 100644 --- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java +++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java @@ -692,7 +692,7 @@ public void testComplexUnion2() throws Exception { } @Test - @Option(withExplain = true) + @Option(withExplain = true, sort = true) @SimpleTest public void testUnionAndFilter() throws Exception { runSimpleTests(); diff --git a/tajo-core-tests/src/test/resources/results/TestUnionQuery/testUnionAndFilter.result b/tajo-core-tests/src/test/resources/results/TestUnionQuery/testUnionAndFilter.result index 8eb747b0cf..7ef21a8c6e 100644 --- a/tajo-core-tests/src/test/resources/results/TestUnionQuery/testUnionAndFilter.result +++ b/tajo-core-tests/src/test/resources/results/TestUnionQuery/testUnionAndFilter.result @@ -1,7 +1,7 @@ c_custkey,ret ------------------------------- -4,2866.83 1,711.56 -5,794.47 -3,7498.12 2,121.65 +3,7498.12 +4,2866.83 +5,794.47 diff --git a/tajo-plan/src/main/java/org/apache/tajo/plan/joinorder/GreedyHeuristicJoinOrderAlgorithm.java b/tajo-plan/src/main/java/org/apache/tajo/plan/joinorder/GreedyHeuristicJoinOrderAlgorithm.java index 11a953b406..14f3ef5cbb 100644 --- a/tajo-plan/src/main/java/org/apache/tajo/plan/joinorder/GreedyHeuristicJoinOrderAlgorithm.java +++ b/tajo-plan/src/main/java/org/apache/tajo/plan/joinorder/GreedyHeuristicJoinOrderAlgorithm.java @@ -437,7 +437,7 @@ public static double getCost(LogicalNode node) { case PROJECTION: ProjectionNode projectionNode = (ProjectionNode) node; - cost = getCost((JoinVertex) projectionNode.getChild()); + cost = getCost((LogicalNode) projectionNode.getChild()); break; case JOIN: diff --git a/tajo-storage/tajo-storage-pgsql/pom.xml b/tajo-storage/tajo-storage-pgsql/pom.xml index 50f3d88f40..cd5f2cc912 100644 --- a/tajo-storage/tajo-storage-pgsql/pom.xml +++ b/tajo-storage/tajo-storage-pgsql/pom.xml @@ -42,8 +42,8 @@ org.apache.maven.plugins maven-compiler-plugin - 1.7 - 1.7 + 1.8 + 1.8 ${project.build.sourceEncoding} diff --git a/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLQueryTests.java b/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLQueryTests.java index 5b52105cd7..5614bba156 100644 --- a/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLQueryTests.java +++ b/tajo-storage/tajo-storage-pgsql/src/test/java/org/apache/tajo/storage/pgsql/TestPgSQLQueryTests.java @@ -110,6 +110,7 @@ public void testTPCH_Q3() throws Exception { @SimpleTest @Test + @Option(sort = true) public void testTPCH_Q5() throws Exception { runSimpleTests(); } diff --git a/tajo-storage/tajo-storage-pgsql/src/test/resources/results/TestPgSQLQueryTests/testTPCH_Q5.result b/tajo-storage/tajo-storage-pgsql/src/test/resources/results/TestPgSQLQueryTests/testTPCH_Q5.result index 09f3cad66d..f249da0198 100644 --- a/tajo-storage/tajo-storage-pgsql/src/test/resources/results/TestPgSQLQueryTests/testTPCH_Q5.result +++ b/tajo-storage/tajo-storage-pgsql/src/test/resources/results/TestPgSQLQueryTests/testTPCH_Q5.result @@ -1,27 +1,27 @@ n_name,revenue ------------------------------- -ROMANIA,1798128.2 -SAUDI ARABIA,1798128.2 -IRAQ,1798128.2 -UNITED STATES,1798128.2 +ALGERIA,1798128.2 +ARGENTINA,1798128.2 +BRAZIL,1798128.2 +CANADA,1798128.2 +CHINA,1798128.2 EGYPT,1798128.2 ETHIOPIA,1798128.2 -ALGERIA,1798128.2 +FRANCE,1798128.2 +GERMANY,1798128.2 +INDIA,1798128.2 +INDONESIA,1798128.2 IRAN,1798128.2 -MOZAMBIQUE,1798128.2 +IRAQ,1798128.2 +JAPAN,1798128.2 +JORDAN,1798128.2 KENYA,1798128.2 -VIETNAM,1798128.2 MOROCCO,1798128.2 -GERMANY,1798128.2 +MOZAMBIQUE,1798128.2 PERU,1798128.2 -CANADA,1798128.2 -INDONESIA,1798128.2 -JAPAN,1798128.2 -INDIA,1798128.2 -CHINA,1798128.2 -FRANCE,1798128.2 -UNITED KINGDOM,1798128.2 -BRAZIL,1798128.2 +ROMANIA,1798128.2 RUSSIA,1798128.2 -JORDAN,1798128.2 -ARGENTINA,1798128.2 +SAUDI ARABIA,1798128.2 +UNITED KINGDOM,1798128.2 +UNITED STATES,1798128.2 +VIETNAM,1798128.2 From e29fa3db393c761ce480c0319b2b60d0e04f3722 Mon Sep 17 00:00:00 2001 From: Hyunsik Choi Date: Tue, 22 Sep 2015 16:59:34 -0700 Subject: [PATCH 6/8] add change log. --- CHANGES | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGES b/CHANGES index fb0c8a6dbd..db3f1fcc61 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,16 @@ Tajo Change Log Release 0.12.0 - unreleased + NEW FEATURES + + IMPROVEMENT + + TAJO-1768: Move Tajo into Java 8. + + BUG FIXES + + SUB TASKS + Release 0.11.0 - unreleased NEW FEATURES From 4879ae45c4e4aa97f6f527190b3dee32d7628616 Mon Sep 17 00:00:00 2001 From: Hyunsik Choi Date: Tue, 22 Sep 2015 22:23:19 -0700 Subject: [PATCH 7/8] Removed unused import. --- .../src/main/java/org/apache/tajo/engine/planner/Projector.java | 1 - 1 file changed, 1 deletion(-) diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java index 620c5f4d17..ba8ec32db9 100644 --- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java +++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java @@ -20,7 +20,6 @@ import org.apache.tajo.SessionVars; import org.apache.tajo.catalog.Schema; -import org.apache.tajo.datum.Datum; import org.apache.tajo.plan.Target; import org.apache.tajo.plan.expr.EvalNode; import org.apache.tajo.plan.util.PlannerUtil; From 2e7e92950181cc03cedea44eebc2307cd3332176 Mon Sep 17 00:00:00 2001 From: Hyunsik Choi Date: Tue, 22 Sep 2015 22:52:08 -0700 Subject: [PATCH 8/8] Fixed compilation error. --- .../src/main/java/org/apache/tajo/plan/util/ExprFinder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tajo-plan/src/main/java/org/apache/tajo/plan/util/ExprFinder.java b/tajo-plan/src/main/java/org/apache/tajo/plan/util/ExprFinder.java index 57a7644e97..8475e92602 100644 --- a/tajo-plan/src/main/java/org/apache/tajo/plan/util/ExprFinder.java +++ b/tajo-plan/src/main/java/org/apache/tajo/plan/util/ExprFinder.java @@ -44,14 +44,14 @@ static class Context { } public static Set finds(Expr expr, OpType type) { - return (Set) new HashSet<>(findsInOrder(expr, type)); + return new HashSet<>(findsInOrder(expr, type)); } public static List findsInOrder(Expr expr, OpType type) { Context context = new Context<>(type); ExprFinder finder = new ExprFinder(); try { - finder.visit(context, new Stack(), expr); + finder.visit(context, new Stack<>(), expr); } catch (TajoException e) { throw new TajoInternalError(e); }