siddharthteotia commented on code in PR #8689:
URL: https://github.com/apache/pinot/pull/8689#discussion_r871773575
##########
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/stage/JoinNode.java:
##########
@@ -20,25 +20,27 @@
import java.util.List;
import org.apache.calcite.rel.core.JoinRelType;
-import org.apache.calcite.rel.type.RelDataType;
import org.apache.pinot.query.planner.partitioning.FieldSelectionKeySelector;
import org.apache.pinot.query.planner.partitioning.KeySelector;
import org.apache.pinot.query.planner.serde.ProtoProperties;
+import org.apache.pinot.spi.data.FieldSpec;
public class JoinNode extends AbstractStageNode {
@ProtoProperties
private JoinRelType _joinRelType;
@ProtoProperties
private List<JoinClause> _criteria;
+ @ProtoProperties
+ private FieldSpec.DataType _rowType;
public JoinNode(int stageId) {
super(stageId);
}
- public JoinNode(int stageId, RelDataType rowType, JoinRelType joinRelType,
List<JoinClause> criteria) {
+ public JoinNode(int stageId, FieldSpec.DataType rowType, JoinRelType
joinRelType, List<JoinClause> criteria) {
Review Comment:
IIUC, RelDataType can be used to represent a field's type in Calcite and
also the rowType since it encapsulates the field info ? So, replacing it here
with Pinot FieldSpec.DataType for `Join` seems intuitive since the two join key
columns will be of the same type.
However, the same change further down in `TableScanNode` does not seem
intuitive because `TableScanNode` technically needs a `rowType` as it may not
necessarily work at the single column level ?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]