julianhyde opened a new pull request, #4286:
URL: https://github.com/apache/calcite/pull/4286
Test case for [CALCITE-6882] RelMdColumnUniqueness incorrectly claims fields
are not unique if constant refinement occurs in a node above join
If you comment out the first line of the method
RelMdColumnUniqueness.areColumnsUnique(Filter, ...), the test passes. But
all that line does is broaden columns from {0} to {0, 10}, which ordinarily
should make areColumnsUnique more likely to return true.
The problem seems to be in areColumnsUnique(Join, ...), which will returns
true for {0} (one column from the left side of the join) and false for a {0,
10} (one column from the each side of the join).
A few places in that method have 'if (columns.cardinality() > 0)', and I see
no good reason why the empty set should be treated differently.
--
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]