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

Remove excessive update_used_tables() calls

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 5.5(EOL), 10.0(EOL), 10.1(EOL)
    • 10.1.5
    • OTHER
    • None

    Description

      In this code in sql_select.cc:

      static COND *build_equal_items(JOIN *join, COND *cond,
                                     COND_EQUAL *inherited,
                                     List<TABLE_LIST> *join_list,
                                     bool ignore_on_conds,
                                     COND_EQUAL **cond_equal_ref,
                                     bool link_equal_fields)
      {
        THD *thd= join->thd;
        COND_EQUAL *cond_equal= 0;
       
        if (cond) 
        {
          cond= build_equal_items_for_cond(thd, cond, inherited, link_equal_fields);
          cond->update_used_tables();
        ...

      the call for cond->update_used_tables() is not needed in most cases.

      Look into all "return" in build_equal_items_for_cond().
      update_used_tables() is either not needed at all, like in case when "new Item_int" is returned,
      or update_used_tables() is already called inside build_equal_items_for_cond().

      This task is to move the call for code->update_used_tables() from build_equal_items() into build_equal_items_for_cond(), and then to get rid of the unnecessary calls in the cases that don't really need it.

      Attachments

        Issue Links

          Activity

            People

              bar Alexander Barkov
              bar Alexander Barkov
              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 - 0d
                  0d
                  Logged:
                  Time Spent - 1.5h
                  1.5h

                  Git Integration

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