1. 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
  2. 08 Jul, 2019 1 commit
  3. 06 Jul, 2019 1 commit
  4. 05 Jul, 2019 3 commits
  5. 04 Jul, 2019 3 commits
  6. 03 Jul, 2019 1 commit
  7. 02 Jul, 2019 2 commits
  8. 01 Jul, 2019 2 commits
  9. 28 Jun, 2019 3 commits
  10. 27 Jun, 2019 3 commits
  11. 26 Jun, 2019 1 commit
  12. 25 Jun, 2019 4 commits
  13. 20 Jun, 2019 1 commit
  14. 19 Jun, 2019 2 commits
  15. 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
  16. 14 Jun, 2019 1 commit
  17. 12 Jun, 2019 7 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
    • sjaakola's avatar
      MDEV-19563 Removed references to deprecated option innodb_locks_unsafe_for_binlog · efc3cb93
      sjaakola authored
      innodb_locks_unsafe_for_binlog variabe removed from wsrep_info test configuration and
      recommendation to use this variable in README-wsrep was removed as well
      
      Also relates to issue: MDEV-19544
      efc3cb93
    • Sergey Vojtovich's avatar
      MDEV-16467 - MariaDB crashes because of "long semaphore wait"after migrating from 10.1 to 10.3 · 9d886de4
      Sergey Vojtovich authored
      This patch fixes 10.2 issue reported in MDEV-16467 by partial backport of
      c2118a08. Specifically "Remove not needed LOCK_thread_count from
      thd_get_error_context_description()".
      9d886de4
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-16866 InnoDB fails to start upon crash recovery with "[ERROR] InnoDB:... · b2f76bac
      Thirunarayanan Balathandayuthapani authored
      MDEV-16866 InnoDB fails to start upon crash recovery with "[ERROR] InnoDB: Redo log crypto: failed to decrypt log block"
      
      - Post-push fix to change the copyright of both xtradb and innodb file.
      b2f76bac
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-16866 InnoDB fails to start upon crash recovery with "[ERROR] InnoDB:... · c5fe1b8f
      Thirunarayanan Balathandayuthapani authored
      MDEV-16866 InnoDB fails to start upon crash recovery with "[ERROR] InnoDB: Redo log crypto: failed to decrypt log block"
      
      - If InnoDB encounters garbage or incomplete written log block during
      recovery then don't throw the error. Treat it as end of the log.
      - This kind of incomplete or empty block can be result of killing
      InnoDB when writing the redo log.
      c5fe1b8f
  18. 11 Jun, 2019 2 commits
  19. 09 Jun, 2019 1 commit
    • Igor Babaev's avatar
      MDEV-19580 Unrelated JOINs corrupt usage of 'WHERE function() IN (subquery)' · 6db2ebbb
      Igor Babaev authored
      Handling of top level conjuncts in WHERE whose used_tables() contained
      RAND_TABLE_BIT in the function make_join_select() was incorrect.
      As a result if such a conjunct referred to fields non of which belonged
      to the last joined table  it was pushed twice. (This could be seen
      for a test case from subselect.test whose output was changed after this
      patch had been applied. In 10.1 when running EXPLAIN FORMAT=JSON for
      the query from this test case we clearly see that one of the conjuncts
      is pushed twice.) This fact by itself was not good. Besides, if such a
      conjunct was pushed to a table that was the result of materialization
      of a semi-join the query could return a wrong result set. In particular
      we could watch it for queries with semi-join subqueries whose left parts
      used stored functions without "deterministic' specifier.
      6db2ebbb