Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-6513

deprecate engine_condition_pushdown value of the @@optimizer_switch

    XMLWordPrintable

    Details

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              serg Sergei Golubchik
              Reporter:
              serg Sergei Golubchik
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: