1. 20 Nov, 2017 1 commit
  2. 18 Nov, 2017 1 commit
  3. 17 Nov, 2017 1 commit
  4. 16 Nov, 2017 6 commits
    • Vladislav Vaintroub's avatar
      Fix rocksdb tests on Windows · 0d1e805a
      Vladislav Vaintroub authored
      0d1e805a
    • Vladislav Vaintroub's avatar
      MDEV-13852 - redefine WinWriteableFile such as IsSyncThreadSafe() · 689168be
      Vladislav Vaintroub authored
      is set to true, as it should.
      
      Copy and modify original io_win.h header file to a different location
      (as we cannot patch anything in submodule). Make sure modified header is
      used.
      689168be
    • Alexey Botchkov's avatar
      MDEV-14402 JSON_VALUE doesn't escape quote. · 842dce37
      Alexey Botchkov authored
              Result unescaping added.
      842dce37
    • Alexander Barkov's avatar
    • Jan Lindström's avatar
      MDEV-13206: INSERT ON DUPLICATE KEY UPDATE foreign key fail · 0c4d11e8
      Jan Lindström authored
      This is caused by following change:
      
      commit 95d29c99f01882ffcc2259f62b3163f9b0e80c75
      Author: Marko Mäkelä <marko.makela@oracle.com>
      Date:   Tue Nov 27 11:12:13 2012 +0200
      
          Bug#15920445 INNODB REPORTS ER_DUP_KEY BEFORE CREATE UNIQUE INDEX COMPLETED
      
          There is a phase during online secondary index creation where the index has
          been internally completed inside InnoDB, but does not 'officially' exist yet.
          We used to report ER_DUP_KEY in these situations, like this:
      
          ERROR 23000: Can't write; duplicate key in table 't1'
      
          What we should do is to let the 'offending' operation complete, but report an
          error to the
          ALTER TABLE t1 ADD UNIQUE KEY (c2):
      
          ERROR HY000: Index c2 is corrupted
          (This misleading error message should be fixed separately:
          Bug#15920713 CREATE UNIQUE INDEX REPORTS ER_INDEX_CORRUPT INSTEAD OF DUPLICATE)
      
          row_ins_sec_index_entry_low(): flag the index corrupted instead of
          reporting a duplicate, in case the index has not been published yet.
      
          rb:1614 approved by Jimmy Yang
      
      Problem is that after we have found duplicate key on primary key
      we continue to get necessary gap locks in secondary indexes to
      block concurrent transactions from inserting the searched records.
      However, search from unique index used in foreign key constraint
      could return DB_NO_REFERENCED_ROW if INSERT .. ON DUPLICATE KEY UPDATE
      does not contain value for foreign key column. In this case
      we should return the original DB_DUPLICATE_KEY error instead
      of DB_NO_REFERENCED_ROW.
      
      Consider as a example following:
      
      create table child(a int not null primary key,
      b int not null,
      c int,
      unique key (b),
      foreign key (b) references
      parent (id)) engine=innodb;
      
      insert into child values (1,1,2);
      
      insert into child(a) values (1) on duplicate key update c = 3;
      
      Now primary key value 1 naturally causes duplicate key error that will be
      stored on node->duplicate. If there was no duplicate key error, we should
      return the actual no referenced row error. As value for column b used in
      both unique key and foreign key is not provided, server uses 0 as a
      search value. This is naturally, not found leading to DB_NO_REFERENCED_ROW.
      But, we should update the row with primay key value 1 anyway as
      requested by on duplicate key update clause.
      0c4d11e8
    • Jun Su's avatar
      Support CRC32 SSE2 implementation under Windows · 2401d14e
      Jun Su authored
      2401d14e
  5. 15 Nov, 2017 6 commits
  6. 14 Nov, 2017 3 commits
  7. 13 Nov, 2017 8 commits
  8. 12 Nov, 2017 1 commit
  9. 11 Nov, 2017 1 commit
  10. 10 Nov, 2017 6 commits
  11. 09 Nov, 2017 6 commits
    • Marko Mäkelä's avatar
      MDEV-13795/MDEV-14332 Corruption during online table-rebuilding ALTER when VIRTUAL columns exist · 5d142f99
      Marko Mäkelä authored
      When MySQL 5.7 introduced indexed virtual columns, it introduced
      several bugs into the online table-rebuilding ALTER, that is,
      the row_log_table_apply() family of functions.
      
      The online_log format that was introduced for online table-rebuilding
      ALTER in MySQL 5.6 should be sufficient. Ideally, any indexed virtual
      column values would be evaluated based on the log records in the temporary
      file. There is no need to log virtual column values.
      
      (For ADD INDEX, that is row_log_apply(), we always must log the values of
      the keys, no matter if the columns are virtual.)
      
      Because omitting the virtual column values removes any chance of
      row_log_table_apply() working with indexed virtual columns, we
      will for now refuse LOCK=NONE in table-rebuilding ALTER operations
      when indexes on virtual columns exist. This restriction would be
      lifted in MDEV-14341.
      
      innobase_indexed_virtual_exist(): New predicate, to determine if
      indexed virtual columns exist in a table definition.
      
      ha_innobase::check_if_supported_inplace_alter(): Refuse online rebuild
      if indexed virtual columns exist.
      
      rec_get_converted_size_temp_v(), rec_convert_dtuple_to_temp_v(): Remove.
      
      row_log_table_delete(), row_log_table_update(, row_log_table_insert():
      Remove parameters for virtual columns.
      
      trx_undo_read_v_rows(): Remove the col_map parameter.
      
      row_log_table_apply(): Do not deal with virtual columns.
      5d142f99
    • Monty's avatar
      Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext · 0bb0d522
      Monty authored
      Conflicts:
      	mysql-test/r/cte_recursive.result
      	mysql-test/r/derived_cond_pushdown.result
      	mysql-test/t/cte_recursive.test
      	mysql-test/t/derived_cond_pushdown.test
      	sql/datadict.cc
      	sql/handler.cc
      0bb0d522
    • Sergei Petrunia's avatar
    • Monty's avatar
      d40c2357
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.2 · 761cf492
      Marko Mäkelä authored
      761cf492
    • Marko Mäkelä's avatar
      MDEV-14333 Mariabackup --apply-log-only crashes if incomplete transactions... · d2ffafe0
      Marko Mäkelä authored
      MDEV-14333 Mariabackup --apply-log-only crashes if incomplete transactions with update_undo logs are present
      
      trx_undo_free_prepared(): Relax the assertion for
      mariabackup --apply-log-only.
      d2ffafe0