- 08 Mar, 2019 3 commits
-
-
Oleksandr Byelkin authored
TVC uses derived as singlatable calls
-
Marko Mäkelä authored
When compiling CMAKE_BUILD_TYPE=Debug WITH_ASAN using clang-7 -O2 the following tests could fail due to insufficient stack size: main.signal_demo3 sys_vars.max_sp_recursion_depth_func
-
Marko Mäkelä authored
In commit d30f17af the change of the loop iteration broke another error handling path that did "goto error_handling_drop_uncached". Cover this code path with fault injection, and revert to the correct iteration. There are two fault injection labels innodb_OOM_prepare_inplace_alter. Their order was swapped in MDEV-11369, so that the label that used to be covered in an ADD INDEX code path would become unreachable because the label that is executed for any ALTER TABLE was executed first. Let us introduce the label innodb_OOM_prepare_add_index for the more specific case.
-
- 07 Mar, 2019 13 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The 10.1 changes to the test case were accidentally omitted in the merge commit 913e33e4.
-
Marko Mäkelä authored
The test case was accidentally omitted from the merge commit 913e33e4.
-
Marko Mäkelä authored
GCC does not like MY_ATTRIBUTE((nonnull)) on a reference-to-pointer parameter. clang did not flag an issue wit that.
-
Marko Mäkelä authored
Rewrite the MDEV-13818 fix to prevent heap-use-after-free. Add a test case for MDEV-18272.
-
Sergei Golubchik authored
if create_index_dict() fails, we need to free ctx->add_index[a] too This fixes innodb.alter_crash and innodb.instant_alter_debug failures in ASAN_OPTIONS="abort_on_error=1" runs
-
Sergei Golubchik authored
This fixes main.mysql_client_test, main.mysql_client_test_comp, main.mysql_client_test_nonblock failures in ASAN_OPTIONS="abort_on_error=1" runs
-
Marko Mäkelä authored
row_merge_create_index_graph(): Relay the internal state from dict_create_index_step(). Our caller should free the index only if it was not copied, added to the cache, and freed. row_merge_create_index(): Free the index template if it was not added to the cache. This is a safer variant of the logic that was introduced in 65070bef in 10.2. prepare_inplace_alter_table_dict(): Add additional fault injection to exercise a code path where we have already added an index to the cache.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
row_mysql_handle_errors(): Correct the wrong error handling for the code DB_FOREIGN_EXCEED_MAX_CASCADE that was introduced in https://github.com/mysql/mysql-server/commit/c0923d396aef46799883390e9dcf7bbf173e4a03 commit 35f5429e Author: Jimmy Yang <jimmy.yang@oracle.com> Date: Wed Oct 6 06:55:34 2010 -0700 Manual port Bug #Bug #54582 "stack overflow when opening many tables linked with foreign keys at once" from mysql-5.1-security to mysql-5.5-security again. rb://391 approved by Heikki No known test case exists for repeating the bug before MariaDB 10.2. The scenario should be that DB_FOREIGN_EXCEED_MAX_CASCADE is returned, then InnoDB wrongly skips the rollback to the start of the current row operation, and finally the SQL layer commits the transaction. Normally the SQL layer would roll back either the entire transaction or to the start of the statement. In the faulty scenario, InnoDB would leave the transaction in an inconsistent state, and the SQL layer could commit the transaction.
-
Galina Shalygina authored
using Item_cond This bug is similar to the bug MDEV-16765. It appears because of the wrong pushdown into HAVING clause while this pushdown shouldn't be made at all. This happens because function that checks if Item_cond can be pushed always returns that it can be pushed. To fix it new method Item_cond::excl_dep_on_table() was added.
-
- 06 Mar, 2019 15 commits
-
-
Alexander Barkov authored
After-merge fix for MDEV-18333 Slow_queries count doesn't increase when slow_query_log is turned off
-
Sergei Golubchik authored
This fixes main.mysql_client_test, main.mysql_client_test_comp, main.mysql_client_test_nonblock failures in ASAN_OPTIONS="abort_on_error=1" runs
-
Sergei Golubchik authored
don't initialize mysql structure before it actually becomes needed. This fixes main.mysqladmin failures in ASAN_OPTIONS="abort_on_error=1" runs
-
Sergei Golubchik authored
free already allocated indexes if row_merge_create_index() fails This fixes innodb.alter_crash failure in ASAN_OPTIONS="abort_on_error=1" runs
-
Sergei Golubchik authored
use the correct delete operator This fixes mroonga/storage.column_generated_stored_add_column failures in ASAN_OPTIONS="abort_on_error=1" runs
-
Sergei Golubchik authored
MDEV-18625 ASAN unknown-crash in my_copy_fix_mb / ha_mroonga::storage_inplace_alter_table_add_column disable inplace alter for adding stored generated columns. This fixes mroonga/storage.column_generated_stored_add_column failures in ASAN_OPTIONS="abort_on_error=1" runs Also, add a test case that shows the bug without ASAN.
-
Marko Mäkelä authored
-
Sergei Golubchik authored
fixes these test failures in ASAN builds (in 10.1 and 10.4): * main.signal_demo3 * main.sp * sys_vars.max_sp_recursion_depth_func * mroonga/storage.foreign_key_delete_existent * mroonga/storage.foreign_key_delete_nonexistent * mroonga/storage.foreign_key_insert_existent * mroonga/storage.foreign_key_update_existent * mroonga/storage.foreign_key_update_nonexistent * mroonga/storage.function_command_auto-escape * mroonga/storage.function_command_select * mroonga/storage.variable_enable_operations_recording_insert
-
Sergei Golubchik authored
-
Marko Mäkelä authored
-
Alexander Barkov authored
thd->lex->m_sql_cmd was not cleared between queries. log_slow_query() could crash (when running mtr --ps) because of this.
-
Marko Mäkelä authored
I know no test case for this bug in 10.1. So a test case will be committed separately in 10.2 fts_reset_get_doc(): properly initialize fts_get_doc_t::cache
-
Marko Mäkelä authored
fts_fetch_index_words(): Restore the initialization len=0. The test innodb_fts.create in 10.2 would end up in an infinite loop if this assignment is removed, because a following iteration of the while() loop would assign zip->zp->avail_in=len with the original value instead of the 0 that was reset in the previous iteration.
-
Marko Mäkelä authored
Fix the warnings issued by GCC 8 -Wstringop-truncation and -Wstringop-overflow in InnoDB and XtraDB. This work is motivated by Jan Lindström. The patch mainly differs from his original one as follows: (1) We remove explicit initialization of stack-allocated string buffers. The minimum amount of initialization that is needed is a terminating NUL character. (2) GCC issues a warning for invoking strncpy(dest, src, sizeof dest) because if strlen(src) >= sizeof dest, there would be no terminating NUL byte in dest. We avoid this problem by invoking strncpy() with a limit that is 1 less than the buffer size, and by always writing NUL to the last byte of the buffer. (3) We replace strncpy() with memcpy() or strcpy() in those cases when the result is functionally equivalent. Note: fts_fetch_index_words() never deals with len==UNIV_SQL_NULL. This was enforced by an assertion that limits the maximum length to FTS_MAX_WORD_LEN. Also, the encoding that InnoDB uses for the compressed fulltext index is not byte-order agnostic, that is, InnoDB data files that use FULLTEXT INDEX are not portable between big-endian and little-endian systems.
-
Marko Mäkelä authored
row_merge_create_fts_sort_index(): Initialize dict_col_t. This fixes an access to uninitialized dict_col_t::ind when a debug assertion in MariaDB 10.4 invokes is_dropped() in rec_get_converted_size_comp_prefix_low(). Older MariaDB versions seem to be unaffected by the uninitialized values, but it should not hurt to initialize everything.
-
- 05 Mar, 2019 4 commits
-
-
Julius Goryavsky authored
-
Marko Mäkelä authored
FIXME: Properly resolve conflicts between MDEV-18883 and MDEV-7742/MDEV-8305, and record the correct result for main.log_slow
-
Marko Mäkelä authored
-
Igor Babaev authored
If a splittable materialized derived table / view T is used in a inner nest of an outer join with impossible ON condition then T is marked as a constant table. Yet the execution plan to build T is still searched for in spite of the fact that is not needed. So it should be set.
-
- 04 Mar, 2019 5 commits
-
-
Marko Mäkelä authored
Lesson learned: A HA_TOPTION_SYSVAR that is bound to MYSQL_THDVAR_UINT does not have the type uint, but ulonglong.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-