Krisztian Kasa created HIVE-26747:
-------------------------------------

             Summary: Remove implementor from HiveRelNode
                 Key: HIVE-26747
                 URL: https://issues.apache.org/jira/browse/HIVE-26747
             Project: Hive
          Issue Type: Task
          Components: CBO
            Reporter: Krisztian Kasa
            Assignee: Krisztian Kasa


Calcite's VolcanoPlanner [1] relies on calling convention [2]. In Hive this is 
represented by the 
[HiveRelNode|https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveRelNode.java]
 interface's {{CONVENTION}} field.

This interface has to be implemented by all Hive operators to have the Hive 
calling convention behavior. The interface also defines the
{code:java}
 void implement(Implementor implementor);
{code}
method but none of the operators gives an implementation and the method is 
never called.

[1] 
[https://15721.courses.cs.cmu.edu/spring2017/papers/14-optimizer1/graefe-icde1993.pdf]
[2] [https://arxiv.org/pdf/1802.10233.pdf] (Section 4, traits)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to