You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Till (JIRA)" <ji...@apache.org> on 2018/03/14 22:46:00 UTC
[jira] [Assigned] (ASTERIXDB-2331) Plan branch repeated
[ 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)