About
Relational Operator - Join in Calcite.
Join is a calcite relational operator (RelNode)
Articles Related
Field Addressing
Example field addressing in a join between the input EMP and DEPT
join
/ \
EMP DEPT
The ordinal referencing is:
- 0=EMP
- 0=EMPNO,
- 1=ENAME,
- 2=JOB,
- 3=MGR,
- 4=HIREDATE,
- 5=SAL,
- 6=COMM,
- 7=DEPTNO]
- 1=DEPT
- 0=DEPTNO,
- 1=DNAME,
- 2=LOC
To reference the field/column SAL (the field 5 of input 0)
builder.field(2, 0, "SAL")
// or
builder.field(2, "EMP", "SAL")
// or
builder.field(2, 0, 5)
where:
- 2 means that there are two inputs (How deep to search in the stack)
- 0 or EMP design the input
- 5 or SAL design the field