>From Michael Blow <[email protected]>:
Michael Blow has uploaded this change for review. (
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
---
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/Stats.java
1 file changed, 16 insertions(+), 3 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/06/18106/1
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: 1
Gerrit-Owner: Michael Blow <[email protected]>
Gerrit-CC: [email protected]
Gerrit-MessageType: newchange