Class RexRangeRef

java.lang.Object
org.apache.calcite.rex.RexNode
org.apache.calcite.rex.RexRangeRef

public class RexRangeRef extends RexNode
Reference to a range of columns.

This construct is used only during the process of translating a SQL tree to a rel/rex tree. Regular rex trees do not contain this construct.

While translating a join of EMP(EMPNO, ENAME, DEPTNO) to DEPT(DEPTNO2, DNAME) we create RexRangeRef(DeptType,3) to represent the pair of columns (DEPTNO2, DNAME) which came from DEPT. The type has 2 columns, and therefore the range represents columns {3, 4} of the input.

Suppose we later create a reference to the DNAME field of this RexRangeRef; it will return a RexInputRef(5,Integer), and the RexRangeRef will disappear.