>From Michael Blow <[email protected]>:

Michael Blow has submitted this change. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18106 )

Change subject: [NO ISSUE][*DB][CBO] Fixing problem with or predicate
......................................................................

[NO ISSUE][*DB][CBO] Fixing problem with or predicate

Avoid ClassCastException when the first argument of an 'OR' is not a
function.

(cherry picked from commit 335ca4d2)

Change-Id: I15b3709de3af9d42349aac81b52e6c48e364d688
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18106
Reviewed-by: Michael Blow <[email protected]>
Reviewed-by: Murtadha Hubail <[email protected]>
Tested-by: Michael Blow <[email protected]>
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/Stats.java
1 file changed, 20 insertions(+), 3 deletions(-)

Approvals:
  Murtadha Hubail: Looks good to me, approved
  Michael Blow: Looks good to me, but someone else must approve; Verified




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 b3c4876..38d817b 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
@@ -135,9 +135,8 @@
         double sel = 1.0;

         if 
(afcExpr.getFunctionIdentifier().equals(AlgebricksBuiltinFunctions.OR)) {
-            double orSel = getSelectivityFromAnnotation(
-                    (AbstractFunctionCallExpression) 
afcExpr.getArguments().get(0).getValue(), join);
-            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(

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18106
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: neo
Gerrit-Change-Id: I15b3709de3af9d42349aac81b52e6c48e364d688
Gerrit-Change-Number: 18106
Gerrit-PatchSet: 2
Gerrit-Owner: Michael Blow <[email protected]>
Gerrit-Reviewer: Ali Alsuliman <[email protected]>
Gerrit-Reviewer: Hussain Towaileb <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Michael Blow <[email protected]>
Gerrit-Reviewer: Murtadha Hubail
Gerrit-Reviewer: Murtadha Hubail <[email protected]>
Gerrit-CC: Anon. E. Moose #1000171
Gerrit-CC: [email protected]
Gerrit-MessageType: merged

Reply via email to