1. 09 Apr, 2018 3 commits
    • Otto Kekäläinen's avatar
      79803648
    • Marko Mäkelä's avatar
      MDEV-15364 FOREIGN CASCADE operations in system versioned referenced tables · 0c8d6fd6
      Marko Mäkelä authored
      Merge pull request #667
      0c8d6fd6
    • Marko Mäkelä's avatar
      MDEV-13603 innodb_fast_shutdown=0 may fail to purge all history · 5a9e7bc6
      Marko Mäkelä authored
      srv_purge_should_exit(): Remove the parameter n_purged.
      If we happened to have n_purged==0 while some transaction was still
      active, and then that transaction was added to the history list,
      we were prematurely stopping the purge. It is more appropriate to
      first check for trx_sys.any_active_transactions() == 0
      (this count can only decrease during shutdown) and then for
      trx_sys.history_size() == 0 (that count typically decreases, but
      can increase when any remaining active transactions are committed
      or rolled back).
      
      innodb.dml_purge: Remove a server restart, and explicitly wait for
      purge, and use FLUSH TABLE FOR EXPORT to read the file contents.
      This will make the test run faster, easier to debug, and also
      allow it to run with --embedded. This might also help repeat
      MDEV-11802 better. The issue MDEV-13603 remains will remain tested
      by innodb.table_flags.
      5a9e7bc6
  2. 08 Apr, 2018 3 commits
    • Marko Mäkelä's avatar
      Minor clean-up of purge code · df44e75b
      Marko Mäkelä authored
      purge_sys_t::n_submitted: Document that it is only accessed by
      srv_purge_coordinator_thread.
      
      purge_sys_t::n_completed: Exclusively use my_atomic access.
      
      srv_task_execute(): Simplify the code.
      
      srv_purge_coordinator_thread(): Test the cheaper condition first.
      
      trx_purge(): Atomically access purge_sys.n_completed.
      Remove some code duplication.
      
      trx_purge_wait_for_workers_to_complete(): Atomically access
      purge_sys.n_completed. Remove an unnecessary local variable.
      
      trx_purge_stop(): Remove a redundant assignment.
      df44e75b
    • Marko Mäkelä's avatar
      Make my_atomic_*lint type-safe · 0f6186c5
      Marko Mäkelä authored
      0f6186c5
    • Marko Mäkelä's avatar
      MDEV-12266 fixup: Fix bug in row_ins_sec_index_entry() · 8beeeddd
      Marko Mäkelä authored
      row_ins_sec_index_entry(): Compare a pointer to fil_system.sys_space,
      not to a numeric constant. This code was recently changed in MDEV-13637,
      and the condition was essentially disabled, potentially causing the
      change buffer to grow uncontrollably when something is inserted into
      a table that has secondary indexes and resides in the system tablespace.
      
      Thanks to Daniel Black for pointing out that clang 7 flagged a warning
      for the comparison of a pointer to an integer.
      
      row_import_for_mysql(): Fix a possible compiler warning.
      8beeeddd
  3. 07 Apr, 2018 2 commits
  4. 06 Apr, 2018 4 commits
  5. 05 Apr, 2018 5 commits
  6. 04 Apr, 2018 14 commits
  7. 03 Apr, 2018 6 commits
  8. 02 Apr, 2018 3 commits
    • Galina Shalygina's avatar
      MDEV-15579 Crash in Item_field::used_tables() called by · 6223f1dd
      Galina Shalygina authored
                 Item::derived_field_transformer_for_having
      
      The crash occurred due to an inappropriate handling of multiple equalities
      when pushing conditions into materialized views/derived tables. If equalities
      extracted from a multiple equality can be pushed into a materialized
      view/derived table they should be plainly conjuncted with other pushed
      predicates rather than form a separate AND sub-formula.
      6223f1dd
    • Vladislav Vaintroub's avatar
    • Alexander Barkov's avatar
      Cleanup: removing duplicate code, adding "const", etc · 342d3df6
      Alexander Barkov authored
      - Adding class Field_int as a common
        parent for Field_{longlong|long|short|medium|tiny}
      - Moving store_decimal(), val_decimal(), get_date(), store_time_dec(),
        get_date(), val_bool() from Field_num to Field_int
      - Adding Field_int::val_str_from_long() and reusing it in
        Field_tiny::val_str(), Field_short::val_str(), Field_medium::val_str()
        and Field_long::val_str(). This removes a good amount of duplicate code
      - Adding "const" qualifier to "virtual bool Field::optimize_range()".
      342d3df6