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

[PATCH] Wrong macro expansion in Query_cache::send_result_to_client()

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 10.0.20, 10.1.5
    • Fix Version/s: 10.0.22, 10.1.7
    • Component/s: OTHER
    • Labels:
      None

      Description

      Query_cache::send_result_to_client() has a statement here https://github.com/MariaDB/server/blob/10.1/sql/sql_cache.cc#L2141 that looks like the following:

      thd->query_plan_flags= (thd->query_plan_flags & ~QPLAN_QC_NO) | QPLAN_QC;

      Given that QPLAN_QC_NO is defined as 1 << 6 (without parenthesis) in https://github.com/MariaDB/server/blob/10.1/sql/log_slow.h, the expression expands into something that is apparently not wanted.

      All macro definitions in sql/log_slow.h should be put in parenthesis.

        Attachments

          Activity

            People

            • Assignee:
              sanja Oleksandr Byelkin
              Reporter:
              pivanof Pavel Ivanov
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: