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)