You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Dmitry Lychagin (JIRA)" <ji...@apache.org> on 2018/08/30 02:01:00 UTC

[jira] [Created] (ASTERIXDB-2448) NullPointerException in IntroduceSelectAccessMethodRule with 2 indexes and between operator

Dmitry Lychagin created ASTERIXDB-2448:
------------------------------------------

             Summary: NullPointerException in IntroduceSelectAccessMethodRule with 2 indexes and between operator
                 Key: ASTERIXDB-2448
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-2448
             Project: Apache AsterixDB
          Issue Type: Bug
          Components: COMP - Compiler
            Reporter: Dmitry Lychagin
            Assignee: Dmitry Lychagin


NullPointerException is thrown when index intersection is chosen by the IntroduceSelectAccessMethodRule and there's a between operator.

DDL: 

create index idx_custkey on Orders (o_custkey) type btree;
create index idx_orderpriority on Orders (o_orderpriority) type btree;

Query:

select o_custkey, o_orderkey, o_orderstatus from Orders
where
 o_orderpriority = '1-URGENT' and
 o_custkey between 40 and 43
order by o_custkey, o_orderkey

Exception:

java.lang.NullPointerException: null
 at org.apache.asterix.optimizer.rules.am.IntroduceSelectAccessMethodRule.connectAll2ndarySearchPlanWithIntersect(IntroduceSelectAccessMethodRule.java:264) ~[classes/:?]
 at org.apache.asterix.optimizer.rules.am.IntroduceSelectAccessMethodRule.intersectAllSecondaryIndexes(IntroduceSelectAccessMethodRule.java:232) ~[classes/:?]

Workaround:

Use "<=" and ">=" instead of "between"

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)