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)