Julian Hyde created CALCITE-509:
-----------------------------------
Summary: RelMdColumnUniqueness uses ImmutableBitSet.Builder twice,
gets NullPointerException
Key: CALCITE-509
URL: https://issues.apache.org/jira/browse/CALCITE-509
Project: Calcite
Issue Type: Bug
Reporter: Julian Hyde
Assignee: Julian Hyde
RelMdColumnUniqueness.areColumnsUnique gets the following stack:
{code}
ava.lang.NullPointerException
at
org.apache.calcite.util.ImmutableBitSet.countBits(ImmutableBitSet.java:280)
at
org.apache.calcite.util.ImmutableBitSet.access$600(ImmutableBitSet.java:36)
at
org.apache.calcite.util.ImmutableBitSet$Builder.cardinality(ImmutableBitSet.java:799)
at
org.apache.calcite.rel.metadata.RelMdColumnUniqueness.areColumnsUnique(RelMdColumnUniqueness.java:178)
{code}
The cause is that it populates an ImmutableBitSet.Builder, calls build on it,
then calls cardinality. That is not allowed -- once build has been called the
builder cannot be re-used, even for cardinality.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)