gortiz commented on issue #19781: URL: https://github.com/apache/pinot/issues/19781#issuecomment-6218280496
Thanks for the review. Truncated bounds make sense. The pruners and the MinMax combine only need conservative bounds, so a prefix as lower bound and an incremented prefix as upper bound work for them. Some consumers need the exact value (a future non-null MIN/MAX without a scan, for example), so I would mark truncated values with a separate key. The increment must also follow the comparator that Pinot uses for STRING and BYTES, including the carry when the last character is already the maximum. Today `minValue` and `maxValue` have the same limit and are simply dropped. So I would do this as a follow-up that covers the existing keys and the new ones together, after the first PR. I added it as point 7 in the PR plan above. The first PR keeps "no keys" for values that are too long. On the config: agreed. A server-level default with a table-level override, as `columnMinMaxValueGeneratorMode` does today. -- 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]
