1. 13 Feb, 2017 6 commits
    • Sergei Golubchik's avatar
      MDEV-10201 Bad results for CREATE TABLE t1 (a INT DEFAULT b, b INT DEFAULT 4) · cd4dd2b6
      Sergei Golubchik authored
      Optionally do table->update_default_fields() even for INSERT
      that supposedly provides values for all column. Because these
      "values" might be DEFAULT, which would need table->update_default_fields()
      at the end.
      
      Also set Item_default_value::used_tables() from the default expression.
      Non-zero used_field() means that mysql_insert() will initialize all
      fields to their default values (with restore_record()) even if
      all columns are later provided with values. Because default expressions
      may refer to other columns and they must be initialized.
      cd4dd2b6
    • Marko Mäkelä's avatar
      Post-fix for MDEV-12050 Remove unused InnoDB Memcached hooks · 588eca31
      Marko Mäkelä authored
      Remove also the field trx_t::read_write that was only used by
      the Memcached hooks.
      588eca31
    • Marko Mäkelä's avatar
      MDEV-12050 Remove unused InnoDB Memcached hooks · a45866c6
      Marko Mäkelä authored
      Oracle introduced a Memcached plugin interface to the InnoDB
      storage engine in MySQL 5.6. That interface is essentially a
      fork of Memcached development snapshot 1.6.0-beta1 of an old
      development branch 'engine-pu'.
      
      To my knowledge, there have not been any updates to the Memcached code
      between MySQL 5.6 and 5.7; only bug fixes and extensions related to
      the Oracle modifications.
      
      The Memcached plugin is not part of the MariaDB Server. Therefore it
      does not make sense to include the InnoDB interfaces for the Memcached
      plugin, or to have any related configuration parameters:
      
          innodb_api_bk_commit_interval
          innodb_api_disable_rowlock
          innodb_api_enable_binlog
          innodb_api_enable_mdl
          innodb_api_trx_level
      
      Removing this code in one commit makes it possible to easily restore
      it, in case it turns out to be needed later.
      a45866c6
    • Marko Mäkelä's avatar
      MDEV-11782 preparation: Add separate code for validating the 10.1 redo log. · 3272a197
      Marko Mäkelä authored
      log_crypt_101_read_checkpoint(): Read the encryption information
      from a MariaDB 10.1 checkpoint page.
      
      log_crypt_101_read_block(): Attempt to decrypt a MariaDB 10.1
      redo log page.
      
      recv_log_format_0_recover(): Only attempt decryption on checksum
      mismatch. NOTE: With the MariaDB 10.1 innodb_encrypt_log format,
      we can actually determine from the cleartext portion of the redo log
      whether the redo log is empty. We do not really have to decrypt the
      redo log here, if we did not want to determine if the checksum is valid.
      3272a197
    • Marko Mäkelä's avatar
      MDEV-11782 preparation: Remove recv_sys_t::last_block. · 96c4b9d4
      Marko Mäkelä authored
      We can use log_sys->buf instead of recv_sys->last_block during
      crash recovery. Remove the redundant buffer.
      96c4b9d4
    • Marko Mäkelä's avatar
      Fix a memory leak on aborted InnoDB startup. · 412ee033
      Marko Mäkelä authored
      innodb_shutdown(), trx_sys_close(): Startup may be aborted between
      purge_sys and trx_sys creation. Therefore, purge_sys must be freed
      independently of trx_sys.
      
      innobase_start_or_create_for_mysql(): Remember to free purge_queue if
      it was not yet attached to purge_sys.
      412ee033
  2. 12 Feb, 2017 1 commit
    • Igor Babaev's avatar
      Fixed bugs mdev-12051, mdev-10885. · d35aea54
      Igor Babaev authored
      These are different bugs, but the fixing code is the same:
      if window functions are used over implicit grouping then
      now the execution should follow the general path calling
      the function set in JOIN::first_select.
      d35aea54
  3. 11 Feb, 2017 3 commits
  4. 10 Feb, 2017 18 commits
  5. 09 Feb, 2017 8 commits
  6. 08 Feb, 2017 4 commits
    • Marko Mäkelä's avatar
      MDEV-12024 InnoDB startup fails to wait for recv_writer_thread to finish · 070a8754
      Marko Mäkelä authored
      recv_writer_thread(): Do not assign recv_writer_thread_active=true
      in order to avoid a race condition with
      recv_recovery_from_checkpoint_finish().
      
      recv_init_crash_recovery_spaces(): Assign recv_writer_thread_active=true
      before creating recv_writer_thread.
      070a8754
    • Vladislav Vaintroub's avatar
      More verbose output for the Wix linker (light.exe) · bae2fc1f
      Vladislav Vaintroub authored
      This is an attempt to workaround buildbot
      "1200 seconds without output, killing process"
      bae2fc1f
    • Marko Mäkelä's avatar
      Test fix for MDEV-6076 Persistent AUTO_INCREMENT for InnoDB · 3c411e3a
      Marko Mäkelä authored
      Before killing the server, ensure that the redo log for the
      incomplete transaction is flushed, so that the AUTO_INCREMENT
      sequence will always be updated. Usually the INSERT
      transaction would not have persisted the sequence before the
      server was killed, but sometimes it could happen, causing
      result mismatch.
      
      Note: This test used to be called innodb_fts.innodb_fts_misc_debug.
      3c411e3a
    • Marko Mäkelä's avatar
      Remove some more error log spam. · 9fa20716
      Marko Mäkelä authored
      Do not effectively set DEBUG_DBUG='d' by setting DEBUG_DBUG='-d,...'.
      Instead, restore the saved value of DEBUG_DBUG.
      
      Also, split the test innodb_fts.innodb_fts_misc_debug into
      innodb_fts.crash_recovery and innodb_fts.misc_debug, and enable
      these tests for --valgrind, the latter test for --embedded,
      and the former tests for the non-debug server.
      9fa20716