1. 26 Jul, 2018 1 commit
    • Julius Goryavsky's avatar
      MDEV-10754 wsrep_sst_rsync does not support innodb_data_home_dir · 46d5e1f2
      Julius Goryavsky authored
      If innodb_data_home_dir path specified in the configuration file
      then rsync IST/SST will fail because the wsrep_sst_rsync.sh script
      does not read this parameter from the configuration file and then
      tries to find the data files in the default directory.
      
      To fix this error, we need to add reading of the innodb_data_home_dir
      configuration parameter to the rsync-related SST script.
      46d5e1f2
  2. 25 Jul, 2018 2 commits
    • Igor Babaev's avatar
      MDEV-16820 Lost 'Impossible where' from query with inexpensive subquery · 1fde449f
      Igor Babaev authored
      This patch fixes another problem introduced by the patch for mdev-4817.
      The latter changed Item_cond::fix_fields() in such a way that it could
      call the virtual method is_expensive(). With the first its call
      the method saves the result in Item::is_expensive_cache. For all next
      calls the method returns the result from this cache. So if the item
      once was determined as expensive the method always returns true.
      For subqueries it's not good, because non-optimized subqueries always
      is considered as expensive.
      It means that the cache should be invalidated after the call of
      optimize_constant_subqueries().
      1fde449f
    • Jan Lindström's avatar
      MDEV-15822: WSREP: BF lock wait long for trx · 57cde8cc
      Jan Lindström authored
      In Galera BF (brute force) transactions may not wait for lock requests
      and normally BF-transaction would select transaction holding conflicting
      locks as a victim for rollback. However, background statistic calculation
      transaction is InnoDB internal transaction and it has no thd i.e. it can't be
      selected as a victim. If background statistics calculation transaction holds
      conflicting locks to statistics tables it will cause BF lock wait long
      error message. Correct way to handle background statistics calculation is to
      acquire thd for transaction but that change is too big for GA-releases and
      there are other reported problems on background statistics calculation.
      
      This fix avoids adding a table to background statistics calculation if
      57cde8cc
  3. 20 Jul, 2018 1 commit
  4. 19 Jul, 2018 4 commits
  5. 18 Jul, 2018 3 commits
  6. 17 Jul, 2018 1 commit
  7. 16 Jul, 2018 3 commits
  8. 15 Jul, 2018 2 commits
    • Igor Babaev's avatar
      MDEV-16760 CREATE OR REPLACE TABLE never updates statistical tables · ae0eb507
      Igor Babaev authored
      If the command CREATE OR REPLACE TABLE really replaces a table then
      it should remove all data on this table from all statistical tables.
      ae0eb507
    • Igor Babaev's avatar
      MDEV-16757 Memory leak after adding manually min/max statistical data · 095dc811
      Igor Babaev authored
                 for blob column
      
      ANALYZE TABLE <table> does not collect statistical data on min/max values
      for BLOB columns of <table>. However these values can be added into
      mysql.column_stats manually by executing proper statements.
      Unfortunately this led to a memory leak because the memory allocated
      for these values was never freed.
      This patch provides the server with a function to free memory allocated
      for min/max statistical values of BLOB types.
      
      Temporarily changed the test case until MDEV-16711 is fixed as without
      this fix the test case for MDEV-16757 did not fail only for 10.0.
      095dc811
  9. 14 Jul, 2018 2 commits
    • Igor Babaev's avatar
      MDEV-16760 CREATE OR REPLACE TABLE never updates statistical tables · 1fd84f91
      Igor Babaev authored
      If the command CREATE OR REPLACE TABLE really replaces a table then
      it should remove all data on this table from all statistical tables.
      1fd84f91
    • Igor Babaev's avatar
      MDEV-16757 Memory leak after adding manually min/max statistical data · c89bb15c
      Igor Babaev authored
                 for blob column
      
      ANALYZE TABLE <table> does not collect statistical data on min/max values
      for BLOB columns of <table>. However these values can be added into
      mysql.column_stats manually by executing proper statements.
      Unfortunately this led to a memory leak because the memory allocated
      for these values was never freed.
      This patch provides the server with a function to free memory allocated
      for min/max statistical values of BLOB types.
      c89bb15c
  10. 11 Jul, 2018 2 commits
  11. 10 Jul, 2018 1 commit
  12. 02 Jul, 2018 4 commits
  13. 30 Jun, 2018 1 commit
    • Igor Babaev's avatar
      MDEV-16603 Crash with set join_cache_level=4 · 90cb7212
      Igor Babaev authored
      When the definition of the index used for hash join was created
      in create_hj_key_for_table() it could cause memory overwrite
      due to a bug that led to an underestimation of the number of
      the index component.
      90cb7212
  14. 29 Jun, 2018 3 commits
  15. 28 Jun, 2018 5 commits
  16. 27 Jun, 2018 5 commits
    • Sergey Vojtovich's avatar
      MDEV-8540 - Crash on server shutdown since 10.0.16 · 9d41dd2f
      Sergey Vojtovich authored
      For the purpose of reporting an error to error log, shutdown thread was
      attempting to access current_thd->variables.lc_messages->errmsgs->errmsgs.
      Whereas current_thd was NULL.
      
      We should log errors according to global lc_messages setting instead of
      session setting.
      9d41dd2f
    • Sergey Vojtovich's avatar
      MDEV-8540 - Crash on server shutdown since 10.0.16 · bf4244d1
      Sergey Vojtovich authored
      Only close stdin if it was open initinally. Otherwise we may close file
      descriptor which is reused for different puprose (specifically for binlog
      index file in case of this bug).
      bf4244d1
    • Michael Widenius's avatar
      Fixed MDEV-16512, crashing on re-execution of failing SP · 937c1931
      Michael Widenius authored
      MDEV-16512 Server crashes in find_field_in_table_ref on 2nd
      execution of SP referring to non-existing field
      
      Problem was in the natural join code that it changed TABLE_LIST and
      Item_fields but didn't restore changed things if things goes wrong
      and was not able to re-execute after failure.
      Some of the problems could have been avoided if we would have run
      fix_fields before doing natural join transformations.
      
      Fixed by marking functions complete AFTER they had executed, instead at
      start.
      I had also to change some tests that checked if Item_fields are usable.
      
      This doesn't fix all known problems, but at least avoids some crashes.
      What should be done in the near future is to mark the statement in the SP
      as 'not re-executable' and force a reparse of it on next execution.
      
      Reviewer: Sergei Petrunia <psergey@askmonty.org>
      937c1931
    • Michael Widenius's avatar
      faef2e6a
    • Michael Widenius's avatar
      1f6a89a8