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)

Reply via email to