Currently, Trino DictionaryBlock stores null value in the dictionary. This is weird and is not compatible with the way that Pixels DictionaryColumnVector handles null values.
In Issue #84, we fix this problem by appending a null value to the dictionary block if there are null values in the column vector. However, this is inefficient as it leads to memory copies and array iterations. We should add our own DictionaryBlock implementation.