Hi all, I wanted to discuss the deprecation and removal of the Druid configs related to SQL compatibility, with the eventual goal of always running in SQL compatible mode. As of Druid 28, these are the default, but in the interest of dramatically reducing complexity and removing a ton of code, and also cutting a lot of our CI time in half, I would eventually like to remove the related configs and the code that handles the now non-default behaviors completely.
The related configs are: runtime.properties: druid.generic.useDefaultValueForNull - (will become always false) druid.expressions.useStrictBooleans - (will become always true) druid.generic.useThreeValueLogicForNativeFilters - (will become always true) druid.generic.ignoreNullsForStringCardinality - (irrelevant if druid.generic.useDefaultValueForNull=false) query context: sqlUseBoundAndSelectors - (this is moderately related, and defaults to value of druid.generic.useDefaultValueForNull, but enhancements to expressions and sql planning for lookups make this totally unnecessary to keep around) other things to dump while we are at it: druid.expressions.allowNestedArrays - (will become always true) There might be additional configs which can also be removed, we can add to this thread if we can think of them. I would like to get the official deprecation process started now with Druid 29, and imagine actually removing them sometime towards the end of the year, so maybe Druid 32 or so? Before completely removing them I think I would like to get a more in depth migration guide in place, to help any hold-outs that are overriding the now default SQL compatible configs so that things still run in the legacy mode. Thoughts? Concerns? --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@druid.apache.org For additional commands, e-mail: dev-h...@druid.apache.org