Chunwei Lei created CALCITE-4203:
------------------------------------
Summary: RelMdUniqueKeys should not return empty when meeting
Intersect and Minus if its input has unique keys
Key: CALCITE-4203
URL: https://issues.apache.org/jira/browse/CALCITE-4203
Project: Calcite
Issue Type: Improvement
Reporter: Chunwei Lei
Assignee: Chunwei Lei
Currently, we get an empty unique key for Intersect and Minus if its all is
true.
{code:java}
// code placeholder
public Set<ImmutableBitSet> getUniqueKeys(SetOp rel, RelMetadataQuery mq,
boolean ignoreNulls) {
if (!rel.all) {
return ImmutableSet.of(
ImmutableBitSet.range(rel.getRowType().getFieldCount()));
}
return ImmutableSet.of();
}
{code}
However, from the semantic of Intersect and Minus, we can get their unique keys
from its input even if its all is true.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)