Skip to content
Snippets Groups Projects
Commit ebd1bf99 authored by Andreas Klöckner's avatar Andreas Klöckner
Browse files

Re-improve: type inf error messages for invalid aggregate lookups

parent 68a3611d
No related branches found
No related tags found
1 merge request!115Fix domain tree branch detection
...@@ -332,13 +332,21 @@ class TypeInferenceMapper(CombineMapper): ...@@ -332,13 +332,21 @@ class TypeInferenceMapper(CombineMapper):
if not agg_result: if not agg_result:
return agg_result return agg_result
fields = agg_result[0].numpy_dtype.fields numpy_dtype = agg_result[0].numpy_dtype
fields = numpy_dtype.fields
if fields is None: if fields is None:
raise LoopyError("cannot look up attribute '%s' in " raise LoopyError("cannot look up attribute '%s' in "
"non-aggregate expression '%s'" "non-aggregate expression '%s'"
% (expr.aggregate, expr.name)) % (expr.aggregate, expr.name))
dtype = fields[0] try:
field = fields[expr.name]
except KeyError:
raise LoopyError("cannot look up attribute '%s' in "
"aggregate expression '%s' of dtype '%s'"
% (expr.aggregate, expr.name, numpy_dtype))
dtype = field[0]
return [NumpyType(dtype)] return [NumpyType(dtype)]
def map_comparison(self, expr): def map_comparison(self, expr):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment