- 08 Nov, 2019 1 commit
-
-
Daniel Bartholomew authored
-
- 06 Nov, 2019 5 commits
-
-
Marko Mäkelä authored
dict_index_add_to_cache(): Make the 'index' a reference to a pointer, so that the caller will avoid the expensive call to dict_index_get_if_in_cache_low().
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Due to a data corruption bug that may have occurred a long time earlier (possibly involving physical backup and MySQL Bug #69122, which was addressed in commit f166ec71) it seems possible that the InnoDB change buffer might end up containing entries, while no buffered changes exist according to the change buffer bitmap pages in the .ibd files. ibuf_delete_recs(): New function, to be invoked on slow shutdown only. Remove all buffered changes for a specific page. ibuf_merge_or_delete_for_page(): If the change buffer bitmap is clean and a slow shutdown is in progress, invoke ibuf_delete_recs(). We do not want to do that during normal operation, due to the additional overhead that is involved. The bitmap page should be consistent with the change buffer in the first place.
-
Marko Mäkelä authored
-
Thirunarayanan Balathandayuthapani authored
InnoDB: Assertion failure in file .../dict/dict0dict.cc line ... InnoDB: Failing assertion: table->can_be_evicted This fixes a regression that was caused by the fix of MDEV-20621 (commit a41d4297). MySQL 5.6 (and MariaDB 10.0) introduced eviction of tables from the InnoDB data dictionary cache. Tables that are connected to FOREIGN KEY constraints or FULLTEXT INDEX are exempt of the eviction. With the problematic change, a table that would already be exempt from eviction due to FOREIGN KEY would cause the problem if there also was a FULLTEXT INDEX defined on it. dict_load_table(): Only prevent eviction if table->can_be_evicted holds.
-
- 05 Nov, 2019 3 commits
-
-
Daniel Bartholomew authored
-
Daniel Bartholomew authored
-
Daniel Bartholomew authored
-
- 04 Nov, 2019 3 commits
-
-
Vladislav Vaintroub authored
Do not rely on existence of CMakeFiles/${target}.dir directory existence It is not there for custom targets in Ninja build.
-
Sergei Golubchik authored
Don't save/restore HP_INFO as it could be changed by a concurrent thread. different parts of HP_INFO are protected by different mutexes and the mutex that protect most of the HP_INFO does not protect its open_list data. As a bonus, make heap_check_heap() to take const HP_INFO* and not make any changes there whatsoever.
-
Marko Mäkelä authored
dict_table_rename_in_cache(): Use strcpy() instead of strncpy(), because they are known to be equivalent in this case (the length of old_name was already validated). mariabackup: Invoke strncpy() with one less than the buffer size, and explicitly add NUL as the last byte of the buffer.
-
- 02 Nov, 2019 1 commit
-
-
pkubaj authored
Do the same that newer branches do and don't include glibc-related headers on non-glibc environment.
-
- 01 Nov, 2019 4 commits
-
-
Varun Gupta authored
In the function prev_record_reads where one finds the different row combinations for a subset of partial join, it did not take into account the selectivity of tables involved in the subset of partial join.
-
Eugene Kosov authored
-
Eugene Kosov authored
dict_index_add_to_cache_w_vcol(): merge with dict_index_add_to_cache()
-
Robert Bindar authored
Unfortunate DROP TEMPORARY..IF EXISTS on a regular table may allow subsequent CREATE TABLE statements to steal away the PFS_table_share instance from the dropped table.
-
- 31 Oct, 2019 5 commits
-
-
Elena Stepanova authored
-
Elena Stepanova 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 18 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
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
-
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.
-