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

deprecate engine_condition_pushdown value of the @@optimizer_switch

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 10.1.1
    • Component/s: Optimizer
    • Labels:
      None

      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              There are no comments yet on this issue.

                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:

                    Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 1 hour
                    1h