Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Today, DataFusion's expression evaluation does not work natively on DictionaryArrays; Instead what happens is that the DictionaryArrays are unpacked into their base type (e.g. a string dictionary gets unpacked into a StringArray)
This is very inefficient, especially for expressions like col != 'foo' -- if col is a DictionaryArray this filter could be applied by finding 'foo' in the dictionary and then checking for values with that dictionary index, and the dictionary could be reused at the output.
Describe the solution you'd like
When
That probably looks something like:
Describe alternatives you've considered
Additional context
See #87 for more detail
There are several other operation where dictionary calculation could be much better (e.g. hash aggregate, join, etc)