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

[jira] [Updated] (ASTERIXDB-2331) Plan branch repeated

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

Wail Alkowaileet updated ASTERIXDB-2331:
----------------------------------------
    Description: 
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}

  was:
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}


> 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
>            Priority: Major
>
> 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)