Stamatis Zampetakis created CALCITE-6720:
--------------------------------------------

             Summary: Refactor cross product logic in 
RelMdUniqueKeys#getPassedThroughCols using Linq4j#product
                 Key: CALCITE-6720
                 URL: https://issues.apache.org/jira/browse/CALCITE-6720
             Project: Calcite
          Issue Type: Improvement
          Components: core
    Affects Versions: 1.38.0
            Reporter: Stamatis Zampetakis
            Assignee: Stamatis Zampetakis
             Fix For: 1.39.0


The 
[RelMdUniqueKeys#getPassedThroughCols|https://github.com/apache/calcite/blob/0eb83b1dc6316cba73c2c49e8fbccfa390333fbe/core/src/main/java/org/apache/calcite/rel/metadata/RelMdUniqueKeys.java#L380]
 method exists only for performing a cross product of the various mappings 
between input and output "pass through" columns.

The entire method can be replaced by exploiting the built-in Linq4j#product API 
and few other utility methods.

After the refactoring the code is easier to follow and potentially more 
efficient since the result is computed gradually and we don't have to retain 
the entire cross product result in memory. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to