Aman Sinha has posted comments on this change. ( http://gerrit.cloudera.org:8080/21911 )
Change subject: IMPALA-13430: Too many RelNodes created for "IN" literals ...................................................................... Patch Set 3: (2 comments) http://gerrit.cloudera.org:8080/#/c/21911/3//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/21911/3//COMMIT_MSG@13 PS3, Line 13: within one Values RelNode. For large IN-lists, Calcite supports the LogicalValues relnode (derived from Values) and converts it to a join [see comments in [1]). This would be the most efficient representation but we would need a physical representation of this as well, so something to consider for future work. [1] https://github.com/apache/calcite/blob/main/core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java#L6470 http://gerrit.cloudera.org:8080/#/c/21911/3//COMMIT_MSG@18 PS3, Line 18: limitation prevents the string literal to be of type "string" but : instead is of type "char(x)" For an IN list which has string literals of different lengths , 'ab', 'abcd' etc. would Calcite treat each one as different length char ? Curious why it would not just treat it as a VARCHAR instead. Can we look at the place it does this coercion to validate the behavior ? -- To view, visit http://gerrit.cloudera.org:8080/21911 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ifc3d84c70af9cd4db44359c4ab7f0c9eb70738f5 Gerrit-Change-Number: 21911 Gerrit-PatchSet: 3 Gerrit-Owner: Steve Carlin <[email protected]> Gerrit-Reviewer: Aman Sinha <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Joe McDonnell <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]> Gerrit-Reviewer: Steve Carlin <[email protected]> Gerrit-Comment-Date: Fri, 11 Oct 2024 19:29:03 +0000 Gerrit-HasComments: Yes
