Hussain Towaileb has uploaded this change for review. (
https://asterix-gerrit.ics.uci.edu/3409
Change subject: [NO ISSUE][FUN] Bitwise - use unknowable instead of nullable
......................................................................
[NO ISSUE][FUN] Bitwise - use unknowable instead of nullable
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- Use unknowable type instead of nullable for bitwise
type computers since a value of type "any" can be
"missing", and that would result in "missing" result
at runtime.
Change-Id: I93e002531812ac26fe70e573db1467ea52b9920a
---
M
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
M
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
2 files changed, 9 insertions(+), 9 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/09/3409/1
diff --git
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
index 3117fba..c81da90 100644
---
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
+++
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitMultipleValuesTypeComputer.java
@@ -64,7 +64,7 @@
}
// Result can be nullable in case of invalid arguments like double
value of 4.5 (4.0 is acceptable, 4.5 is not)
- boolean isReturnNullable = false;
+ boolean isReturnUnknowable = false;
// Check that all arguments are of valid type, otherwise a null is
returned
for (IAType type : strippedInputTypes) {
@@ -77,13 +77,13 @@
case FLOAT:
case DOUBLE:
case ANY:
- isReturnNullable = true;
+ isReturnUnknowable = true;
continue;
default:
return BuiltinType.ANULL;
}
}
- return isReturnNullable ? AUnionType.createNullableType(returnType) :
returnType;
+ return isReturnUnknowable ?
AUnionType.createUnknownableType(returnType) : returnType;
}
}
diff --git
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
index 3e3256a..2da69c8 100644
---
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
+++
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/BitValuePositionFlagTypeComputer.java
@@ -82,7 +82,7 @@
protected IAType getResultType(ILogicalExpression expr, IAType...
strippedInputTypes) throws AlgebricksException {
// Result can be nullable in case of invalid arguments like double
value of 4.5 (4.0 is acceptable, 4.5 is not)
- boolean isReturnNullable = false;
+ boolean isReturnUnknowable = false;
IAType firstArgument = strippedInputTypes[0];
IAType secondArgument = strippedInputTypes[1];
@@ -97,7 +97,7 @@
case FLOAT:
case DOUBLE:
case ANY:
- isReturnNullable = true;
+ isReturnUnknowable = true;
break;
default:
return BuiltinType.ANULL;
@@ -113,7 +113,7 @@
case FLOAT:
case DOUBLE:
case ANY:
- isReturnNullable = true;
+ isReturnUnknowable = true;
break;
case ARRAY:
if (!secondArgCanBeArray) {
@@ -132,7 +132,7 @@
case FLOAT:
case DOUBLE:
case ANY:
- isReturnNullable = true;
+ isReturnUnknowable = true;
break;
default:
return BuiltinType.ANULL;
@@ -150,13 +150,13 @@
case BOOLEAN:
break;
case ANY:
- isReturnNullable = true;
+ isReturnUnknowable = true;
break;
default:
return BuiltinType.ANULL;
}
}
- return isReturnNullable ? AUnionType.createNullableType(returnType) :
returnType;
+ return isReturnUnknowable ?
AUnionType.createUnknownableType(returnType) : returnType;
}
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/3409
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I93e002531812ac26fe70e573db1467ea52b9920a
Gerrit-Change-Number: 3409
Gerrit-PatchSet: 1
Gerrit-Owner: Hussain Towaileb <[email protected]>