Wail Y. Alkowaileet created ASTERIXDB-3266:
----------------------------------------------

             Summary: Avoid pushing SELECT for columnar and external filters if 
appeared in a SUBPLAN
                 Key: ASTERIXDB-3266
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-3266
             Project: Apache AsterixDB
          Issue Type: Bug
          Components: COMP - Compiler
    Affects Versions: 0.9.9
            Reporter: Wail Y. Alkowaileet
            Assignee: Wail Y. Alkowaileet
             Fix For: 0.9.9


SELECT in SUBPLAN should not be pushed as it can give incorrect result.

QUERY:
{noformat}
SELECT VALUE r
FROM reviewsWithDynamicPrefixes r
WHERE customer_id NOT IN [5]; {noformat}
 

PLAN:
{noformat}
distribute result [$$r] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
-- DISTRIBUTE_RESULT  |PARTITIONED|
  exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
    project ([$$r]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
    -- STREAM_PROJECT  |PARTITIONED|
      select ($$18) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
      -- STREAM_SELECT  |PARTITIONED|
        project ([$$r, $$18]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
        -- STREAM_PROJECT  |PARTITIONED|
          subplan {
                    aggregate [$$18] <- [empty-stream()] [cardinality: 0.0, 
op-cost: 0.0, total-cost: 0.0]
                    -- AGGREGATE  |LOCAL|
                      select (not(if-missing-or-null(neq($$19, 5), false))) 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
                      -- STREAM_SELECT  |LOCAL|
                        nested tuple source [cardinality: 0.0, op-cost: 0.0, 
total-cost: 0.0]
                        -- NESTED_TUPLE_SOURCE  |LOCAL|
                 } [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
          -- SUBPLAN  |PARTITIONED|
            assign [$$19] <- [$$r.getField("customer_id")] [cardinality: 0.0, 
op-cost: 0.0, total-cost: 0.0]
            -- ASSIGN  |PARTITIONED|
              exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                data-scan []<-[$$r] <- Default.reviewsWithDynamicPrefixes 
prefix-filter on: not(if-missing-or-null(neq($$r.getField("customer_id"), 5), 
false)) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
                -- DATASOURCE_SCAN  |PARTITIONED|
                  exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
                    empty-tuple-source [cardinality: 0.0, op-cost: 0.0, 
total-cost: 0.0]
                    -- EMPTY_TUPLE_SOURCE  |PARTITIONED| {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to