This is an automated email from the ASF dual-hosted git repository.
vsarathy1 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git
The following commit(s) were added to refs/heads/master by this push:
new d2817a1216 MB-60365: Fixing problem with or predicate.
d2817a1216 is described below
commit d2817a1216e01eff0e4227c37f85f15e556b8ef5
Author: murali4104 <[email protected]>
AuthorDate: Tue Jan 16 20:21:47 2024 -0800
MB-60365: Fixing problem with or predicate.
Change-Id: I15b3709de3af9d42349aac81b52e6c48e364d688
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18098
Tested-by: Jenkins <[email protected]>
Reviewed-by: Vijay Sarathy <[email protected]>
---
.../java/org/apache/asterix/optimizer/rules/cbo/Stats.java | 6 ++----
.../asterix/test/runtime/SqlppAnalyzedExecutionTest.java | 4 ++--
.../results_cbo/column/filter/subplan/subplan.042.plan | 14 +++++++-------
3 files changed, 11 insertions(+), 13 deletions(-)
diff --git
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/Stats.java
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/Stats.java
index 119285d8ad..0023874947 100644
---
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/Stats.java
+++
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/Stats.java
@@ -177,10 +177,8 @@ public class Stats {
double sel = 1.0;
if
(afcExpr.getFunctionIdentifier().equals(AlgebricksBuiltinFunctions.OR)) {
- double orSel = getSelectivityFromAnnotation(
- (AbstractFunctionCallExpression)
afcExpr.getArguments().get(0).getValue(), join,
- singleDatasetPreds);
- for (int i = 1; i < afcExpr.getArguments().size(); i++) {
+ double orSel = 0.0;
+ for (int i = 0; i < afcExpr.getArguments().size(); i++) {
ILogicalExpression lexpr =
afcExpr.getArguments().get(i).getValue();
if
(lexpr.getExpressionTag().equals(LogicalExpressionTag.FUNCTION_CALL)) {
sel = getSelectivityFromAnnotation(
diff --git
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/SqlppAnalyzedExecutionTest.java
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/SqlppAnalyzedExecutionTest.java
index 2e329546be..76347a17ae 100644
---
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/SqlppAnalyzedExecutionTest.java
+++
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/SqlppAnalyzedExecutionTest.java
@@ -45,8 +45,8 @@ public class SqlppAnalyzedExecutionTest {
protected static final String TEST_CONFIG_FILE_NAME =
"src/test/resources/cc-analyze.conf";
private final String[] denyList = { "synonym: synonym-01", "ddl:
analyze-dataset-1", "misc: dump_index",
"array-index: composite-index-queries", "filters: upsert",
"column: analyze-dataset",
- "column: filter/boolean", "column: filter/sql-compat"
- /*re-enable once the cbo stats class cast bug is fixed*/, "ddl:
analyze-dataset-with-indexes", "warnings: cardinality-hint-warning" };
+ "column: filter/boolean", "column: filter/sql-compat", "ddl:
analyze-dataset-with-indexes",
+ "warnings: cardinality-hint-warning" };
@BeforeClass
public static void setUp() throws Exception {
diff --git
a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.042.plan
b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.042.plan
index 9aa6fe54ed..fd431a6292 100644
---
a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.042.plan
+++
b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.042.plan
@@ -1,16 +1,16 @@
-distribute result [$$70] [cardinality: 2.1, op-cost: 0.0, total-cost: 22.0]
+distribute result [$$70] [cardinality: 6.0, op-cost: 0.0, total-cost: 22.0]
-- DISTRIBUTE_RESULT |UNPARTITIONED|
- exchange [cardinality: 2.1, op-cost: 0.0, total-cost: 22.0]
+ exchange [cardinality: 6.0, op-cost: 0.0, total-cost: 22.0]
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- aggregate [$$70] <- [agg-sql-sum($$76)] [cardinality: 2.1, op-cost: 0.0,
total-cost: 22.0]
+ aggregate [$$70] <- [agg-sql-sum($$76)] [cardinality: 6.0, op-cost: 0.0,
total-cost: 22.0]
-- AGGREGATE |UNPARTITIONED|
- exchange [cardinality: 2.1, op-cost: 0.0, total-cost: 22.0]
+ exchange [cardinality: 6.0, op-cost: 0.0, total-cost: 22.0]
-- RANDOM_MERGE_EXCHANGE |PARTITIONED|
- aggregate [$$76] <- [agg-sql-count(1)] [cardinality: 2.1, op-cost:
0.0, total-cost: 22.0]
+ aggregate [$$76] <- [agg-sql-count(1)] [cardinality: 6.0, op-cost:
0.0, total-cost: 22.0]
-- AGGREGATE |PARTITIONED|
- exchange [cardinality: 2.1, op-cost: 0.0, total-cost: 22.0]
+ exchange [cardinality: 6.0, op-cost: 0.0, total-cost: 22.0]
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (or(eq($$71, "7"), neq($$69, 0))) [cardinality: 2.1, op-cost:
6.0, total-cost: 22.0]
+ join (or(eq($$71, "7"), neq($$69, 0))) [cardinality: 6.0, op-cost:
6.0, total-cost: 22.0]
-- NESTED_LOOP |PARTITIONED|
exchange [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0]
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|