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 2019/04/12 16:52:00 UTC

[jira] [Updated] (ASTERIXDB-2221) EquiJoin condition propagation for constant values

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

Till updated ASTERIXDB-2221:
----------------------------
    Affects Version/s: 0.9.4

> EquiJoin condition propagation for constant values
> --------------------------------------------------
>
>                 Key: ASTERIXDB-2221
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-2221
>             Project: Apache AsterixDB
>          Issue Type: Improvement
>          Components: COMP - Compiler
>    Affects Versions: 0.9.4
>            Reporter: Wail Alkowaileet
>            Assignee: Dmitry Lychagin
>            Priority: Major
>              Labels: triaged
>
> When EquiJoin condition: t1.a=t2.a AND t.a = CONSTANT
> The filtration only applied on t1.a but not t2.a
> Query:
> {noformat}
> SELECT t.text as t1, te.text as t2
> FROM Tweets as t, TweetsExt as te
> WHERE t.a = te.a and t.a = "10"
> {noformat}
> Plan:
> {noformat}
> distribute result [$$28]
> -- DISTRIBUTE_RESULT  |PARTITIONED|
>   exchange
>   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
>     project ([$$28])
>     -- STREAM_PROJECT  |PARTITIONED|
>       assign [$$28] <- [{"t1": $$32, "t2": $$33}]
>       -- ASSIGN  |PARTITIONED|
>         project ([$$32, $$33])
>         -- STREAM_PROJECT  |PARTITIONED|
>           exchange
>           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
>             join (eq($$29, $$31))
>             -- HYBRID_HASH_JOIN [$$29][$$31]  |PARTITIONED|
>               exchange
>               -- HASH_PARTITION_EXCHANGE [$$29]  |PARTITIONED|
>                 select (eq($$29, "10"))
>                 -- STREAM_SELECT  |PARTITIONED|
>                   project ([$$32, $$29])
>                   -- STREAM_PROJECT  |PARTITIONED|
>                     assign [$$32, $$29] <- [$$t.getField("text"), $$t.getField("a")]
>                     -- ASSIGN  |PARTITIONED|
>                       project ([$$t])
>                       -- STREAM_PROJECT  |PARTITIONED|
>                         exchange
>                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
>                           data-scan []<-[$$30, $$t] <- TwitterDataverse.Tweets
>                           -- DATASOURCE_SCAN  |PARTITIONED|
>                             exchange
>                             -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
>                               empty-tuple-source
>                               -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
>               exchange
>               -- HASH_PARTITION_EXCHANGE [$$31]  |PARTITIONED|
>                 project ([$$33, $$31])
>                 -- STREAM_PROJECT  |PARTITIONED|
>                   assign [$$33, $$31] <- [$$te.getField("text"), $$te.getField("a")]
>                   -- ASSIGN  |PARTITIONED|
>                     exchange
>                     -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
>                       data-scan []<-[$$te] <- TwitterDataverse.TweetsExt
>                       -- DATASOURCE_SCAN  |PARTITIONED|
>                         exchange
>                         -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
>                           empty-tuple-source
>                           -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
> {noformat}



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