- 22 Feb, 2017 1 commit
-
-
Sachin Setiya authored
Problem:- When MariaDB is compiled with jemalloc support, And we run mtr valgrind test, valgrind interferes with libjemalloc and returns false errors. Solution:- Run valgrind with --soname-synonyms=somalloc=libjemalloc* or --soname-synonyms=somalloc=NONE depending on whether we are dynamically linking or statically linking. Signed-off-by: Sachin Setiya <sachin.setiya@mariadb.com>
-
- 21 Feb, 2017 3 commits
-
-
Alexey Botchkov authored
ha_partition::late_extra_cache(uint). m_extra_prepare_for_update should be cleaned in ha_partition::reset()
-
Marko Mäkelä authored
a large memory buffer on Windows fil_extend_space_to_desired_size(), os_file_set_size(): Use calloc() for memory allocation, and handle failures. Properly check the return status of posix_fallocate(). On Windows, instead of extending the file by at most 1 megabyte at a time, write a zero-filled page at the end of the file. According to the Microsoft blog post https://blogs.msdn.microsoft.com/oldnewthing/20110922-00/?p=9573 this will physically extend the file by writing zero bytes. (InnoDB never uses DeviceIoControl() to set the file sparse.) For innodb_plugin, port the XtraDB fix for MySQL Bug#56433 (introducing fil_system->file_extend_mutex). The bug was fixed differently in MySQL 5.6 (and MariaDB Server 10.0).
-
Marko Mäkelä authored
fsp_init_file_page_low() does initialize all pages nowadays, even those in the InnoDB system tablespace.
-
- 20 Feb, 2017 2 commits
-
-
Oleksandr Byelkin authored
Switch MEM_ROOT to non-prune_partitions() during optimizing subselect.
-
Alexey Botchkov authored
MySQL 8.0 basically inherits the 5.7 model, though some modeifications required for the plugin.
-
- 18 Feb, 2017 1 commit
-
-
Elena Stepanova authored
parts.partition_float_myisam, parts.partition_int_myisam, parts.partition_float_innodb are all known to fail with timeouts on slow builders. The tests are composed of several independent parts for corresponding subtypes (float == float + double, int == tinyint + smallint + mediumint + int + bigint). The solution is to split them into separate tests. No test logic has been changed.
-
- 17 Feb, 2017 1 commit
-
-
Igor Babaev authored
This patch is actually a complement for the fix of bug mdev-6892. The procedure create_tmp_table() now must take into account Item_direct_refs that wrap up constant fields of derived tables/views that are used as inner tables in outer join operations.
-
- 16 Feb, 2017 3 commits
-
-
Elena Stepanova authored
On a slow builder, a delay between binlog events on master could occur, which would cause a heartbeat which is not expected by the test. The solution is to monitor the timing of binlog events on the master and only perform the heartbeat check if no critical delays have happened. Additionally, an unused variable was removed (this change is unrelated to the bugfix).
-
Alexander Kuleshov authored
-
Jan Lindström authored
These are caused by fact that functions are declared with __attribute__((nonnull)) or left shit like ~0 << macro when ~0U << macro should be used.
-
- 13 Feb, 2017 1 commit
-
-
Nirbhay Choubey authored
Try to remove bug50373.txt before using it in SELECT .. OUTFILE (in case its a leftover from previous test runs).
-
- 27 Jan, 2017 2 commits
-
-
Monty authored
with xemacs
-
Monty authored
my_thread_global_init() + my_thrad_global_end() repeatadily. This caused THR_KEY_mysys to be allocated multiple times. Deletion of THR_KEY_mysys was originally in my_thread_global_end() but was moved to my_end() as DBUG uses THR_KEY_mysys and DBUG is released after my_thread_global_end() is called. Releasing DBUG before my_thread_global_end() and move THR_KEY_mysys back into my_thread_global_end() could be a solution, but as safe_mutex and other things called by my_thread_global_end is using DBUG it may not be completely safe. To solve this, I used the simple solution to add a marker that THR_KEY_mysys is created and not re-create it in my_thread_global_init if it already exists.
-
- 24 Jan, 2017 1 commit
-
-
Igor Babaev authored
As the function Item_subselect::fix_fields does it the function Item_subselect::update_used_tables must ignore UNCACHEABLE_EXPLAIN when deciding whether the subquery item should be considered as a constant item.
-
- 18 Jan, 2017 1 commit
-
-
Igor Babaev authored
When building different range and index-merge trees the range optimizer could build an index-merge tree with an index scan containing less ranges then needed. This index-merge could be chosen as the best. Following this index-merge the executioner missed some rows in the result set. The invalid index scan was built due to an inconsistency in the code back-ported from mysql into 5.3 that fixed mysql bug #11765831: the code added to key_or() could change shared keys of the second ored tree. Partially the problem was fixed in the patch for mariadb bug #823301, but it turned out that only partially.
-
- 14 Jan, 2017 3 commits
-
-
Sergei Golubchik authored
It was used for get_datetime_value() and for thd->is_error(). But in fact, get_datetime_value() never used thd argument, because the cache ptr argument was NULL. And thd->is_error() check was not needed at that place at all.
-
Sergei Golubchik authored
it used current_thd->alloc() and allocated on the thd's execution arena, not on table->expr_arena. Remove THD::arena_for_cached_items that is temporarily set in update_virtual_fields(), and replaces THD arena in get_datetime_value(). Instead set THD arena to table->expr_arena for the whole duration of update_virtual_fields()
-
Sergei Golubchik authored
Item_func_le included Arg_comparator. Arg_comparator remembered the current_thd during fix_fields and used that value during execution to allocate Item_cache in get_datetime_value(). But for vcols fix_fields and val_int can happen in different threads. Same bug for Item_func_in using in_datetime or cmp_item_datetime, both also remembered current_thd at fix_fields() to use it later for get_datetime_value(). As a fix, these objects no longer remember the current_thd, and get_datetime_value() uses current_thd at run time. This should not increase the number of current_thd calls much, as Item_cache is created only once anyway.
-
- 12 Jan, 2017 1 commit
-
-
Sergei Golubchik authored
don't check defaults for vcols
-
- 11 Jan, 2017 3 commits
-
-
Sergei Golubchik authored
MDEV-11706 Assertion `is_stat_field || !table || (!table->write_set || bitmap_is_set(table->write_set, field_index) || (table->vcol_set && bitmap_is_set(table->vcol_set, field_index)))' failed in Field_time::store_TIME_with_warning vcols and triggers. Revert 094f4cf7, backport the correct fix (Table_triggers_list::mark_fields_used() not marking vcols) from 10.2.
-
Nirbhay Choubey authored
The supplied sql_mode(s) should be converted to ASCII first, before comparing it with the sql_mode set.
-
Sergei Golubchik authored
compile, and install selinux policy for mysqld_safe_helper on centos6. the policy was created as described in https://mariadb.com/kb/en/mariadb/what-to-do-if-mariadb-doesnt-start/#other-selinux-changes
-
- 10 Jan, 2017 1 commit
-
-
Sergei Golubchik authored
-
- 09 Jan, 2017 1 commit
-
-
Alexander Barkov authored
c3cf7f47 reverted the patch for BUG#24487120. After merging the reverting patch from MySQL to MariaDB the problems described in MDEV-11079 and MDEV-11631 disappeared. Adding test cases only.
-
- 05 Jan, 2017 4 commits
-
-
Igor Babaev authored
The fix for bug mdev-5104 did not take into account that for any call of setup_order the size of ref_array must be big enough. This patch fixes this problem.
-
Elena Stepanova authored
The warning is "blocks are still reachable in loss record", happens in malloc / _dl_close_worker. Suppression added
-
Elena Stepanova authored
When the test is run as a part of the suite with valgrind, only allow it to be executed if --big-test is set. If the test is run by specifying its name explicitly, it will still be executed, even with valgrind without big-test, MTR has special logic for that
-
Elena Stepanova authored
The guilty part of the test checks for performance degradation on a query with numerous joins on an empty table. The test expects the query to take less than 1 second, and fails if it is not so (which can happen on very slow builders). The solution is to add more JOINs to the query. On a fixed server, it should not have any noticeable impact on the query execution, while on the unfixed version the query would take several times longer (e.g. 6.5 sec vs 1.5 sec). Thus, we can increase the margin for the error, and make the test fail when the query takes longer than 5 seconds.
-
- 04 Jan, 2017 3 commits
-
-
Sergei Golubchik authored
correct the error message in case of setuid/setgid failures
-
Elena Stepanova authored
Backport the fix to 5.5, because it fails there too The patch fixes two test failures: - on slow builders, sometimes a connection attempt which should fail due to the exceeded number of thread_pool_max_threads actually succeeds; - on even slow builders, MTR sometimes cannot establish the initial connection, and check-testcase fails prior to the test start The problem with check-testcase was caused by connect-timeout=2 which was set for all clients in the test config file. On slow builders it might be not enough. There is no way to override it for the pre-test check, so it needed to be substantially increased or removed. The other problem was caused by a race condition between sleeps that the test performs in existing connections and the connect timeout for the connection attempt which was expected to fail. If sleeps finished before the connect-timeout was exceeded, it would allow the connection to succeed. To solve each problem without making the other one worse, connect-timeout should be configured dynamically during the test. Due to the nature of the test (all connections must be busy at the moment when we need to change the timeout, and cannot execute SET GLOBAL ...), it needs to be done independently from the server. The solution: - recognize 'connect_timeout' as a connection option in mysqltest's "connect" command; - remove connect-timeout from the test configuration file; - use the new connect_timeout option for those connections which are expected to fail; - re-arrange the test flow to allow running a huge SLEEP without affecting the test execution time (because it would be interrupted after the main test flow is finished). The test is still subject to false negatives, e.g. if the connection fails due to timeout rather than due to the exceeded number of allowed threads, or if the connection on extra port succeeds due to a race condition and not because the special logic for the extra port. But those false negatives have always been possible there on slow builders, they should not be critical because faster builders should catch such failures if they appear. Conflicts: client/mysqltest.cc mysql-test/r/pool_of_threads.result mysql-test/t/pool_of_threads.test
-
Elena Stepanova authored
main.log_slow might leave mysql.slow_log table non-empty, and tests which later use it might fail. Make sure that the table is properly truncated
-
- 24 Dec, 2016 1 commit
-
-
Daniel Bartholomew authored
-
- 22 Dec, 2016 7 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
and use is_supported_parser_charset() instead of direct check
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Varun Gupta authored
In file sql/filesort.cc,when merge_buffers() is called then - queue_remove(&queue,0) is called - For the function queue_remove there is assertion states that the element to be removed should have index >=1 - this is causing the assertion to fail. Fixed by removing the top element.
-