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

deprecate engine_condition_pushdown value of the @@optimizer_switch

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

            serg Sergei Golubchik created issue -
            serg Sergei Golubchik made changes -
            Field Original Value New Value
            serg Sergei Golubchik made changes -
            Summary enable engine condition push-down by default deprecate engine_condition_pushdown value of the @@optimizer_switch
            serg Sergei Golubchik made changes -
            Description enable engine condition push-down by default the setting of {{

            enable engine condition push-down by default
            serg Sergei Golubchik made changes -
            Description the setting of {{

            enable engine condition push-down by default
            the setting of {{SET @@optimizer_switch='engine_condition_pushdown=on'}} was originally introduced in MySQL to allow the user to enable condition push-down into the NDB cluster.

            enable engine condition push-down by default
            serg Sergei Golubchik made changes -
            Description the setting of {{SET @@optimizer_switch='engine_condition_pushdown=on'}} was originally introduced in MySQL to allow the user to enable condition push-down into the NDB cluster.

            enable engine condition push-down by default
            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.

            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.

            enable engine condition push-down by default
            serg Sergei Golubchik made changes -
            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.

            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.

            enable engine condition push-down by default
            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.
            serg Sergei Golubchik made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            serg Sergei Golubchik made changes -
            Status In Progress [ 3 ] Stalled [ 10000 ]
            serg Sergei Golubchik made changes -
            Status Stalled [ 10000 ] In Progress [ 3 ]
            serg Sergei Golubchik made changes -
            Component/s Optimizer [ 10200 ]
            Fix Version/s 10.1.1 [ 16801 ]
            Fix Version/s 10.1 [ 16100 ]
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Closed [ 6 ]
            ratzpo Rasmus Johansson (Inactive) made changes -
            Workflow MariaDB v2 [ 51708 ] MariaDB v3 [ 64682 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 64682 ] MariaDB v4 [ 132376 ]

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.