1. 30 Jan, 2019 1 commit
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-16849 Extending indexed VARCHAR column should be instantaneous · b8aef872
      Thirunarayanan Balathandayuthapani authored
      Analysis:
      ========
      Increasing the length of the indexed varchar column is not an instant operation for
      innodb.
      
      Fix:
      ===
      - Introduce the new handler flag 'Alter_inplace_info::ALTER_COLUMN_INDEX_LENGTH' to
      indicate the index length differs due to change of column length changes.
      
      - InnoDB makes the ALTER_COLUMN_INDEX_LENGTH flag as instant operation.
      
      This is a port of Mysql fix.
      
          commit 913071c0b16cc03e703308250d795bc381627e37
          Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
          Date:   Wed May 30 14:54:46 2018 +0530
      
              BUG#26848813: INDEXED COLUMN CAN'T BE CHANGED FROM VARCHAR(15)
                            TO VARCHAR(40) INSTANTANEOUSLY
      b8aef872
  2. 28 Jan, 2019 1 commit
  3. 27 Jan, 2019 3 commits
  4. 25 Jan, 2019 7 commits
    • Sergei Golubchik's avatar
      3fb6d258
    • Sergei Golubchik's avatar
      Deb: don't edit control file from inside rules file · d4515d13
      Sergei Golubchik authored
      It's too late. Might work or not (and on buster it doesn't).
      d4515d13
    • Sergei Golubchik's avatar
      74f184af
    • Teemu Ollakka's avatar
      MDEV-15740 Backport wsrep recovery fixes from 10.4. · 040b840d
      Teemu Ollakka authored
      Clear wsrep XID in innobase_rollback_by_xid() for recovered wsrep
      transaction in order to avoid resetting XID storage when rolling back
      wsrep transaction during recovery.
      
      Sort wsrep XIDs read from storage engine in ascending order and
      erify that the range is continuous during crash recovery. If binlog is off,
      commit all recovered transactions for continuous seqno range. This is safe
      because all transactions with wsrep XID have been certified and must be
      committed in the cluster. On the other hand if binlog is on, respect binlog
      as a transaction coordinator in order to avoid missing transactions in binlog
      that have been committed into storage engine .
      040b840d
    • Teemu Ollakka's avatar
      Backported wsrep-recover test from 10.4. · ce28fa53
      Teemu Ollakka authored
      Backported wsrep-recover test from 10.4 to test the wsrep recovery
      after database shutdown or crash. Renamed the test to wsrep-recover-v25
      to avoid conflicts with existing test in 10.4 and to provide coverage
      for wsrep-API v25 compatible behavior.
      
      The test case in 10.2 is simpler because out of order prepare
      step cannot happen, the commit order critical section is grabbed
      before prepare phase.
      
      Test is not recorded since it does not produce expected result.
      ce28fa53
    • Eugene Kosov's avatar
      MDEV-18235: Changes related to fsync() · 31d0727a
      Eugene Kosov authored
      Remove fil_node_t::sync_event.
      
      I had a discussion with kernel fellows and they said it's safe to call
      fsync() simultaneously at least on VFS and ext4. So initially I wanted
      to disable check for recent Linux but than I realized code is buggy.
      
      Consider a case when one thread is inside fsync() and two others are
      waiting inside os_event. First thread after fsync() calls os_event_set()
      which is a broadcast! So two waiting threads will awake and may call
      fsync() at the same time.
      
      One fix is to add a notify_one() functionality to os_event but I decided
      to remove incorrect check completely. Note, it works for one waiting
      thread but not for more than one.
      
      IMO it's ok to avoid existing bugs but there is not too much sense in
      avoiding possible(!) bugs as this code does.
      
      fil_space_t::is_in_rotation_list(), fil_space_t::is_in_unflushed_spaces():
      Replace redundant bool fields with member functions.
      
      fil_node_t::needs_flush: Replaces fil_node_t::modification_counter and
      fil_node_t::flush_counter. We need to know whether there _are_ some
      unflushed writes and we do not need to know _how many_ writes.
      
      fil_system_t::modification_counter: Remove as not needed.
      Even if we needed fil_node_t::modification_counter, every file
      could have its own counter that would be incremented on each write.
      
      fil_system_t::modification_counter is a global modification counter
      for all files. It was incremented on every write. But whether some
      file was flushed or not is an internal fil_node_t deal/state and
      this makes fil_system_t::modification_counter useless.
      
      Closes #1061
      31d0727a
    • Marko Mäkelä's avatar
      MDEV-18352 Add a regression test for VARCHAR enlarging · d97db40a
      Marko Mäkelä authored
      Add a simplest regression test. Specifically, I want to be sure that
      SYS_COLUMNS.LEN is increased.
      
      Closes #1123
      d97db40a
  5. 24 Jan, 2019 8 commits
  6. 23 Jan, 2019 20 commits