- 16 Aug, 2018 5 commits
-
-
Marko Mäkelä authored
Amend commit b853b4fd that was reverted in commit 29150e23. recv_parse_log_recs(): Do check for corrupted redo log or file system before checking for len==0, but only read *ptr if it is not past the end of the buffer (end_ptr). recv_parse_log_rec(): Report incorrect redo log type in a consistent way with recv_parse_or_apply_log_rec_body(). This is a follow-up to commit f30c5af4.
-
Marko Mäkelä authored
The Pool poisoning that was introduced in MDEV-15030 introduced race conditions in AddressSanitizer builds, because concurrent poisoning and unpoisoning were not prevented by any synchronization primitive. Pool::get(): Protect the unpoisoning by m_lock_strategy. Pool::mem_free(): Protect the poisoning by m_lock_strategy. Pool::putl(): Renamed from put(), because now the caller is responsible for invoking m_lock_strategy.
-
Marko Mäkelä authored
If trx_free() and trx_create_low() were called while a call to trx_reference() was pending, we could get a reference to a wrong transaction object. trx_reference(): Return NULL if the trx->id no longer matches. lock_trx_release_locks(): Assign trx->id = 0, so that trx_reference() will not return a reference to this object. trx_cleanup_at_db_startup(): Assign trx->id = 0. assert_trx_is_free(): Assert !trx->n_ref. Assert trx->id == 0, now that it will be cleared as part of a transaction commit.
-
Marko Mäkelä authored
Also, replace reverse iteration with forward iteration. lock_table_has(): Remove a redundant condition.
-
Marko Mäkelä authored
Allocate trx->lock.rec_pool and trx->lock.table_pool directly from trx_t. Remove unnecessary use of std::vector. In order to do this, move some definitions from lock0priv.h to lock0types.h, so that ib_lock_t will not be an opaque type.
-
- 15 Aug, 2018 1 commit
-
-
Vladislav Vaintroub authored
-
- 14 Aug, 2018 2 commits
-
-
Daniel Bartholomew authored
-
Vladislav Vaintroub authored
-
- 13 Aug, 2018 3 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
aws_key_management needs current directory to be datadir during initalization, it scans current directory for encrypted keys. Fix is to ensure, that plugin initialization in mariabackup happens after the call to my_setwd(mysql_real_data_home).
-
Sergei Petrunia authored
Fix a race condition in the test.
-
- 12 Aug, 2018 1 commit
-
-
Sergei Petrunia authored
The test causes simulated server crashes with DBUG_SUICIDE();. It also relies on transactions that were committed right before the crash to be visible after the crash (that is, it requires durability). Run the test with transaction durability enabled: set rocksdb-flush-log-at-trx-commit=1.
-
- 10 Aug, 2018 4 commits
-
-
Otto Kekäläinen authored
The package libmariadbclient18 contains the dialog.so plugin, which also the new libmariadb3 ships. As they both use the exact same path the latter must be marked as a with Breaks and Replaces relations ship. Note: This fix is conservative hack for stable releases 10.2 and 10.3. In 10.4, the development release at the time, we will clean up how the libmariadb3 packaging and it's -compat packages are done to match that what is done in downstream Debian official.
-
Marko Mäkelä authored
recv_parse_log_recs(): Do not check for corruption before checking for end-of-log-buffer. For some reason, adding the check to the logical-looking place would cause intermittent recovery failures in the tests innodb.innodb-index and innodb_gis.rtree_compress2.
-
Marko Mäkelä authored
recv_parse_log_recs(): Check for corruption before checking for end-of-log-buffer. mlog_parse_initial_log_record(), page_cur_parse_delete_rec(): Flag corruption for out-of-bounds values, and let the caller dump the corrupted redo log extract.
-
Marko Mäkelä authored
If recv_sys_justify_left_parsing_buf() has been invoked, it is possible that recv_previous_parsed_rec_offset is after the current offset. In this case, we must not dump any bytes before the current record.
-
- 09 Aug, 2018 5 commits
-
-
Marko Mäkelä authored
If the LOG_BLOCK_HDR_DATA_LEN field is corrupted, scanning the log records could fail in strange ways. It is better to validate the field as part of validating each log block.
-
Marko Mäkelä authored
Display the log record type in hexadecimal, not binary.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
warning: suggest a space before ‘;’ or explicit braces around empty body in ‘for’ statement
-
Sergei Golubchik authored
update the test to the new (correct) result
-
- 07 Aug, 2018 2 commits
-
-
Sergei Golubchik authored
make mysqld_multi to use same rules for my.cnf directories that all other tools are using (see my_default.c).
-
Sergei Golubchik authored
-
- 06 Aug, 2018 2 commits
-
-
Olivier Bertrand authored
filamtxt.cpp: DOSFAM::RenameTempFile: Change sprintf to snprintf. filamvct.cpp: VECFAM::RenameTempFile: Change sprintf to snprintf. javaconn.cpp: Add JAVAConn::GetUTFString function. Use it instead of env->GetStringUTFChars. Fix wrong identation. javaconn.h: Add GetUTFString declaration. jdbconn.cpp: Use GetUTFString function instead of env->GetStringUTFChars. jmgoconn.cpp: Use GetUTFString function instead of env->GetStringUTFChars. Fix wrong identation. jsonudf.cpp: change 139 to BMX line 4631. tabjmg.cpp: Add ReleaseStringUTF. Fix wrong identation. tabpivot.cpp: Fix wrong identation. tabutil.cpp: TDBPRX::GetSubTable: Change sprintf to snprintf. modified: storage/connect/filamtxt.cpp modified: storage/connect/filamvct.cpp modified: storage/connect/javaconn.cpp modified: storage/connect/javaconn.h modified: storage/connect/jdbconn.cpp modified: storage/connect/jmgoconn.cpp modified: storage/connect/jsonudf.cpp modified: storage/connect/tabjmg.cpp modified: storage/connect/tabpivot.cpp modified: storage/connect/tabutil.cpp - Fix MDEV-16895 CONNECT engine's get_error_message can cause buffer overflow and server crash with long queries ha_connect_cc: Update version. get_error_message: Remove charset conversion. modified: storage/connect/ha_connect.cc - Fix a server crash on inserting bigint to a JDBC table JDBConn::SetUUID: Suppress check on ctyp that causes a server crash because ctyp can be negative and this triggers an DEBUG_ASSERT on return. modified: storage/connect/jdbconn.cpp - Update jdbc.result mysql-test/connect/r/jdbc.result: Recorded to reflect a message change. modified: storage/connect/mysql-test/connect/r/jdbc.result
-
Alexey Botchkov authored
The charset of temporary storage (Item_func_json_insert::tmp_js) was not properly set.
-
- 05 Aug, 2018 1 commit
-
-
Alexey Botchkov authored
Item_func_json_value::val_str() produced string of wrong charset.
-
- 03 Aug, 2018 14 commits
-
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
rw_lock_get_debug_info(): Remove. This function is inherently unsafe to use, because the copied pointers can become stale between rw_lock_debug_mutex_exit() and the dereferencing of the pointer in the caller.
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
fts_query(): Remove a redundant condition (result will never be NULL), and instead check if *result is NULL, to prevent SIGSEGV in fts_query_free_result().
-
Marko Mäkelä authored
This concludes the merge of all applicable InnoDB changes from MySQL 5.7.23, with the exception of a performance fix, which we plan to rewrite in MariaDB later in such a way that it does not involve changing the storage engine API: MDEV-16849 Extending indexed VARCHAR column should be instantaneous
-
Marko Mäkelä authored
This is a port of an Oracle fix. No test case was provided by Oracle. It seems that to exploit this bug, one would have to SET foreign_key_checks=0 before TRUNCATE, and to concurrently run some DML statement that causes a foreign key constraint to be checked. commit 1f24c5aa2843fa548aa5c4b29c00f955e03e9f5b Author: Aditya A <aditya.a@oracle.com> Date: Fri May 18 12:32:37 2018 +0530 Bug #27208858 CONCURRENT DDL/DML ON FOREIGN KEYS CRASH IN PAGE_CUR_SEARCH_WITH_MATCH_BYTES
-