[
https://issues.apache.org/jira/browse/ASTERIXDB-2331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Till reassigned ASTERIXDB-2331:
-------------------------------
Assignee: Taewoo Kim
> 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
> Assignee: Taewoo Kim
> 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)