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>