I see the following java doc in org.apache.calcite.rex.RexRangeRef, and I
want to ask why return RexInputRef(5,Integer) not RexInputRef(4,Integer)
when create a reference to the DNAME field?
"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."
Thank you =)