[ https://issues.apache.org/jira/browse/ASTERIXDB-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ian Maxon updated ASTERIXDB-3339: --------------------------------- Labels: triaged (was: ) > Ensure full predicate is pushed on broken disjuncts > --------------------------------------------------- > > Key: ASTERIXDB-3339 > URL: https://issues.apache.org/jira/browse/ASTERIXDB-3339 > Project: Apache AsterixDB > Issue Type: Bug > Components: COMP - Compiler > Affects Versions: 0.9.9 > Reporter: Wail Y. Alkowaileet > Assignee: Wail Y. Alkowaileet > Priority: Major > Labels: triaged > Fix For: 0.9.9 > > > Query: > {noformat} > SELECT VALUE COUNT(*) > FROM orders p > WHERE p.arrayOrObject.text = "7" > OR (SOME ao IN p.arrayOrObject SATISFIES ao.text = "1") {noformat} > Plan: > {noformat} > distribute result [$$53] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] > -- DISTRIBUTE_RESULT |UNPARTITIONED| > exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] > -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| > aggregate [$$53] <- [agg-sql-sum($$58)] [cardinality: 0.0, op-cost: 0.0, > total-cost: 0.0] > -- AGGREGATE |UNPARTITIONED| > exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] > -- RANDOM_MERGE_EXCHANGE |PARTITIONED| > aggregate [$$58] <- [agg-sql-count(1)] [cardinality: 0.0, op-cost: > 0.0, total-cost: 0.0] > -- AGGREGATE |PARTITIONED| > select (or(eq($$57.getField("text"), "7"), $$44)) [cardinality: > 0.0, op-cost: 0.0, total-cost: 0.0] > -- STREAM_SELECT |PARTITIONED| > subplan { > aggregate [$$44] <- [non-empty-stream()] [cardinality: > 0.0, op-cost: 0.0, total-cost: 0.0] > -- AGGREGATE |LOCAL| > select (eq($$55, "1")) [cardinality: 0.0, op-cost: > 0.0, total-cost: 0.0] > -- STREAM_SELECT |LOCAL| > assign [$$55] <- [$$ao.getField("text")] > [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] > -- ASSIGN |LOCAL| > unnest $$ao <- scan-collection($$57) > [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] > -- UNNEST |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| > project ([$$57]) [cardinality: 0.0, op-cost: 0.0, total-cost: > 0.0] > -- STREAM_PROJECT |PARTITIONED| > assign [$$57] <- [$$p.getField("arrayOrObject")] > [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] > -- ASSIGN |PARTITIONED| > project ([$$p]) [cardinality: 0.0, op-cost: 0.0, > total-cost: 0.0] > -- STREAM_PROJECT |PARTITIONED| > exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] > -- ONE_TO_ONE_EXCHANGE |PARTITIONED| > data-scan []<-[$$52, $$p] <- ColumnCH2Tiny.orders > project ({arrayOrObject:<[{text:any}],{text:any}>}) filter on: > eq(scan-collection($$p.getField("arrayOrObject")).getField("text"), "1") > range-filter on: > eq(scan-collection($$p.getField("arrayOrObject")).getField("text"), "1") > [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} > > Pushed columnar filter: > eq(scan-collection($$p.getField("arrayOrObject")).getField("text"), "1") is > incomplete – making the query producing incorrect result -- This message was sent by Atlassian Jira (v8.20.10#820010)