- 18 Jun, 2017 1 commit
-
-
Sergei Golubchik authored
regex didn't replace lines that were split by 16K chunk reads.
-
- 14 Jun, 2017 4 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
MDEV-13063 Server crashes in intern_plugin_lock or assertion `plugin_ptr->ref_count == 1' fails in plugin_init if a forced plugin is disabled (for any reason, e.g. invalid command-line option) - it's an error
-
Sergei Golubchik authored
-
- 08 Jun, 2017 1 commit
-
-
Igor Babaev authored
This is actually a legacy bug: SQL_SELECT::test_quick_select() was called with SQL_SELECT::head not set. It looks like that this problem can be reproduced only on queries with ORDER BY that use IN predicates converted to semi-joins.
-
- 07 Jun, 2017 2 commits
-
-
Igor Babaev authored
This patch corrects the fix for bug mdev-7599. When the min/max optimization of the function opt_sum_query() optimizes away all tables of a subquery it should not ever be rolled back.
-
Igor Babaev authored
If the optimizer chose an execution plan where a semi-join nest were materialized and the result of materialization was scanned to access other tables by ref access it could build a key over columns of the tables from the nest that were actually inaccessible. The patch performs a proper check whether a key that uses columns of the tables from a materialized semi-join nest can be employed to access outer tables.
-
- 29 May, 2017 1 commit
-
-
Marko Mäkelä authored
buf_page_get_gen(): Remove the error log messages about page flushing and eviction when innodb_change_buffering_debug=1 is in effect.
-
- 23 May, 2017 1 commit
-
-
Oleksandr Byelkin authored
Added forgoten method of Item_func_sp to make it correctly work with LEFT/RIGHT JOIN. Fixed inconsistency with the null table caches.
-
- 19 May, 2017 1 commit
-
-
Sachin Setiya authored
-
- 18 May, 2017 2 commits
-
-
Oleksandr Byelkin authored
-
Sachin Setiya authored
Problem:- This crash happens because logged stmt is quite big and while writing Annotate_rows_log_event it throws EFBIG error but we ignore this error and do not call cache_data->set_incident(). Solution:- When we normally write Binlog_log_event we check for error EFBIG, but we did do this for Annotate_rows_log_event. We check for this error and call cache_data->set_incident() accordingly. # Conflicts: # sql/log.cc
-
- 17 May, 2017 2 commits
-
-
Igor Babaev authored
This is another correction of the patch for bug mdev-12670. If a derived table is merged into a select with STRAIGHT_JOIN modifier all IN subquery predicates contained in the specification of the derived table cannot be subject to conversion to semi-joins.
-
Igor Babaev authored
This patch is a correction of the patch for bug mdev-12670. With the current code handling semi-joins the following must be taken into account. Conversion of an IN subquery predicate into semi-join has to be blocked if the predicate occurs: (a) in the ON expression of an outer join (b) in the ON expression of an inner join embedded directly or indirectly in the inner nest of an outer join. The patch for mdev-12670 blocked conversion to semi-joins only in the case (a), but not in the case (b). This patch blocks the conversion in both cases.
-
- 16 May, 2017 1 commit
-
-
Igor Babaev authored
When an IN subquery predicate was converted to a semi-join that were materialized and the result of the materialization happened to be the last in the execution plan then any conjunctive condition with RAND() turned out to be lost. Fixed by attaching this condition to the last top base table.
-
- 15 May, 2017 2 commits
-
-
Sergei Golubchik authored
with a specially corrupted master.info one can get an invalid heartbeat_period that will trigger a heap overflow.
-
Igor Babaev authored
At some conditions the function opt_sum_query() can apply MIN/MAX optimizations to to Item_sum objects of a select These optimizations becomes invalid if this select is the subquery of an IN subquery predicate that is converted to a EXISTS subquery. Thus in this case the MIX/MAX optimizations that have been applied in opt_sum_query() must be rolled back. This bug appeared in 5.3 when the code for the cost base choice between materialization and in-to-exists transformation of non-correlated IN subqueries was introduced. Before this code in-to-exists transformations were always performed before the call of opt_sum_query().
-
- 12 May, 2017 1 commit
-
-
Sachin Setiya authored
A better way of finding mysqld
-
- 09 May, 2017 1 commit
-
-
Igor Babaev authored
The code that blocked conversion of a IN subselect pedicate to a semi-join if it occurred in the ON expression of an outer join did not do it correctly. As a result, the conversion was blocked for IN subselect predicates encountered in ON expressions of INNER joins or in WHERE conditions of mergeable views / derived tables. This patch fixes this problem.
-
- 05 May, 2017 1 commit
-
-
Igor Babaev authored
This patch corrects the fix for the bug mdev-10693. It is critical for the function get_best_combination() not to call create_ref_for_key() for constant tables. This bug could manifest itself only in multi-table subqueries where one of the tables is accessed by a constant primary key.
-
- 02 May, 2017 1 commit
-
-
Daniel Bartholomew authored
-
- 30 Apr, 2017 1 commit
-
-
Daniel Black authored
/home/travis/build/MariaDB/server/extra/mysqld_safe_helper.c:62:21: warning: too many arguments in call to 'do_usage' do_usage(argv[0]); ~~~~~~~~ ^ 1 warning generated.
-
- 24 Apr, 2017 1 commit
-
-
Igor Babaev authored
The code that chooses between materialization of a non-correlated IN subquery and its transformation into an EXISTS correlated subquery assumes that the execution plan for the outer select has been already built. However it was not always so if subqueries occurred in the expressions used for ref access to tables of the outer select. A call of the function create_ref_for_key() in get_best_combination() could trigger a premature execution of the above mentioned code when the execution plan structures for the outer select were not fully built. This could cause a crash of the server. The fix postpones the calls of create_ref_for_key() until the structures for the execution plan is fully built.
-
- 20 Apr, 2017 6 commits
-
-
Sergei Golubchik authored
of course, this combination can never succeed, we must fail to connect here.
-
Sergei Golubchik authored
MDEV-12230 include/my_sys.h:600:43: error: unknown type name ‘PSI_file_key’" when -DWITHOUT_SERVER=1 cherry-pick 2c2bd8c1 (MDEV-12261 build failure without P_S) from 10.0
-
Sergei Golubchik authored
-
Sergei Golubchik authored
it could be * O_SEARCH on Illumos * O_EXEC on FreeBSD * O_PATH on Linux ugh
-
Sergei Golubchik authored
way-too-smart compilers don't like the "confusing indentation"
-
Kristian Nielsen authored
-
- 19 Apr, 2017 1 commit
-
-
Oleksandr Byelkin authored
The motivation for this is that Perl is moving towards not having current directory ./ in @INC by default. This is causing mysql-test-run.pl to fail in latest Debian Unstable: https://lists.debian.org/debian-devel-announce/2016/08/msg00013.html However, we have `use "lib"`, there is no need for current directory in @INC, except for a gross hack. In mtr_cases.pm, there is a `require "mtr_misc.pl"`, which hides mtr_misc.pl away in mtr_cases namespace. And things only work because mysql-test-run.pl loads it with a different name, `require "lib/mtr_misc.pl"`! (Perl will `require` only once for each unique filename). Fix this by only using `require` in main program, and referencing functions with :: scope from other namespaces. For multi-use in different namespaces, proper `use` modules should be used. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
-
- 13 Apr, 2017 1 commit
-
-
Daniel Bartholomew authored
-
- 11 Apr, 2017 1 commit
-
-
Sergei Golubchik authored
-
- 07 Apr, 2017 1 commit
-
-
Igor Babaev authored
-
- 04 Apr, 2017 1 commit
-
-
Igor Babaev authored
Also fixed a wrong result for a test case for mdev-7691 (the alternative one). The test cases for all these bug have materialized semi-joins used inside dependent sub-queries. The patch actually reverts the change inroduced by Monty in 2003. It looks like this change is not valid anymore after the implementation of semi-joins. Adjusted output from EXPLAIN for many other test cases.
-
- 24 Mar, 2017 1 commit
-
-
Marko Mäkelä authored
The test was unnecessarily depending on InnoDB purge, which can sometimes fail to proceed. Let us rewrite the test to use BEGIN;INSERT;ROLLBACK to cause the immediate removal of the desired records.
-
- 21 Mar, 2017 1 commit
-
-
Sergei Golubchik authored
shouldn't have been added in the first place, MariaDB Server is GPLv2
-
- 18 Mar, 2017 1 commit
-
-
Bharathy Satish authored
While writing comments if database object names has a new line character, then next line is considered a command, rather than a comment. This patch fixes the way comments are constructed in mysqldump. (cherry picked from commit 1099f9d17b1c697c2760f86556f5bae7d202b444)
-
- 17 Mar, 2017 1 commit
-
-
Vladislav Vaintroub authored
-
- 14 Mar, 2017 1 commit
-
-
Varun Gupta authored
failed with SELECT SQ, TEXT field The functon find_all_keys does call Item_subselect::walk, which calls walk() for the subquery The issue is that when a field is represented by Item_outer_ref(Item_direct_ref(Item_copy_string( ...))). Item_copy_string does have a pointer to an Item_field in Item_copy::item but does not implement Item::walk method, so we are not able to set the bitmap for that field. This is the reason why the assert fails. Fixed by adding the walk method to Item_copy class.
-