Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.11.0
    • Component/s: Expression
    • Labels:
      None

      Description

      EvalNode just has eval() method to evaluate some tuples. It does not have any method to prepare actual execution.

      For example, FieldEval should know an actual field index of an input tuple. This process is also performed in eval() method.

      It has some problems:

      • eval() method should involve two works, and it does different behavior with some flag or null check.
      • 'if condition' in eval() method for different behaviors involves unnecessary branches, causing performance degradation.

      So, we should add bind(Schema) method to EvalNode and then move some preparation code from eval() to bind(Schame) method.

      Also, we should refactor the signature eval(Schema, Tuple) to eval(Tuple).

        Issue Links

          Activity

          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user navis opened a pull request:

          https://github.com/apache/tajo/pull/456

          TAJO-1436 Add Bind method to EvalNode

          eval(Schema schema, Tuple tuple) --> bind(Schema schema) + eval(Tuple tuple)

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/navis/tajo TAJO-1436

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/tajo/pull/456.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #456


          commit 65d68fd466e208f0eaaff973f862ae61dce873ee
          Author: navis.ryu <navis@apache.org>
          Date: 2015-03-23T13:42:11Z

          TAJO-1436 Add Bind method to EvalNode


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user navis opened a pull request: https://github.com/apache/tajo/pull/456 TAJO-1436 Add Bind method to EvalNode eval(Schema schema, Tuple tuple) --> bind(Schema schema) + eval(Tuple tuple) You can merge this pull request into a Git repository by running: $ git pull https://github.com/navis/tajo TAJO-1436 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tajo/pull/456.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #456 commit 65d68fd466e208f0eaaff973f862ae61dce873ee Author: navis.ryu <navis@apache.org> Date: 2015-03-23T13:42:11Z TAJO-1436 Add Bind method to EvalNode
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jihoonson commented on a diff in the pull request:

          https://github.com/apache/tajo/pull/456#discussion_r27370991

          — Diff: tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftOuterJoinExec.java —
          @@ -120,11 +120,11 @@ public HashLeftOuterJoinExec(TaskAttemptContext context, JoinNode plan, Physical
          leftKeyTuple = new VTuple(leftKeyList.length);

          rightNumCols = rightChild.getSchema().size();

          • }
          • @Override
          • protected void compile() {
          • joinQual = context.getPrecompiledEval(inSchema, joinQual);
              • End diff –

          The compile() function should not be removed.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on a diff in the pull request: https://github.com/apache/tajo/pull/456#discussion_r27370991 — Diff: tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftOuterJoinExec.java — @@ -120,11 +120,11 @@ public HashLeftOuterJoinExec(TaskAttemptContext context, JoinNode plan, Physical leftKeyTuple = new VTuple(leftKeyList.length); rightNumCols = rightChild.getSchema().size(); } @Override protected void compile() { joinQual = context.getPrecompiledEval(inSchema, joinQual); End diff – The compile() function should not be removed.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jihoonson commented on a diff in the pull request:

          https://github.com/apache/tajo/pull/456#discussion_r27371248

          — Diff: tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java —
          @@ -69,9 +70,8 @@ public SeqScanExec(TaskAttemptContext context, ScanNode plan,
          this.qual = plan.getQual();
          this.fragments = fragments;

          • if (fragments != null
          • && plan.getTableDesc().hasPartition()
              • End diff –

          The variable ```fragments``` can be null, and ```rewriteColumnPartitionedTableSchema()``` should not be called in that case.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on a diff in the pull request: https://github.com/apache/tajo/pull/456#discussion_r27371248 — Diff: tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java — @@ -69,9 +70,8 @@ public SeqScanExec(TaskAttemptContext context, ScanNode plan, this.qual = plan.getQual(); this.fragments = fragments; if (fragments != null && plan.getTableDesc().hasPartition() End diff – The variable ```fragments``` can be null, and ```rewriteColumnPartitionedTableSchema()``` should not be called in that case.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user navis commented on a diff in the pull request:

          https://github.com/apache/tajo/pull/456#discussion_r27371459

          — Diff: tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftOuterJoinExec.java —
          @@ -120,11 +120,11 @@ public HashLeftOuterJoinExec(TaskAttemptContext context, JoinNode plan, Physical
          leftKeyTuple = new VTuple(leftKeyList.length);

          rightNumCols = rightChild.getSchema().size();

          • }
          • @Override
          • protected void compile() {
          • joinQual = context.getPrecompiledEval(inSchema, joinQual);
              • End diff –

          Yes, mistake. Nice catch.

          Show
          githubbot ASF GitHub Bot added a comment - Github user navis commented on a diff in the pull request: https://github.com/apache/tajo/pull/456#discussion_r27371459 — Diff: tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftOuterJoinExec.java — @@ -120,11 +120,11 @@ public HashLeftOuterJoinExec(TaskAttemptContext context, JoinNode plan, Physical leftKeyTuple = new VTuple(leftKeyList.length); rightNumCols = rightChild.getSchema().size(); } @Override protected void compile() { joinQual = context.getPrecompiledEval(inSchema, joinQual); End diff – Yes, mistake. Nice catch.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jihoonson commented on a diff in the pull request:

          https://github.com/apache/tajo/pull/456#discussion_r27371479

          — Diff: tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java —
          @@ -197,6 +206,9 @@ public Tuple next() throws IOException {
          if (fragments == null)

          { return null; }

          + if (scanner == null) {
          + System.out.println("[SeqScanExec/next] ");
          — End diff –

          Please remove debug codes.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on a diff in the pull request: https://github.com/apache/tajo/pull/456#discussion_r27371479 — Diff: tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java — @@ -197,6 +206,9 @@ public Tuple next() throws IOException { if (fragments == null) { return null; } + if (scanner == null) { + System.out.println(" [SeqScanExec/next] "); — End diff – Please remove debug codes.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user navis commented on a diff in the pull request:

          https://github.com/apache/tajo/pull/456#discussion_r27371654

          — Diff: tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java —
          @@ -69,9 +70,8 @@ public SeqScanExec(TaskAttemptContext context, ScanNode plan,
          this.qual = plan.getQual();
          this.fragments = fragments;

          • if (fragments != null
          • && plan.getTableDesc().hasPartition()
              • End diff –

          Even fragments is null, partition columns in expr should be replaced with null. Without this, some tests fails with exception("No Such Column Reference").

          Show
          githubbot ASF GitHub Bot added a comment - Github user navis commented on a diff in the pull request: https://github.com/apache/tajo/pull/456#discussion_r27371654 — Diff: tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java — @@ -69,9 +70,8 @@ public SeqScanExec(TaskAttemptContext context, ScanNode plan, this.qual = plan.getQual(); this.fragments = fragments; if (fragments != null && plan.getTableDesc().hasPartition() End diff – Even fragments is null, partition columns in expr should be replaced with null. Without this, some tests fails with exception("No Such Column Reference").
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jihoonson commented on a diff in the pull request:

          https://github.com/apache/tajo/pull/456#discussion_r27372114

          — Diff: tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java —
          @@ -40,13 +40,27 @@
          @Expose protected FunctionDesc funcDesc;
          @Expose protected EvalNode [] argEvals;

          + private transient Tuple params;
          — End diff –

          This variable is missed in ```hashCode()```, ```clone()```, and ```equals()``` functions.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on a diff in the pull request: https://github.com/apache/tajo/pull/456#discussion_r27372114 — Diff: tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java — @@ -40,13 +40,27 @@ @Expose protected FunctionDesc funcDesc; @Expose protected EvalNode [] argEvals; + private transient Tuple params; — End diff – This variable is missed in ```hashCode()```, ```clone()```, and ```equals()``` functions.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user navis commented on a diff in the pull request:

          https://github.com/apache/tajo/pull/456#discussion_r27372699

          — Diff: tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java —
          @@ -40,13 +40,27 @@
          @Expose protected FunctionDesc funcDesc;
          @Expose protected EvalNode [] argEvals;

          + private transient Tuple params;
          — End diff –

          It's transient field as it declared, which should not be included in hash or equals calculation.

          Show
          githubbot ASF GitHub Bot added a comment - Github user navis commented on a diff in the pull request: https://github.com/apache/tajo/pull/456#discussion_r27372699 — Diff: tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java — @@ -40,13 +40,27 @@ @Expose protected FunctionDesc funcDesc; @Expose protected EvalNode [] argEvals; + private transient Tuple params; — End diff – It's transient field as it declared, which should not be included in hash or equals calculation.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user navis commented on a diff in the pull request:

          https://github.com/apache/tajo/pull/456#discussion_r27372731

          — Diff: tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java —
          @@ -197,6 +206,9 @@ public Tuple next() throws IOException {
          if (fragments == null)

          { return null; }

          + if (scanner == null) {
          + System.out.println("[SeqScanExec/next] ");
          — End diff –

          done

          Show
          githubbot ASF GitHub Bot added a comment - Github user navis commented on a diff in the pull request: https://github.com/apache/tajo/pull/456#discussion_r27372731 — Diff: tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java — @@ -197,6 +206,9 @@ public Tuple next() throws IOException { if (fragments == null) { return null; } + if (scanner == null) { + System.out.println(" [SeqScanExec/next] "); — End diff – done
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jihoonson commented on a diff in the pull request:

          https://github.com/apache/tajo/pull/456#discussion_r27373655

          — Diff: tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java —
          @@ -40,13 +40,27 @@
          @Expose protected FunctionDesc funcDesc;
          @Expose protected EvalNode [] argEvals;

          + private transient Tuple params;
          — End diff –

          Oops. Sorry.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on a diff in the pull request: https://github.com/apache/tajo/pull/456#discussion_r27373655 — Diff: tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java — @@ -40,13 +40,27 @@ @Expose protected FunctionDesc funcDesc; @Expose protected EvalNode [] argEvals; + private transient Tuple params; — End diff – Oops. Sorry.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jihoonson commented on the pull request:

          https://github.com/apache/tajo/pull/456#issuecomment-87618800

          Thanks @navis. The patch looks good.
          I have some additional comments as follows.

          • Changes on NettyClientBase look for https://issues.apache.org/jira/browse/TAJO-1424. If so, it would be better to resolve in that issue. Please remove them.
          • The bind() function must be called before eval(). So, it would be much great if you add a routine to check the binding state.
          Show
          githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on the pull request: https://github.com/apache/tajo/pull/456#issuecomment-87618800 Thanks @navis. The patch looks good. I have some additional comments as follows. Changes on NettyClientBase look for https://issues.apache.org/jira/browse/TAJO-1424 . If so, it would be better to resolve in that issue. Please remove them. The bind() function must be called before eval(). So, it would be much great if you add a routine to check the binding state.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user navis commented on the pull request:

          https://github.com/apache/tajo/pull/456#issuecomment-88303781

          I've also thought about that (bind check), but thinking that the intention of this issue was for removing any non-working code from eval, I decided to remove it. Opinion?

          I'll fix TAJO-1424, which seemed abondoned for a long time.

          Show
          githubbot ASF GitHub Bot added a comment - Github user navis commented on the pull request: https://github.com/apache/tajo/pull/456#issuecomment-88303781 I've also thought about that (bind check), but thinking that the intention of this issue was for removing any non-working code from eval, I decided to remove it. Opinion? I'll fix TAJO-1424 , which seemed abondoned for a long time.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jihoonson commented on the pull request:

          https://github.com/apache/tajo/pull/456#issuecomment-88416293

          Ok. I created another issue for bind check. https://issues.apache.org/jira/browse/TAJO-1499

          Show
          githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on the pull request: https://github.com/apache/tajo/pull/456#issuecomment-88416293 Ok. I created another issue for bind check. https://issues.apache.org/jira/browse/TAJO-1499
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jihoonson commented on the pull request:

          https://github.com/apache/tajo/pull/456#issuecomment-88751004

          Would you please rebase?

          Show
          githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on the pull request: https://github.com/apache/tajo/pull/456#issuecomment-88751004 Would you please rebase?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jihoonson commented on the pull request:

          https://github.com/apache/tajo/pull/456#issuecomment-88814411

          Oh, you have already rebased. Sorry. I'll review ASAP.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on the pull request: https://github.com/apache/tajo/pull/456#issuecomment-88814411 Oh, you have already rebased. Sorry. I'll review ASAP.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jihoonson commented on the pull request:

          https://github.com/apache/tajo/pull/456#issuecomment-88851633

          +1
          LGTM!

          Show
          githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on the pull request: https://github.com/apache/tajo/pull/456#issuecomment-88851633 +1 LGTM!
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user asfgit closed the pull request at:

          https://github.com/apache/tajo/pull/456

          Show
          githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/tajo/pull/456
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in Tajo-master-CODEGEN-build #285 (See https://builds.apache.org/job/Tajo-master-CODEGEN-build/285/)
          TAJO-1436: Add Bind method to EvalNode. (jihoonson: rev f4c9e54c88fb9e69023da2b0a74ead76ad2a6f8d)

          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/NLJoinExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/InEval.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/FieldEval.java
          • tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/CastEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/codegen/CaseWhenEmitter.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/BetweenPredicateEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/CommonJoinExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/EvalTreeUtil.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyHashAggregationExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyFirstAggregationExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/RowConstantEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashAggregateExec.java
          • tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
          • CHANGES
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/NotEval.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/SignedEval.java
          • tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultSystemScanner.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyThirdAggregationExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/NLLeftOuterJoinExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/EvalExprExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/MergeFullOuterJoinExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/CaseWhenEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/RightOuterMergeJoinExec.java
          • tajo-core/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
          • tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTree.java
          • tajo-core/src/main/java/org/apache/tajo/engine/codegen/EvalCodeGenContext.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/PartialBinaryExpr.java
          • tajo-core/src/main/java/org/apache/tajo/engine/codegen/EvalCodeGenerator.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/AggregationExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/UnaryEval.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/AlgebraicUtil.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/ConstEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftAntiJoinExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SortAggregateExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/IsNullEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySecondAggregationExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BNLJoinExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/WindowFunctionEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HavingExec.java
          • tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashJoinExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/WindowAggExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/BinaryEval.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/PartitionedTableRewriter.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SelectionExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/EvalNode.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BSTIndexScanExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/PatternMatchPredicateEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftOuterJoinExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/AggregationFunctionCallEval.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/exprrewrite/rules/ConstantFolding.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/GeneralFunctionEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/MergeJoinExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashFullOuterJoinExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/utils/TupleUtil.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftSemiJoinExec.java
          Show
          hudson Hudson added a comment - FAILURE: Integrated in Tajo-master-CODEGEN-build #285 (See https://builds.apache.org/job/Tajo-master-CODEGEN-build/285/ ) TAJO-1436 : Add Bind method to EvalNode. (jihoonson: rev f4c9e54c88fb9e69023da2b0a74ead76ad2a6f8d) tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/NLJoinExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/InEval.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/FieldEval.java tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/CastEval.java tajo-core/src/main/java/org/apache/tajo/engine/codegen/CaseWhenEmitter.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/BetweenPredicateEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/CommonJoinExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/EvalTreeUtil.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyHashAggregationExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyFirstAggregationExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/RowConstantEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashAggregateExec.java tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java CHANGES tajo-plan/src/main/java/org/apache/tajo/plan/expr/NotEval.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/SignedEval.java tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultSystemScanner.java tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyThirdAggregationExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/NLLeftOuterJoinExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/EvalExprExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/MergeFullOuterJoinExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/CaseWhenEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/RightOuterMergeJoinExec.java tajo-core/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTree.java tajo-core/src/main/java/org/apache/tajo/engine/codegen/EvalCodeGenContext.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/PartialBinaryExpr.java tajo-core/src/main/java/org/apache/tajo/engine/codegen/EvalCodeGenerator.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/AggregationExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/UnaryEval.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/AlgebraicUtil.java tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/ConstEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftAntiJoinExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SortAggregateExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/IsNullEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySecondAggregationExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BNLJoinExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/WindowFunctionEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HavingExec.java tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashJoinExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/WindowAggExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/BinaryEval.java tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/PartitionedTableRewriter.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SelectionExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/EvalNode.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BSTIndexScanExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/PatternMatchPredicateEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftOuterJoinExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/AggregationFunctionCallEval.java tajo-plan/src/main/java/org/apache/tajo/plan/exprrewrite/rules/ConstantFolding.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/GeneralFunctionEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/MergeJoinExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashFullOuterJoinExec.java tajo-core/src/main/java/org/apache/tajo/engine/utils/TupleUtil.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftSemiJoinExec.java
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Tajo-master-build #647 (See https://builds.apache.org/job/Tajo-master-build/647/)
          TAJO-1436: Add Bind method to EvalNode. (jihoonson: rev f4c9e54c88fb9e69023da2b0a74ead76ad2a6f8d)

          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftAntiJoinExec.java
          • tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
          • CHANGES
          • tajo-plan/src/main/java/org/apache/tajo/plan/exprrewrite/rules/ConstantFolding.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/NLJoinExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/utils/TupleUtil.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/InEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SelectionExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/IsNullEval.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/CastEval.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/FieldEval.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
          • tajo-core/src/main/java/org/apache/tajo/engine/codegen/EvalCodeGenContext.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/NLLeftOuterJoinExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/RightOuterMergeJoinExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/SignedEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashFullOuterJoinExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/codegen/EvalCodeGenerator.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/EvalExprExec.java
          • tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/AggregationFunctionCallEval.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/EvalTreeUtil.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/PatternMatchPredicateEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/WindowAggExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashJoinExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/GeneralFunctionEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/AggregationExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/ConstEval.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/PartialBinaryExpr.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/NotEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BNLJoinExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BSTIndexScanExec.java
          • tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTree.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/AlgebraicUtil.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftOuterJoinExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/BinaryEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HavingExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashAggregateExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyThirdAggregationExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySecondAggregationExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/WindowFunctionEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/codegen/CaseWhenEmitter.java
          • tajo-core/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/MergeFullOuterJoinExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyHashAggregationExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/PartitionedTableRewriter.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/BetweenPredicateEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SortAggregateExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/EvalNode.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/CaseWhenEval.java
          • tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/RowConstantEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/CommonJoinExec.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/MergeJoinExec.java
          • tajo-plan/src/main/java/org/apache/tajo/plan/expr/UnaryEval.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyFirstAggregationExec.java
          • tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultSystemScanner.java
          • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftSemiJoinExec.java
          Show
          hudson Hudson added a comment - SUCCESS: Integrated in Tajo-master-build #647 (See https://builds.apache.org/job/Tajo-master-build/647/ ) TAJO-1436 : Add Bind method to EvalNode. (jihoonson: rev f4c9e54c88fb9e69023da2b0a74ead76ad2a6f8d) tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftAntiJoinExec.java tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java CHANGES tajo-plan/src/main/java/org/apache/tajo/plan/exprrewrite/rules/ConstantFolding.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/NLJoinExec.java tajo-core/src/main/java/org/apache/tajo/engine/utils/TupleUtil.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/InEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SelectionExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/IsNullEval.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/CastEval.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/FieldEval.java tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java tajo-core/src/main/java/org/apache/tajo/engine/codegen/EvalCodeGenContext.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/NLLeftOuterJoinExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/RightOuterMergeJoinExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/SignedEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashFullOuterJoinExec.java tajo-core/src/main/java/org/apache/tajo/engine/codegen/EvalCodeGenerator.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/EvalExprExec.java tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/AggregationFunctionCallEval.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/EvalTreeUtil.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/PatternMatchPredicateEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/WindowAggExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashJoinExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/Projector.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/GeneralFunctionEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/AggregationExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/ConstEval.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/PartialBinaryExpr.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/NotEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BNLJoinExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BSTIndexScanExec.java tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTree.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/AlgebraicUtil.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftOuterJoinExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/BinaryEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HavingExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashAggregateExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyThirdAggregationExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbySecondAggregationExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/WindowFunctionEval.java tajo-core/src/main/java/org/apache/tajo/engine/codegen/CaseWhenEmitter.java tajo-core/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/MergeFullOuterJoinExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyHashAggregationExec.java tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/PartitionedTableRewriter.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/BetweenPredicateEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SortAggregateExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/EvalNode.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/CaseWhenEval.java tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/RowConstantEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/CommonJoinExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/MergeJoinExec.java tajo-plan/src/main/java/org/apache/tajo/plan/expr/UnaryEval.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/DistinctGroupbyFirstAggregationExec.java tajo-core/src/main/java/org/apache/tajo/master/exec/NonForwardQueryResultSystemScanner.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftSemiJoinExec.java
          Hide
          jihoonson Jihoon Son added a comment -

          Committed to the master branch.

          Show
          jihoonson Jihoon Son added a comment - Committed to the master branch.

            People

            • Assignee:
              navis Navis
              Reporter:
              hyunsik Hyunsik Choi
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development