1. 15 Jul, 2019 1 commit
    • Sujatha's avatar
      MDEV-11154: Write_on_release_cache(log_event.cc) function will not write... · 10ebdb7f
      Sujatha authored
      MDEV-11154: Write_on_release_cache(log_event.cc) function will not write "COMMIT", if use "mysqlbinlog ... | mysql ..."
      
      Problem:
      =======
      Executing command, "mysqlbinlog --read-from-remote-server --host='xx.xx.xx.xx'
      --port=3306 --user=xxx --password=xxx --database=mysql --to-last-log
      mysql-bin.000001 --start-position=1098699 --stop-never |mysql -uxxx -pxxx", we
      found that last data read from remote couldn't commit.
      
      Analysis:
      ========
      The purpose of 'Write_on_release_cache' is that the contents of the Cache will
      automatically be written to a dedicated result file on destruction. Flush
      operation on the result file is controlled by a flag 'FLUSH_F'. Events which
      require force flush upon their destruction will have to enable this
      'Write_on_release_cache::FLUSH_F'. At present the 'FLUSH_F' flag is defined as
      an enum as shown below.
      
      enum flag
      {
        FLUSH_F
      };
      
      Since 'FLUSH_F' is the first member without initialization it get the default
      value '0'. Because of this the following flush condition never succeeds.
      
      if (m_flags & FLUSH_F)
        fflush(m_file);
      
      At present the file gets flushed only during my_fclose(result_file) operation.
      When continuous streaming is enabled through --stop-never option it never gets
      flushed and hence events are not replicated.
      
      Fix:
      ===
      Initialize the enum value to non zero value.
      10ebdb7f
  2. 11 Jul, 2019 2 commits
  3. 10 Jul, 2019 4 commits
  4. 09 Jul, 2019 1 commit
    • Varun Gupta's avatar
      MDEV-17963: Assertion `field_pos < field_count' failed in... · fd08f953
      Varun Gupta authored
      MDEV-17963: Assertion `field_pos < field_count' failed in Protocol_text::store, Assertion `field_handlers == 0 || field_pos < field_count'
      
      The problem was that sp_head::MULTI_RESULTS was not set correctly for ANALYZE statement
      with SELECT ... INTO variable.
      This is a follow up fix for MDEV-7023
      fd08f953
  5. 08 Jul, 2019 1 commit
  6. 06 Jul, 2019 1 commit
  7. 05 Jul, 2019 3 commits
  8. 04 Jul, 2019 3 commits
  9. 03 Jul, 2019 1 commit
  10. 02 Jul, 2019 2 commits
  11. 01 Jul, 2019 2 commits
  12. 28 Jun, 2019 3 commits
  13. 27 Jun, 2019 3 commits
  14. 26 Jun, 2019 1 commit
  15. 25 Jun, 2019 4 commits
  16. 20 Jun, 2019 1 commit
  17. 19 Jun, 2019 2 commits
  18. 17 Jun, 2019 1 commit
    • Igor Babaev's avatar
      MDEV-19790 Wrong result for query with outer join and IS NOT TRUE predicate · 167da05f
      Igor Babaev authored
                 in where clause
      
      The classes Item_func_isnottrue and Item_func_isnotfalse inherited the
      implementation of the eval_not_null_tables method from the Item_func
      class. As a result the not_null_tables_cache was set incorrectly for
      the objects of these classes. It led to improper conversion of outer
      joins to inner joins when the where clause of the processed query
      contained IS NOT TRUE or IS NOT FALSE predicates. The coverted query
      in many cases produced a wrong result set.
      167da05f
  19. 14 Jun, 2019 1 commit
  20. 12 Jun, 2019 3 commits
    • Oleksandr Byelkin's avatar
      Merge branch '5.5' into 10.1 · 5b65d61d
      Oleksandr Byelkin authored
      5b65d61d
    • Eugene Kosov's avatar
      MDEV-13631 Make use of clang-format · 039b8782
      Eugene Kosov authored
      Explicitly mention every options in .clang-format to protect us from possible
      future changes.
      
      Remove separate InnoDB style.
      
      Change style to look more like this script:
      for x in $@
      do
       indent -kr -bl -bli0 -l79 -i2 -nut -c48 -dj -cp0 $x
       sed -ri -e 's/ = /= /g'\
               -e '/switch.*\)$/{N;s/\n[ ]+/ /}' $x
      done
      
      Significant different is that 'switch' and '{' are put on different lines
      because it's impossible in clang-format to set formatting rules just for
      'switch' statement.
      039b8782
    • Marko Mäkelä's avatar
      MDEV-16111 encryption.innodb_lotoftables failed in buildbot with wrong result · 56c60b2f
      Marko Mäkelä authored
      Remove the test, because it easily fails with a result difference.
      Analysis by Thirunarayanan Balathandayuthapani:
      
      By default, innodb_encrypt_tables=0.
      1) Test case creates 100 tables in innodb_encrypt_1.
      2) creates another 100 unencrypted tables (encryption=off) in innodb_encrypt_2
      3) creates another 100 encrypted tables (encryption=on) in innodb_encrypt_3
      4) enabling innodb_encrypt_tables=1 and checking that only
      100 encrypted tables exist. (already we have 100 in dictionary)
      5) opening all tables again (no idea why)
      6) After that, set innodb_encrypt_tables=0 and wait for 100 tables
      to be decrypted (already we have 100 unencrypted tables)
      7) dropping all databases
      
      Sporadic failure happens because after step 4, it could encrypt the
      normal table too, because innodb_encryption_threads=4.
      
      This test was added in MDEV-9931, which was about InnoDB startup being
      slow due to all .ibd files being opened. There have been a number of
      later fixes to this problem. Currently the latest one is
      commit cad56fba, in which some tests
      (in particular the test innodb.alter_kill) could fail if all InnoDB
      .ibd files are read during startup. That could make this test redundant.
      
      Let us remove the test, because it is big, slow, unreliable, and
      does not seem to reliably catch the problem that all files are being
      read on InnoDB startup.
      56c60b2f