1. 19 May, 2018 10 commits
  2. 18 May, 2018 8 commits
  3. 17 May, 2018 16 commits
  4. 16 May, 2018 6 commits
    • Monty's avatar
      MDEV-14669 Assertion `file->trn == trn' failed in ha_maria::start_stmt · c2352c45
      Monty authored
      Can't repeat issue so I just added the test case
      c2352c45
    • Alexander Barkov's avatar
      Token precedence cleanup in *.yy · 48d70388
      Alexander Barkov authored
      We'll be fixing soon shift-reduce conflicts introduced in the new
      10.3 syntax (see MDEV-15818 for details) by defining precedence for
      a number of tokens (e.g. TIMESTAMP, TRANSACTION_SYM, TEXT_STRING)
      and adding "%prec" directives.
      
      Before doing this, it's better to have the existing precedences set properly,
      for easier readability and maintainability.
      
      Details:
      - Changing precedence of NOT to its proper position (between AND and IS).
        It was wrong. It worked fine only because the relevant grammar reside
        in different separate rules (expr and predicate).
      
      - Moving NOT2_SYM and BINARY to the same line with NEG and ~
        It worked fine because operators !, BINARY, ~ do not conflict
        to each other.
      
      - Fixing associativity of NOT_SYM, NOT2_SYM, BINARY, COLLATE_SYM
        from "right" to "left". They are not dyadic (operate on a single expression
        only). So "%left" or "%right" is needed only to set precedence,
        while associativity does not matter.
        Note, it would be better to use "%precedence" for these tokens
        instead of "%left" though, but we use an old version of Bison on windows,
        which may not support %precedence yet.
      
      This patch does not change behavior. The generated sql_yacc.cc and
      sql_yacc_ora.cc are exactly the same before and after this change.
      48d70388
    • Marko Mäkelä's avatar
      MDEV-13779 InnoDB fails to shut down purge workers, causing hang · a4e78007
      Marko Mäkelä authored
      srv_purge_coordinator_thread(): Wait for all purge worker threads
      to actually exit. An analysis of a core dump of a hung 10.3 server
      revealed that one srv_worker_thread did not exit, even though the
      purge coordinator had exited. This caused kill_server_thread and
      mysqld_main to wait indefinitely. The main InnoDB shutdown was
      never called, because unireg_end() was never called.
      a4e78007
    • Alexander Barkov's avatar
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-13626 Merge InnoDB test cases from MySQL 5.7 · ebc24950
      Thirunarayanan Balathandayuthapani authored
      Imported the following test case from mysql to MariaDB
      
      1) innodb.alter_kill
      2) innodb.alter_foreign_crash
      3) innodb.alter_rename_files
      4) innodb.analyze_table
      5) Appended the case in innodb-online-alter-gis
      ebc24950
    • Shaohua Wang's avatar
      BUG#22385442 - INNODB: DIFFICULT TO FIND FREE BLOCKS IN THE BUFFER POOL · a54b581d
      Shaohua Wang authored
      Problem:
      We keep pinning pages in dict_stats_analyze_index_below_cur(),
      but doesn't release these pages. When we have a relative small
      buffer pool size, and big innodb_stats_persistent_sample_pages,
      there will be no free pages for use.
      
      Solution:
      Use a separate mtr in dict_stats_analyze_index_below_cur(),
      and commit mtr before return.
      Reviewed-by: default avatarJimmy Yang <jimmy.yang@oracle.com>
      RB: 11362
      a54b581d