[
https://issues.apache.org/jira/browse/ASTERIXDB-3266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wail Y. Alkowaileet resolved ASTERIXDB-3266.
--------------------------------------------
Resolution: Fixed
> Avoid pushing SELECT for EVERY in columnar and external filters
> ---------------------------------------------------------------
>
> 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
> Priority: Major
> Fix For: 0.9.9
>
>
> SELECT for EVERY should not be pushed as it gives 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)