You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by hy...@apache.org on 2014/05/20 20:46:13 UTC

[15/48] git commit: TAJO-805: Multiple constant in selection emits some columns. (Hyoungjun Kim via hyunsik)

TAJO-805: Multiple constant in selection emits some columns. (Hyoungjun Kim via hyunsik)


Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/064f18c2
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/064f18c2
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/064f18c2

Branch: refs/heads/window_function
Commit: 064f18c2d41905604086e3f29783169d7e3d2dda
Parents: 0fb823b
Author: Hyunsik Choi <hy...@apache.org>
Authored: Wed Apr 30 03:53:58 2014 +0900
Committer: Hyunsik Choi <hy...@apache.org>
Committed: Wed Apr 30 03:55:29 2014 +0900

----------------------------------------------------------------------
 CHANGES                                                     | 3 +++
 .../org/apache/tajo/engine/planner/NamedExprsManager.java   | 2 +-
 .../java/org/apache/tajo/engine/query/TestSelectQuery.java  | 9 +++++++++
 .../testSelectSameConstantsWithDifferentAliases2.sql        | 1 +
 .../testSelectSameConstantsWithDifferentAliases2.result     | 7 +++++++
 5 files changed, 21 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/064f18c2/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index cbfc292..689d93d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -19,6 +19,9 @@ Release 0.9.0 - unreleased
 
   BUG FIXES
 
+    TAJO-805: Multiple constant in selection emits some columns. 
+    (Hyoungjun Kim via hyunsik)
+
     TAJO-799: Local query without FROM throws IllegalArgumentException in 
     CLI. (Hyoungjun Kim via hyunsik)
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/064f18c2/tajo-core/src/main/java/org/apache/tajo/engine/planner/NamedExprsManager.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/NamedExprsManager.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/NamedExprsManager.java
index 2fcf3bc..710dad8 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/NamedExprsManager.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/NamedExprsManager.java
@@ -300,7 +300,7 @@ public class NamedExprsManager {
       // If the expression is already evaluated, it should use the FieldEval to access a field value.
       // But, if this reference name is not primary name, it cannot use the reference name.
       // It changes the given reference name to the primary name.
-      if (isEvaluated(normalized) && !isPrimaryName(refId, referenceName)) {
+      if (evalNode.getType() != EvalType.CONST && isEvaluated(normalized) && !isPrimaryName(refId, referenceName)) {
         return new Target(new FieldEval(getPrimaryName(refId),evalNode.getValueType()), referenceName);
       }
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/064f18c2/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java
index ca452b7..37a748c 100644
--- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java
+++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java
@@ -113,6 +113,15 @@ public class TestSelectQuery extends QueryTestCaseBase {
   }
 
   @Test
+  public final void testSelectSameConstantsWithDifferentAliases2() throws Exception {
+    // select l_orderkey, '20130819' as date1, '20130819' as date2, '20130819' as date3, '20130819' as date4
+    // from lineitem where l_orderkey > -1;
+    ResultSet res = executeQuery();
+    assertResultSet(res);
+    cleanupQuery(res);
+  }
+
+  @Test
   public final void testSelectSameExprsWithDifferentAliases() throws Exception {
     // select l_orderkey, l_partkey + 1 as plus1, l_partkey + 1 as plus2 from lineitem where l_orderkey > -1;
     ResultSet res = executeQuery();

http://git-wip-us.apache.org/repos/asf/tajo/blob/064f18c2/tajo-core/src/test/resources/queries/TestSelectQuery/testSelectSameConstantsWithDifferentAliases2.sql
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/queries/TestSelectQuery/testSelectSameConstantsWithDifferentAliases2.sql b/tajo-core/src/test/resources/queries/TestSelectQuery/testSelectSameConstantsWithDifferentAliases2.sql
new file mode 100644
index 0000000..fecabd5
--- /dev/null
+++ b/tajo-core/src/test/resources/queries/TestSelectQuery/testSelectSameConstantsWithDifferentAliases2.sql
@@ -0,0 +1 @@
+select l_orderkey, '20130819' as date1, '20130819' as date2, '20130819' as date3, '20130819' as date4 from lineitem where l_orderkey > -1;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/064f18c2/tajo-core/src/test/resources/results/TestSelectQuery/testSelectSameConstantsWithDifferentAliases2.result
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/resources/results/TestSelectQuery/testSelectSameConstantsWithDifferentAliases2.result b/tajo-core/src/test/resources/results/TestSelectQuery/testSelectSameConstantsWithDifferentAliases2.result
new file mode 100644
index 0000000..2e18463
--- /dev/null
+++ b/tajo-core/src/test/resources/results/TestSelectQuery/testSelectSameConstantsWithDifferentAliases2.result
@@ -0,0 +1,7 @@
+l_orderkey,date1,date2,date3,date4
+-------------------------------
+1,20130819,20130819,20130819,20130819
+1,20130819,20130819,20130819,20130819
+2,20130819,20130819,20130819,20130819
+3,20130819,20130819,20130819,20130819
+3,20130819,20130819,20130819,20130819
\ No newline at end of file