Rework dict encoding of PooledArray/CategoricalArray to fix outstandi… (#119)
* Rework dict encoding of PooledArray/CategoricalArray to fix outstanding issues
Fixes #117, #116, and #113. For #116, we just need to special case if user happens to pass in a DictEncoded themselves. We need to pass it through to the `toarrowvector` method that no-ops. For #113, we require the new functionality in PooledArrays that allows passing the `signed` and `compress` keyword arguments to ensure we get signed refs for our dict encoding. For #117, we add CategoricalArrays as a test dependency and ensure that if it contains any `missing` value, we *don't* recode the indices values down by 1, since the `missing` ref is 0, so other refs can already be considered "offsets". If there are no `missing`, then we still need to recode down since refs should always start from 0 in arrow format.
* PooledArrays 1.0 compat
* Update src/arraytypes/dictencoding.jl
Co-authored-by: Milan Bouchet-Valat <nalimilan@club.fr>
* Check refpool
* Fix test
Co-authored-by: Milan Bouchet-Valat <nalimilan@club.fr>