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]>

Reply via email to