Wail Alkowaileet created ASTERIXDB-2331:
-------------------------------------------

             Summary: Plan branch repeated
                 Key: ASTERIXDB-2331
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-2331
             Project: Apache AsterixDB
          Issue Type: Bug
          Components: COMP - Compiler
            Reporter: Wail Alkowaileet


I didn't investigate. But it looks like unmaintained Split output.

DDL
{noformat}
DROP DATAVERSE SocialNetworkData IF EXISTS;
CREATE DATAVERSE SocialNetworkData;

USE SocialNetworkData;
create type ChirpMessageType as {
    chirpid: int64,
    send_time: datetime
};
create type GleambookUserType as {
    id: int64,
    user_since: datetime
};
create type GleambookMessageType as {
    message_id: int64,
    author_id: int64,
    send_time: datetime
};

create dataset GleambookMessages(GleambookMessageType)
primary key message_id;

create dataset GleambookUsers(GleambookUserType)
primary key id;

create dataset ChirpMessages(ChirpMessageType)
primary key chirpid;

create index usrSinceIx on GleambookUsers(user_since);
create index sndTimeIx on ChirpMessages(send_time);
create index authorIdIx on GleambookMessages(author_id);
{noformat}

Query:
{noformat}
USE SocialNetworkData;
EXPLAIN
SELECT g.message_id
FROM GleambookUsers as u, GleambookMessages as g
WHERE u.id/*+indexnl*/ = g.author_id 
AND u.user_since = datetime("2013-04-16T09:45:46")
{noformat}

Plan:
{noformat}
distribute result [$$28]
-- DISTRIBUTE_RESULT  |PARTITIONED|
  exchange
  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
    union ($$54, $$55, $$28)
    -- UNION_ALL  |PARTITIONED|
      exchange
      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
        project ([$$54])
        -- STREAM_PROJECT  |PARTITIONED|
          assign [$$54] <- [{"message_id": $$52}]
          -- ASSIGN  |PARTITIONED|
            project ([$$52])
            -- STREAM_PROJECT  |PARTITIONED|
              select (eq($$29, $$53.getField(1)))
              -- STREAM_SELECT  |PARTITIONED|
                project ([$$29, $$52, $$53])
                -- STREAM_PROJECT  |PARTITIONED|
                  exchange
                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                    unnest-map [$$52, $$53] <- 
index-search("GleambookMessages", 0, "SocialNetworkData", "GleambookMessages", 
TRUE, FALSE, 1, $$46, 1, $$46, TRUE, TRUE, TRUE)
                    -- BTREE_SEARCH  |PARTITIONED|
                      exchange
                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                        project ([$$29, $$46])
                        -- STREAM_PROJECT  |PARTITIONED|
                          exchange
                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                            split ($$47)
                            -- SPLIT  |PARTITIONED|
                              exchange
                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                project ([$$29, $$46, $$47])
                                -- STREAM_PROJECT  |PARTITIONED|
                                  exchange
                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                    unnest-map [$$45, $$46, $$47] <- 
index-search("authorIdIx", 0, "SocialNetworkData", "GleambookMessages", TRUE, 
TRUE, 1, $$29, 1, $$29, TRUE, TRUE, TRUE)
                                    -- BTREE_SEARCH  |PARTITIONED|
                                      exchange
                                      -- BROADCAST_EXCHANGE  |PARTITIONED|
                                        union ($$43, $$38, $$29)
                                        -- UNION_ALL  |PARTITIONED|
                                          exchange
                                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                            project ([$$43])
                                            -- STREAM_PROJECT  |PARTITIONED|
                                              select (eq($$33, datetime: { 
2013-04-16T09:45:46.000Z }))
                                              -- STREAM_SELECT  |PARTITIONED|
                                                project ([$$43, $$33])
                                                -- STREAM_PROJECT  |PARTITIONED|
                                                  assign [$$33] <- 
[$$44.getField(1)]
                                                  -- ASSIGN  |PARTITIONED|
                                                    exchange
                                                    -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                      unnest-map [$$43, $$44] 
<- index-search("GleambookUsers", 0, "SocialNetworkData", "GleambookUsers", 
FALSE, FALSE, 1, $$38, 1, $$38, TRUE, TRUE, TRUE)
                                                      -- BTREE_SEARCH  
|PARTITIONED|
                                                        exchange
                                                        -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                          split ($$39)
                                                          -- SPLIT  
|PARTITIONED|
                                                            exchange
                                                            -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                              project ([$$38, 
$$39])
                                                              -- STREAM_PROJECT 
 |PARTITIONED|
                                                                exchange
                                                                -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                                  unnest-map 
[$$37, $$38, $$39] <- index-search("usrSinceIx", 0, "SocialNetworkData", 
"GleambookUsers", FALSE, FALSE, 1, $$35, 1, $$36, TRUE, TRUE, TRUE)
                                                                  -- 
BTREE_SEARCH  |PARTITIONED|
                                                                    exchange
                                                                    -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                                      assign 
[$$35, $$36] <- [datetime: { 2013-04-16T09:45:46.000Z }, datetime: { 
2013-04-16T09:45:46.000Z }]
                                                                      -- ASSIGN 
 |PARTITIONED|
                                                                        
