You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2015/02/08 09:56:42 UTC

[jira] [Closed] (CALCITE-509) RelMdColumnUniqueness uses ImmutableBitSet.Builder twice, gets NullPointerException

     [ https://issues.apache.org/jira/browse/CALCITE-509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Hyde closed CALCITE-509.
-------------------------------

Closing now that 1.0.0-incubating has been released.

> 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
>              Labels: newbie
>             Fix For: 1.0.0-incubating
>
>
> 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)