Till Westmann has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/2957

Change subject: [NO ISSUE][COMP] Fix the result type for the get-item accessor
......................................................................

[NO ISSUE][COMP] Fix the result type for the get-item accessor

- user model changes: no
- storage format changes: no
- interface changes: no

Change-Id: I5bcdd7148591a07a08ef0aa898053f72ad8562e3
---
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NonTaggedGetItemResultType.java
1 file changed, 7 insertions(+), 8 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/57/2957/1

diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NonTaggedGetItemResultType.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NonTaggedGetItemResultType.java
index e896ae7..e2bc205 100644
--- 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NonTaggedGetItemResultType.java
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NonTaggedGetItemResultType.java
@@ -56,15 +56,14 @@
     @Override
     protected IAType getResultType(ILogicalExpression expr, IAType... 
strippedInputTypes) throws AlgebricksException {
         IAType type = strippedInputTypes[0];
-        if (type.getTypeTag() == ATypeTag.ANY) {
-            return BuiltinType.ANY;
+        if (type.getTypeTag() == ATypeTag.MULTISET || type.getTypeTag() == 
ATypeTag.ARRAY) {
+            IAType collectionType = ((AbstractCollectionType) 
type).getItemType();
+            if (ATypeTag.ANY == collectionType.getTypeTag()) {
+                return BuiltinType.ANY;
+            }
+            return AUnionType.createUnknownableType(collectionType);
         }
-        IAType itemType = ((AbstractCollectionType) type).getItemType();
-        if (itemType.getTypeTag() == ATypeTag.ANY) {
-            return itemType;
-        }
-        // Could have out-of-bound access or null elements.
-        return AUnionType.createUnknownableType(itemType);
+        return BuiltinType.ANY;
     }
 
 }

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2957
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5bcdd7148591a07a08ef0aa898053f72ad8562e3
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Till Westmann <ti...@apache.org>

Reply via email to