- 03 Nov, 2019 1 commit
-
-
Elena Stepanova authored
-
- 01 Nov, 2019 4 commits
-
-
Sergei Petrunia authored
- Add SLEEP() calls to the testcase to make it really test that the time doesn't change. - Always use .frm file creation time as a creation timestamp (attempts to re-use older create_time when the table DDL changes are not good because then create_time will change after server restart) - Use the same method names as the upstream patch does - Use std::atomic for m_update_time
-
Sergei Petrunia authored
Variant#5 of the patch: - take creation date from the .frm file, like InnoDB does - Update_time is in-memory only (like in InnoDB).
-
Thirunarayanan Balathandayuthapani authored
innobase_drop_foreign_try(): Don't evict and reload the dict_foreign_t during instant ALTER TABLE if the FOREIGN KEY constraint is being dropped. The MDEV-19630 fix (commit 07b1a26c) was incomplete, because it did not cover a case where the FOREIGN KEY constraint is being dropped.
-
Alexey Botchkov authored
MDEV-18244 Server crashes in ha_innobase::update_thd / ... / ha_partition::update_next_auto_inc_val. Partition table with the AUTO_INCREMENT column we ahve to check if the max value is properly loaded. So we need to open all tables in INSERT PARTITION statement if necessary. Also we need to check if some tables are pruned away and not count the max autoincrement in this case.
-
- 31 Oct, 2019 4 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
In commit d1e6b0bc some code was supposed to be modified, but instead it got duplicated. Remove the duplicated copy.
-
Oleksandr Byelkin authored
-
- 30 Oct, 2019 23 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
* use compile_time_assert instead of DBUG_ASSERT * don't use thd->clear_error(), because * the error was already consumed by the error handler, so there is nothing to clear * it's dangerous to clear errors indiscriminately, if the error came from outside of read_statistics_for_tables() it must not be cleared
-
Sergei Golubchik authored
mysql_insert() first opens all affected tables (which implicitly starts a transaction in InnoDB), then stat tables. A failure to open a stat table caused open_tables() to abort the current stmt transaction (trans_rollback_stmt()). So, from the server point of view the following ha_write_row()-s happened outside of a transactions, and the server didn't bother to commit them. The server has a mechanism to prevent a transaction being unexpectedly committed or rolled back in the middle of a statement - if an operation takes place _in a sub-statement_ it cannot change the transaction state. Operations on stat tables are exactly that - they are not allowed to change a transaction state. Put them in a sub-statement to make sure they don't.
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
following Fedora recommendations (see %systemd_post macro in FC29) let's do `systemctl preset` on the first installation of the server
-
Oleksandr Byelkin authored
-
Sergei Golubchik authored
This reverts commit 396313d3.
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Vladislav Vaintroub authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Apply the changes to InnoDB and XtraDB that had been inadvertently skipped in the merge commit ae476868 That merge failure sabotaged part of MDEV-20127: >Revert a problematic auto_increment_increment 'fix' from 2014. >This involves replacing the MDEV-8827 fix and in 10.1, >removing some WSREP instrumentation. The code changes were re-merged manually by executing the following: # Get the parent of the problematic merge. git checkout ae476868^ # Perform the merge again. git merge ae476868^2 # Get the conflict resolution from that merge. git checkout ae476868 . # Note: Any changes to these files were removed (empty diff)! git diff HEAD storage/{innobase,xtradb}/handler/ha_innodb.cc # Apply the code changes: git diff cf403934^2..MERGE_HEAD \ storage/{innobase,xtradb}/handler/ha_innodb.cc| patch -p1
-
Eugene Kosov authored
-
Oleksandr Byelkin authored
-
Eugene Kosov authored
Basicaly it's an uninitialized read. 165 is 0xa5 which comes from TRASH_ALLOC() Fix by calling a class ctor which initializes problematic TMP_TABLE_PARAM::force_copy_fields field
-
Sergey Vojtovich authored
In debug build, whenever MEMORY table instance gets closed it performs consistency check without protection. It may cause server crash if executed concurrently with DML. Moved consistency check to ha_heap::external_lock(F_UNLCK), so that it is protected by THR_LOCK.
-
Jan Lindström authored
Changes to be committed: modified: mysql-test/suite/galera/r/MW-369.result modified: mysql-test/suite/galera/r/MW-402.result modified: mysql-test/suite/galera/r/galera#500.result modified: mysql-test/suite/galera/r/galera_gcs_fragment.result modified: mysql-test/suite/galera/r/mysql-wsrep#332.result
-
Jan Lindström authored
Lock wait can happen on secondary index when doing FK checks for wsrep. We should just return error to upper layer and applier will retry operation when needed.
-
Marko Mäkelä authored
ut_strlcpy(): Replace with the standard function strncpy(). ut_strlcpy_rev(): Define in the same compilation unit where the only caller resides. Avoid unnecessary definition in non-debug builds.
-
- 29 Oct, 2019 6 commits
-
-
Sergei Golubchik authored
-
Eugene Kosov authored
-
Eugene Kosov authored
-
Eugene Kosov authored
-
Marko Mäkelä authored
mem_heap_dup(): Avoid mem_heap_alloc() and memcpy() of data=NULL, len=0. trx_undo_report_insert_virtual(), trx_undo_page_report_insert(), trx_undo_page_report_modify(): Avoid memcpy(ptr, NULL, 0). dfield_data_is_binary_equal(): Correctly handle data=NULL, len=0. rec_init_offsets_temp(): Do allow def_val=NULL in the interface. This clean-up was motivated by WITH_UBSAN, and no bug related to this was observed in the wild. It should be noted that undefined behaviour such as memcpy(ptr, NULL, 0) could allow compilers to perform unsafe optimizations, like it was the case in commit fc168c3a (MDEV-15587).
-
Marko Mäkelä authored
mem_heap_dup(): Avoid mem_heap_alloc() and memcpy() of data=NULL, len=0. trx_undo_report_insert_virtual(), trx_undo_page_report_insert(), trx_undo_page_report_modify(): Avoid memcpy(ptr, NULL, 0). dfield_data_is_binary_equal(): Correctly handle data=NULL, len=0. This clean-up was motivated by WITH_UBSAN, and no bug related to this was observed in the wild. It should be noted that undefined behaviour such as memcpy(ptr, NULL, 0) could allow compilers to perform unsafe optimizations, like it was the case in commit fc168c3a (MDEV-15587).
-
- 28 Oct, 2019 2 commits
-
-
Vladislav Vaintroub authored
Ignore GetDiskFreeSpace() errors in os_file_get_status_win32 The call is only used to calculate filesystem block size, and this in turn is only shown in information_schema.sys_tablespaces.FS_BLOCK_SIZE. There is no other use of this field, it does not affect any Innodb functionality
-
Marko Mäkelä authored
Ever since MariaDB 10.0 (and MySQL 5.6.8), the innodb_log_file_size and innodb_log_files_in_group can be changed between server restarts, and the redo log files will be resized on server startup if needed.
-