empty-tuple-source
                                                                        -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
                                          exchange
                                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                            project ([$$38])
                                            -- STREAM_PROJECT  |PARTITIONED|
                                              exchange
                                              -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                split ($$39)
                                                -- SPLIT  |PARTITIONED|
                                                  exchange
                                                  -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                    project ([$$38, $$39])
                                                    -- STREAM_PROJECT  
|PARTITIONED|
                                                      exchange
                                                      -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                        unnest-map [$$37, $$38, 
$$39] <- index-search("usrSinceIx", 0, "SocialNetworkData", "GleambookUsers", 
FALSE, FALSE, 1, $$35, 1, $$36, TRUE, TRUE, TRUE)
                                                        -- BTREE_SEARCH  
|PARTITIONED|
                                                          exchange
                                                          -- 
ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                                            assign [$$35, $$36] 
<- [datetime: { 2013-04-16T09:45:46.000Z }, datetime: { 
2013-04-16T09:45:46.000Z }]
                                                            -- ASSIGN  
|PARTITIONED|
                                                              empty-tuple-source
                                                              -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
      exchange
      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
        project ([$$55])
        -- STREAM_PROJECT  |PARTITIONED|
          assign [$$55] <- [{"message_id": $$46}]
          -- ASSIGN  |PARTITIONED|
            project ([$$46])
            -- STREAM_PROJECT  |PARTITIONED|
              exchange
              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                split ($$47)
                -- SPLIT  |PARTITIONED|
                  exchange
                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                    project ([$$29, $$46, $$47])
                    -- STREAM_PROJECT  |PARTITIONED|
                      exchange
                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                        unnest-map [$$45, $$46, $$47] <- 
index-search("authorIdIx", 0, "SocialNetworkData", "GleambookMessages", TRUE, 
TRUE, 1, $$29, 1, $$29, TRUE, TRUE, TRUE)
                        -- BTREE_SEARCH  |PARTITIONED|
                          exchange
                          -- BROADCAST_EXCHANGE  |PARTITIONED|
                            union ($$43, $$38, $$29)
                            -- UNION_ALL  |PARTITIONED|
                              exchange
                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                project ([$$43])
                                -- STREAM_PROJECT  |PARTITIONED|
                                  select (eq($$33, datetime: { 
2013-04-16T09:45:46.000Z }))
                                  -- STREAM_SELECT  |PARTITIONED|
                                    project ([$$43, $$33])
                                    -- STREAM_PROJECT  |PARTITIONED|
                                      assign [$$33] <- [$$44.getField(1)]
                                      -- ASSIGN  |PARTITIONED|
                                        exchange
                                        -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                          unnest-map [$$43, $$44] <- 
index-search("GleambookUsers", 0, "SocialNetworkData", "GleambookUsers", FALSE, 
FALSE, 1, $$38, 1, $$38, TRUE, TRUE, TRUE)
                                          -- BTREE_SEARCH  |PARTITIONED|
                                            exchange
                                            -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                              split ($$39)
                                              -- SPLIT  |PARTITIONED|
                                                exchange
                                                -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                  project ([$$38, $$39])
                                                  -- STREAM_PROJECT  
|PARTITIONED|
                                                    exchange
                                                    -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                      unnest-map [$$37, $$38, 
$$39] <- index-search("usrSinceIx", 0, "SocialNetworkData", "GleambookUsers", 
FALSE, FALSE, 1, $$35, 1, $$36, TRUE, TRUE, TRUE)
                                                      -- BTREE_SEARCH  
|PARTITIONED|
                                                        exchange
                                                        -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                          assign [$$35, $$36] 
<- [datetime: { 2013-04-16T09:45:46.000Z }, datetime: { 
2013-04-16T09:45:46.000Z }]
                                                          -- ASSIGN  
|PARTITIONED|
                                                            empty-tuple-source
                                                            -- 
EMPTY_TUPLE_SOURCE  |PARTITIONED|
                              exchange
                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                project ([$$38])
                                -- STREAM_PROJECT  |PARTITIONED|
                                  exchange
                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                    split ($$39)
                                    -- SPLIT  |PARTITIONED|
                                      exchange
                                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                        project ([$$38, $$39])
                                        -- STREAM_PROJECT  |PARTITIONED|
                                          exchange
                                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                                            unnest-map [$$37, $$38, $$39] <- 
index-search("usrSinceIx", 0, "SocialNetworkData", "GleambookUsers", FALSE, 
FALSE, 1, $$35, 1, $$36, TRUE, TRUE, TRUE)
                                            -- BTREE_SEARCH  |PARTITIONED|
                                              exchange
                                              -- ONE_TO_ONE_EXCHANGE  
|PARTITIONED|
                                                assign [$$35, $$36] <- 
[datetime: { 2013-04-16T09:45:46.000Z }, datetime: { 2013-04-16T09:45:46.000Z }]
                                                -- ASSIGN  |PARTITIONED|
                                                  empty-tuple-source
                                                  -- EMPTY_TUPLE_SOURCE  
|PARTITIONED|
{noformat}



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

Reply via email to