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 of all fields ? 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]