(&mut self, value: V::Native)
| 281 | { |
| 282 | #[inline] |
| 283 | fn get_or_insert_key(&mut self, value: V::Native) -> Result<K::Native, ArrowError> { |
| 284 | match self.map.get(&Value(value)) { |
| 285 | Some(&key) => { |
| 286 | Ok(K::Native::from_usize(key).ok_or(ArrowError::DictionaryKeyOverflowError)?) |
| 287 | } |
| 288 | None => { |
| 289 | let key = self.values_builder.len(); |
| 290 | self.values_builder.append_value(value); |
| 291 | self.map.insert(Value(value), key); |
| 292 | Ok(K::Native::from_usize(key).ok_or(ArrowError::DictionaryKeyOverflowError)?) |
| 293 | } |
| 294 | } |
| 295 | } |
| 296 | |
| 297 | /// Append a primitive value to the array. Return an existing index |
| 298 | /// if already present in the values array or a new index if the |
no test coverage detected