- 15 Apr, 2020 2 commits
-
-
Sergey Vojtovich authored
-
Sergey Vojtovich authored
-
- 13 Apr, 2020 1 commit
-
-
Otto Kekäläinen authored
This fixes bugs where upgrading MariaDB failed to start after an upgrade from MySQL 5.7 in Ubuntu, where auth_socket has been the default for MySQL as well for some time now. This was adopted from Debian where this change has been since Apr 18, 2019: https://salsa.debian.org/mariadb-team/mariadb-10.4/-/commit/3919860b6a4ef98c098fef35fb34601adbb132b2
-
- 08 Apr, 2020 2 commits
-
-
mkaruza authored
MDEV-22051: Protocol::end_statement(): Assertion `0' failed on Galera node upon DDL attempt with conflicting lock If FTWRL is issued, DDL statements should report error back to user before TOI is started.
-
Marko Mäkelä authored
The bug was already fixed in commit 1242eb3d but the test innodb.innodb_wl6326 had not been enabled.
-
- 06 Apr, 2020 2 commits
-
-
Otto Kekäläinen authored
There is a 4 MB hard limit on Travis-CI and build output needs to be less than that. Silencing the 'make install' step gets rid of a lot of "Installing.." and "Missing.." and removing all mysql-test files will make the dh_missing warnings much shorter.
-
Otto Kekäläinen authored
Backported from 30b44aae.
-
- 03 Apr, 2020 3 commits
-
-
Aleksey Midenkov authored
Turn read cache off for periodic update. Like 498a96a4 says: Aria with row_format=fixed uses IO_CACHE of type READ_CACHE for sequential read in update loop. When history row is inserted inside this loop the cache misses it and fails with error. This applicable to any additional row inserts on UPDATE. In this case it was initiated by UPDATE FOR PORTION. Related to MDEV-20441.
-
Aleksey Midenkov authored
-
Aleksey Midenkov authored
- Fixed mysql_prepare_create_table() constraint duplicate checking; - Refactored period constraint handling in mysql_prepare_alter_table(): * No need to allocate new objects; * Keep old constraint name but exclude it from dup checking by automatic_name; - Some minor memory leaks fixed; - Some conceptual TODOs.
-
- 02 Apr, 2020 1 commit
-
-
Sergei Petrunia authored
- Print the rowid filters that are available for use with each table. - Make print_best_access_for_table() print which filter it has picked. - Make best_access_path() print the filter for considered ref accesses.
-
- 31 Mar, 2020 1 commit
-
-
Daniele Sciascia authored
When binlog is disabled, WSREP will not behave correctly when SAVEPOINT ROLLBACK is executed and we will not rollback transaction.
-
- 30 Mar, 2020 6 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
If a table is altered using the MDEV-11369/MDEV-15562/MDEV-13134 ALGORITHM=INSTANT, it can force the table to use a non-canonical format: * A hidden metadata record at the start of the clustered index is used to store each column's DEFAULT value. This makes it possible to add new columns that have default values without rebuilding the table. * Starting with MDEV-15562 in MariaDB Server 10.4, a BLOB in the hidden metadata record is used to store column mappings. This makes it possible to drop or reorder columns without rebuilding the table. This also makes it possible to add columns to any position or drop columns from any position in the table without rebuilding the table. If a column is dropped without rebuilding the table, old records will contain garbage in that column's former position, and new records will be written with NULL values, empty strings, or dummy values. This is generally not a problem. However, there may be cases where users may want to avoid putting a table into this format. For example, users may want to ensure that future UPDATE operations after an ADD COLUMN will be performed in-place, to reduce write amplification. (Instantly added columns are essentially always variable-length.) Users might also want to avoid bugs similar to MDEV-19916, or they may want to be able to export tables to older versions of the server. We will introduce the option innodb_instant_alter_column_allowed, with the following values: * never (0): Do not allow instant add/drop/reorder, to maintain format compatibility with MariaDB 10.x and MySQL 5.x. If the table (or partition) is not in the canonical format, then any ALTER TABLE (even one that does not involve instant column operations) will force a table rebuild. * add_last (1, default in 10.3): Store a hidden metadata record that allows columns to be appended to the table instantly (MDEV-11369). In 10.4 or later, if the table (or partition) is not in this format, then any ALTER TABLE (even one that does not involve column changes) will force a table rebuild. Starting with 10.4: * add_drop_reorder (2, default): Like 'add_last', but allow the metadata record to store a column map, to support instant add/drop/reorder of columns (MDEV-15562).
-
Thirunarayanan Balathandayuthapani authored
partition does rebuild - In ha_innobase::commit_inplace_alter_table() assumes that all partition should do the same kind of alter operations. During DDL, if one partition requires table rebuild and other partition doesn't need rebuild then all partition should be forced to rebuild.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Varun Gupta authored
MDEV-22019: Sig 11 in next_breadth_first_tab | max_sort_length setting + double GROUP BY leads to crash No need to create a temp table for aggregation if we have encountered some error.
-
- 27 Mar, 2020 1 commit
-
-
Sergey Vojtovich authored
-
- 26 Mar, 2020 6 commits
-
-
Sergey Vojtovich authored
-
Sergey Vojtovich authored
-
Monty authored
MDEV-7861 main.innodb_mysql_lock fails sporadically in buildbot
-
Eugene Kosov authored
Empty comment has a correct length.
-
Sergey Vojtovich authored
One may access freed THD members after LOCK_thd_kill is released. With original code it can happen when killing wsrep-disabled thread on a wsrep-enabled server. With 91ab42a8 it is happening on a wsrep-disabled server.
-
Sergei Petrunia authored
Backport to 10.4: - Don't try to push down SELECTs that have a side effect - In case the storage engine did support pushdown of SELECT with an INTO clause, write the rows we've got from it into select->join->result, and not thd->protocol. This way, SELECT ... INTO ... FROM smart_engine_table will put the result into where instructed, and NOT send it to the client.
-
- 25 Mar, 2020 4 commits
-
-
Sergey Vojtovich authored
Also allocate inuse_relaylog with new rather than my_malloc(MY_ZEROFILL).
-
Vladislav Vaintroub authored
A desperate attempt to workaround MemorySanitizer deficiencies.
-
Vladislav Vaintroub authored
-
Kentoku SHIBA authored
-
- 24 Mar, 2020 4 commits
-
-
seppo authored
If async slave thread (slave SQL handler), becomes a BF victim, it may occasionally happen that rollbacker thread is used to carry out the rollback instead of the async slave thread. This can happen, if async slave thread has flagged "idle" state when BF thread tries to figure out how to kill the victim. The issue was possible to test by using a galera cluster as slave for external master, and issuing high load of conflicting writes through async replication and directly against galera cluster nodes. However, a deterministic mtr test for the "conflict window" has not yet been worked on. The fix, in this patch makes sure that async slave thread state is never set to IDLE. This prevents the rollbacker thread to intervene. The wsrep_query_state change was refactored to happen by dedicated function to make controlling the idle state change in one place.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The test failed to specify default-character-set when invoking the client. The compile-time default parameters of the client could be overridden by configuration files in /etc/mysql. Let us explicitly specify --default-character-set.
-
Igor Babaev authored
This bug could cause a crash for any query that used a derived table/view/CTE whose specification was a SELECT with a GROUP BY clause and a FROM list containing 32 or more table references. The problem appeared only in the cases when the splitting optimization could be applied to such derived table/view/CTE.
-
- 23 Mar, 2020 7 commits
-
-
Eugene Kosov authored
-
Eugene Kosov authored
MDEV-22006 runtime error: null pointer passed as argument 2, which is declared to never be null in JOIN::copy_ref_ptr_array() Do not memcpy() a zero-length buffer
-
Thirunarayanan Balathandayuthapani authored
redo log during recovery - InnoDB unnecessarily reads the page even though it has fully initialized buffered redo log records. Allow the page initialization redo log to apply for the page in buf_page_get_gen() during recovery. - Renamed buf_page_get_gen() to buf_page_get_low() - Newly added buf_page_get_gen() will check for buffered redo log for the particular page id during recovery - Added new function buf_page_mtr_lock() which basically latches the page for the given latch type. - recv_recovery_create_page() is inline function which creates a page if it has page initialization redo log records.
-
Eugene Kosov authored
MDEV-19658 UBSAN: runtime error: load of value 2779096485, which is not a valid value for type 'enum_binlog_format' This is an uninitialized read. THD::THD: initialize current_stmt_binlog_format member
-
Vladislav Vaintroub authored
Update submodule, change the source file list rename CACHE_LINE_SIZE in ut0counter, so it does not conflics with rocksdb sources, which also defines this constant now.
-
Alice Sherepa authored
-
Thirunarayanan Balathandayuthapani authored
- mbmaxlen is always 0 for binary field. Ignore the assert of checking field->prefix_len % field->col->mbmaxlen == 0.
-