clintropolis opened a new pull request, #13379: URL: https://github.com/apache/druid/pull/13379
### Description Adds missing `VectorObjectSelector` for multi-value `STRING` typed columns. Several complex aggregators use `VectorObjectSelector` when they don't care for dealing with or can't do anything useful with dictionary lookup stuff directly, so this fills in the missing selector implementation to ensure if it is called that it doesn't explode. While I was here, this selector creating code is heavily copied between `StringDictionaryEncodedColumn`, `StringFrontCodedDictionaryEncodedColumn`, and even `NestedFieldLiteralDictionaryEncodedColumn`, so I have refactored the base machinery into abstract types and then each column implementation can bring its own dictionary to fill out how to do lookup, which was the primary difference between them. <hr> This PR has: - [x] been self-reviewed. - [x] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links. - [x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader. - [x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for [code coverage](https://github.com/apache/druid/blob/master/dev/code-review/code-coverage.md) is met. - [x] been tested in a test Druid cluster. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
