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

Need to clean up temporarry table in select handler. Optimize the way select handler search for tables and rewrites the query.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 10.4.6
    • Fix Version/s: 10.4.8
    • Component/s: OTHER
    • Labels:
      None

      Description

      There are number of defficiences that should be addressed in 10.4.

      • Pushdown_select instance doesn't clean up the temporary table created for Select_handler
      • The loop in SELECT_LEX::find_select_handler() should iterater of TABLE_LIST from next_global and not next_local. Then subquery tables' handlertons could be searched for select handler capabilities
      • JOIN::optimize_inner() should be called before Select_handler::init() in JOIN::optimize(). If Select_handler::init() is called before JOIN::optimize() then processing of statements like the one is broken since Server doesn't rewrite one of outter JOINs with inner JOIN.

        select j1_key, j6_key, j11_key from j1 right join j6 on j1_key=j6_key right join j11 on j6_key = j11_key where j6_key > 0;
        

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              drrtuy Roman
              Reporter:
              drrtuy Roman
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: