1. 24 Apr, 2018 6 commits
  2. 23 Apr, 2018 9 commits
  3. 21 Apr, 2018 3 commits
  4. 20 Apr, 2018 5 commits
  5. 19 Apr, 2018 9 commits
  6. 18 Apr, 2018 2 commits
  7. 17 Apr, 2018 2 commits
  8. 16 Apr, 2018 4 commits
    • Igor Babaev's avatar
      MDEV-14515 ifnull result depends on number of rows in joined table · 5e61e171
      Igor Babaev authored
      Any expensive WHERE condition for a table-less query with
      implicit aggregation was lost. As a result the used aggregate
      functions were calculated over a non-empty set of rows even
      in the case when the condition was false.
      5e61e171
    • Igor Babaev's avatar
      MDEV-15556 MariaDB crash with big_tables=1 and CTE · e34d3184
      Igor Babaev authored
      This bug manifested itself when the optimizer chose an execution plan with
      an access of the recursive CTE in a recursive query by key and ARIA/MYISAM
      temporary tables were used to store recursive tables.
      The problem appeared due to passing an incorrect parameter to the call of
      instantiate_tmp_table() in the function With_element::instantiate_tmp_tables().
      e34d3184
    • Igor Babaev's avatar
      MDEV-15571 Wrong results with big_tables=1 and CTE · 61285078
      Igor Babaev authored
      The cause of this bug was the same as for the bug mdev-15575.
      Fixed by the patch for the latter.
      61285078
    • Igor Babaev's avatar
      MDEV-15575 different results when using CTE and big_tables=1. · 224f7af9
      Igor Babaev authored
      This bug happened due to a defect of the implementation of the handler
      function ha_delete_all_rows() for the ARIA engine.
      The function maria_delete_all_rows() truncated the table, but it didn't
      touch the write cache, so the cache's write offset was not reset.
      In the scenario like in the function st_select_lex_unit::exec_recursive
      when first all records were deleted from the table and then several new
      records were added some metadata became inconsistent with the state of
      the cache. As a result the table scan function could not read records
      at the end of the table.
      The same defect could be found in the implementation of ha_delete_all_rows()
      for the MYISAM engine mi_delete_all_rows().
      
      Additionally made late instantiation for the temporary table used to store
      rows that were used for each new iteration when executing a recursive CTE.
      224f7af9