The value SET @@optimizer_switch='engine_condition_pushdown=on' was originally introduced in MySQL to allow the user to enable condition pushdown into the NDB cluster. But by default it was disabled.
In MariaDB we don't support NDB cluster. But we have other engines that support condition pushdown. In MariaDB-5.2 we've added a table flag that allows an engine to override condition pushdown configuration and force it to be enabled it unconditionally. For this engine only, that is.
De facto we have now the case when all engines that support condition pushdown use this override. There are two possibilities now:
- remove the value of "engine_condition_pushdown" from the @@optimizer_switch, or
- remove the override and enable engine_condition_pushdown by default.
Enabling it by defaults adds a sizable overhead into the query processing. This overhead applies always and for all engines, even if they don't support condition pushdown. And, apparently, most engines that support conditon pushdown prefer it to be always enabled.
Thus we'll remove "engine_condition_pushdown" from the @@optimizer_switch. In 10.1 it'll will do nothing and will be marked deprecated. In 10.2 it'll disappear.