1. 23 May, 2017 3 commits
  2. 22 May, 2017 3 commits
  3. 21 May, 2017 1 commit
  4. 20 May, 2017 6 commits
    • Jan Lindström's avatar
      MDEV-12615: InnoDB page compression method snappy mostly does not compress pages · 90c52e52
      Jan Lindström authored
      Snappy compression method require that output buffer
      used for compression is bigger than input buffer.
      Similarly lzo require additional work memory buffer.
      Increase the allocated buffer accordingly.
      
      buf_tmp_buffer_t: removed unnecessary lzo_mem, crypt_buf_free and
      comp_buf_free.
      
      buf_pool_reserve_tmp_slot: use alligned_alloc and if snappy
      available allocate size based on snappy_max_compressed_length and
      if lzo is available increase buffer by LZO1X_1_15_MEM_COMPRESS.
      
      fil_compress_page: Remove unneeded lzo mem (we use same buffer)
      and if output buffer is not yet allocated allocate based similarly
      as above.
      
      Decompression does not require additional work area.
      
          Modify test to use same test as other compression method tests.
      90c52e52
    • Marko Mäkelä's avatar
      f8802009
    • Marko Mäkelä's avatar
      fe291c68
    • Marko Mäkelä's avatar
      Clean up a test · 45fe62b8
      Marko Mäkelä authored
      Changed global parameters will be reset by server restart.
      There is no need to save and restore the original values.
      45fe62b8
    • Marko Mäkelä's avatar
      After-merge fix for MDEV-11638 · a4d4a5fe
      Marko Mäkelä authored
      In commit 360a4a03
      some debug assertions were introduced to the page flushing code
      in XtraDB. Add these assertions to InnoDB as well, and adjust
      the InnoDB shutdown so that these assertions will not fail.
      
      logs_empty_and_mark_files_at_shutdown(): Advance
      srv_shutdown_state from the first phase SRV_SHUTDOWN_CLEANUP
      only after no page-dirtying activity is possible
      (well, except by srv_master_do_shutdown_tasks(), which will be
      fixed separately in MDEV-12052).
      
      rotate_thread_t::should_shutdown(): Already exit the key rotation
      threads at the first phase of shutdown (SRV_SHUTDOWN_CLEANUP).
      
      page_cleaner_sleep_if_needed(): Do not sleep during shutdown.
      This change is originally from XtraDB.
      a4d4a5fe
    • Marko Mäkelä's avatar
      Merge 10.0 into 10.1 · 65e1399e
      Marko Mäkelä authored
      Significantly reduce the amount of InnoDB, XtraDB and Mariabackup
      code changes by defining pfs_os_file_t as something that is
      transparently compatible with os_file_t.
      65e1399e
  5. 19 May, 2017 13 commits
    • Sergei Golubchik's avatar
      Merge branch '5.5' into 10.0 · 725e47bf
      Sergei Golubchik authored
      725e47bf
    • Sergei Golubchik's avatar
      compilation warnings in Connect · eb302303
      Sergei Golubchik authored
      eb302303
    • Marko Mäkelä's avatar
      Remove bogus __attribute__((nonnull)) · 7edadde7
      Marko Mäkelä authored
      These were reported when running tests after compiling the debug server
      with -O3 -fsanitize=undefined in GCC 7.1.0.
      7edadde7
    • Marko Mäkelä's avatar
      Fix a compilation warning introduced by MDEV-11782 · 9756440f
      Marko Mäkelä authored
      log_crypt(): Do not cast byte* to uint32_t*, because it may break
      strict aliasing rules. Instead, cast in the opposite direction.
      9756440f
    • Marko Mäkelä's avatar
      6f54d04e
    • Marko Mäkelä's avatar
      Fix some -Wimplicit-fallthrough warnings in InnoDB · 907cbadb
      Marko Mäkelä authored
      buf_read_ahead_linear(): Do not display a message if the tablespace
      is being deleted.
      
      dtype_print(): Add a missing break statement.
      907cbadb
    • Marko Mäkelä's avatar
      MDEV-12698 innodb.innodb_stats_del_mark test failure · 0bfa3dff
      Marko Mäkelä authored
      In my merge of the MySQL fix for Oracle Bug#23333990 / WL#9513
      I overlooked some subsequent revisions to the test, and I also
      failed to notice that the test is actually always failing.
      
      Oracle introduced the parameter innodb_stats_include_delete_marked
      but failed to consistently take it into account in FOREIGN KEY
      constraints that involve CASCADE or SET NULL.
      
      When innodb_stats_include_delete_marked=ON, obviously the purge of
      delete-marked records should update the statistics as well.
      
      One more omission was that statistics were never updated on ROLLBACK.
      We are fixing that as well, properly taking into account the
      parameter innodb_stats_include_delete_marked.
      
      dict_stats_analyze_index_level(): Simplify an expression.
      (Using the ternary operator with a constant operand is unnecessary
      obfuscation.)
      
      page_scan_method_t: Revert the change done by Oracle. Instead,
      examine srv_stats_include_delete_marked directly where it is needed.
      
      dict_stats_update_if_needed(): Renamed from
      row_update_statistics_if_needed().
      
      row_update_for_mysql_using_upd_graph(): Assert that the table statistics
      are initialized, as guaranteed by ha_innobase::open(). Update the
      statistics in a consistent way, both for FOREIGN KEY triggers and
      for the main table. If FOREIGN KEY constraints exist, do not dereference
      a freed pointer, but cache the proper value of node->is_delete so that
      it matches prebuilt->table.
      
      row_purge_record_func(): Update statistics if
      innodb_stats_include_delete_marked=ON.
      
      row_undo_ins(): Update statistics (on ROLLBACK of a fresh INSERT).
      This is independent of the parameter; the record is not delete-marked.
      
      row_undo_mod(): Update statistics on the ROLLBACK of updating key columns,
      or (if innodb_stats_include_delete_marked=OFF) updating delete-marks.
      
      innodb.innodb_stats_persistent: Renamed and extended from
      innodb.innodb_stats_del_mark. Reduced the unnecessarily large dataset
      from 262,144 to 32 rows. Test both values of the configuration
      parameter innodb_stats_include_delete_marked.
      Test that purge is updating the statistics.
      
      innodb_fts.innodb_fts_multiple_index: Adjust the result. The test
      is performing a ROLLBACK of an INSERT, which now affects the statistics.
      
      include/wait_all_purged.inc: Moved from innodb.innodb_truncate_debug
      to its own file.
      0bfa3dff
    • Sergei Golubchik's avatar
      MDEV-10788 Not able to compile source with -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=Debug · 6dcc3789
      Sergei Golubchik authored
      fix incorrect merge, 831b5318 was not fully merged into 10.0
      6dcc3789
    • Sergei Golubchik's avatar
      MDEV-6262 analyze the coverity report on mariadb · 7c03edf2
      Sergei Golubchik authored
      uploaded 10.0, analyzed everything with the Impact=High
      (and a couple of Medium)
      7c03edf2
    • Marko Mäkelä's avatar
      Merge 10.0 into 10.1 · 13a350ac
      Marko Mäkelä authored
      13a350ac
    • Sachin Setiya's avatar
      7d57ba6e
    • Igor Babaev's avatar
      Fixed the bug mdev-12788. · 5e9d6511
      Igor Babaev authored
      In some rare cases queries with UNION ALL
      using a derived table specified by
      a grouping select with a subquery in WHERE and
      impossible HAVING detected after constant row
      substitution could hang.
      The cause was not a proper return from the
      function subselect_single_select_engine::exec()
      in the case when the subquery was not optimized
      beforehand and the optimization performed
      in this function requested for a change of the
      subquery engine. This was fixed.
      Also a change was applied that avoided execution
      of a subquery if impossible having was detected
      for the main query at the optimization stage.
      5e9d6511
    • Marko Mäkelä's avatar
      Remove dead code added in merge commit d8b45b0c · 335c4ab7
      Marko Mäkelä authored
      In a merge conflict resolution, callers of the added function
      rec_field_len_in_chars() were removed, but the function itself was not.
      335c4ab7
  6. 18 May, 2017 14 commits