- 24 Apr, 2013 1 commit
-
-
Annamalai Gurusami authored
-
- 22 Apr, 2013 2 commits
-
-
Murthy Narkedimilli authored
-
unknown authored
-
- 20 Apr, 2013 2 commits
-
-
Neeraj Bisht authored
Problem: In query like select 1 from .. order by match .. against ...; causes a debug assert failue. Analysis: In union type query like (select * from order by a) order by b; or (select * from order by a) union (select * from order by b); We skip resolving of order by a for 1st query and order by of a and b in 2nd query. This means that, in case when our order by have Item_func_match class, we skip resolving it. But we maintain a ft_func_list and at the time of optimization, when we Perform FULLTEXT search before all regular searches on the bases of the list we call Item_func_match::init_search() which will cause debug assert as the item is not resolved. Solution: We will skip execution if the item is not fixed and we will not fix index(Item_func_match::fix_index()) for which Item_func_match::fix_field() is not called so that on later changes we can check the dependency on fix field. bz sql/item_func.cc: skiping execution, if item is not resolved.
-
Neeraj Bisht authored
Problem: In query like select 1 from .. order by match .. against ...; causes a debug assert failue. Analysis: In union type query like (select * from order by a) order by b; or (select * from order by a) union (select * from order by b); We skip resolving of order by a for 1st query and order by of a and b in 2nd query. This means that, in case when our order by have Item_func_match class, we skip resolving it. But we maintain a ft_func_list and at the time of optimization, when we Perform FULLTEXT search before all regular searches on the bases of the list we call Item_func_match::init_search() which will cause debug assert as the item is not resolved. Solution: We will skip execution if the item is not fixed and we will not fix index(Item_func_match::fix_index()) for which Item_func_match::fix_field() is not called so that on later changes we can check the dependency on fix field. sql/item_func.cc: skiping execution, if item is not resolved.
-
- 18 Apr, 2013 1 commit
-
-
unknown authored
-
- 17 Apr, 2013 1 commit
-
-
Tor Didriksen authored
Zero out the entire struct, rather than the first sizeof(void*) bytes.
-
- 16 Apr, 2013 3 commits
-
-
sayantan dutta authored
-
Murthy Narkedimilli authored
-
Murthy Narkedimilli authored
-
- 14 Apr, 2013 2 commits
-
-
Chaithra Gopalareddy authored
sql/sql_class.h: Parsing for group_concat's order by is made independent. As a result, add_order_to_list cannot be used anymore.
-
Chaithra Gopalareddy authored
!TABLES->NEXT_NAME_RESOLUTION_TABLE) || !TAB Problem: The context info of select query gets corrupted when a query with group_concat having order by is present in an order by clause of the select query. As a result, server crashes with an assert. Analysis: While parsing order by for group_concat, it is presumed that it is always present before the actual order by for the select query. As a result, parser uses select->order_list to populate the order by items of group_concat and creates a select->gorder_list to which select->order_list is copied onto. Once this is done, it empties the select->order_list. In the case presented in the bugpage, as order by is already parsed when group_concat's order by is encountered, parser presumes that it is the second order by in the select query and creates fake_lex_unit which results in the change of context info. Solution: Make group_concat's order by parsing independent of the select sql/item_sum.cc: Change the argument as, select->gorder_list is not pointer anymore sql/item_sum.h: Change the argument as, select->gorder_list is not pointer anymore sql/mysql_priv.h: Parsing for group_concat's order by is made independent. As a result, add_order_to_list cannot be used anymore. sql/sql_lex.cc: Parsing for group_concat's order by is made independent. As a result, add_order_to_list cannot be used anymore. sql/sql_lex.h: Parsing for group_concat's order by is made independent. As a result, add_order_to_list cannot be used anymore. sql/sql_yacc.yy: Make group_concat's order by parsing independent of the select queries order by.
-
- 12 Apr, 2013 3 commits
-
-
Balasubramanian Kandasamy authored
-
Venkatesh Duggirala authored
WITH A PORT NUMBER ENCLOSED IN QUOTES Problem: mysqldump --dump-slave --include-master-host-port prints the CHANGE MASTER command in the generated logical backup. The PORT number that is generated with this command is a string and should be an integer. Fix: Remove the Enclosed quotes for port number.
-
Jorgen Loland authored
PARTIAL INDEX Consider the following table definition: CREATE TABLE t ( my_col CHAR(10), ... INDEX my_idx (my_col(1)) ) The my_idx index is not able to distinguish between rows with equal first-character my_col-values (e.g. "f", "foo", "fee"). Prior to this CS, the range optimizer would translate "WHERE my_col NOT IN ('f', 'h')" into (optimizer trace syntax) "ranges": [ "NULL < my_col < f", "f < my_col" ] But this was not correct because the rows with values "foo" and "fee" would not belong to any of those ranges. However, the predicate "my_col != 'f' AND my_col != 'h'" would translate to "ranges": [ "NULL < my_col" ] because get_mm_leaf() changes from "<" to "<=" for partial keyparts. This CS changes the range optimizer implementation for NOT IN to behave like a conjunction of NOT EQUAL: it replaces "<" with "<=" for all but the first range when the keypart is partial.
-
- 11 Apr, 2013 1 commit
-
-
unknown authored
Solution:Set diff_time to 0 if finish_time < start_time
-
- 10 Apr, 2013 2 commits
-
-
Tor Didriksen authored
Add execute bit for scripts: - in build directory - in install directory
-
Thayumanavar authored
DESCRIPTION AND FIX: DBUG_EXPLAIN result in buffer overflow when the DEBUG variable values length exceed 255. In _db_explain_ function which call macro str_to_buf incorrectly passes the length of buf avaliable to strnmov as len+1. The fix calculates the avaliable space in buf and passes it to strnxmov.
-
- 09 Apr, 2013 2 commits
-
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
-
- 08 Apr, 2013 5 commits
-
-
Gopal Shankar authored
-
unknown authored
No commit message
-
unknown authored
No commit message
-
unknown authored
No commit message
-
Raghav Kapoor authored
BACKGROUND: The testcase i_innodb.innodb_bug14036214 when run under valgrind leaks memory. ANALYSIS: In the code path of mysql_update, a temporary file is opened using open_cached_file(). When an error has occured in that code path, this temporary file was not closed since call to close_cached_file() was missing. This problem exists in 5.5 but it does not exists in 5.6 and trunk. This is because in 5.6 and trunk, when we issue the update statement in the test case, it does not take the same code path as in 5.5. The code path is different because a different plan is chosen by optimizer. See Bug#14036214 for details. However, the problem can still be examined in 5.6 and trunk by code inspection. FIX: The file opened by open_cached_file() has been closed by calling close_cached_file() when an error occurs so that it does not results in a memory leak.
-
- 04 Apr, 2013 1 commit
-
-
sayantan dutta authored
-
- 03 Apr, 2013 1 commit
-
-
Murthy Narkedimilli authored
-
- 02 Apr, 2013 5 commits
-
-
Tor Didriksen authored
-
Tor Didriksen authored
This is a backport of the fix for Bug#13966809 CRASH IN COPY_FUNCS WHEN GROUPING BY OUTER QUERY BLOB FIELD IN SUBQUERY
-
Tor Didriksen authored
Don't try to install anything into INSTALL_MYSQLTESTDIR if it is explicitly set empty on the cmake command line.
-
unknown authored
No commit message
-
unknown authored
No commit message
-
- 01 Apr, 2013 2 commits
- 31 Mar, 2013 2 commits
-
-
Chaithra Gopalareddy authored
-
Chaithra Gopalareddy authored
Bug #16347343 : CRASH, GROUP_CONCAT, DERIVED TABLES Problem: A select query inside a group_concat function having an outer reference results in a crash. Analysis: In function Item_group_concat::add, we do not check if return value of get_tmp_table_field can be NULL for a non-const item. This can happen for a query with a outer reference. While resolving the outer reference in the query present inside group_concat function, we set the "const_item_cache" to false. As a result in the call to const_item() from Item_func_group_concat::add, it returns false and goes on to check if this can be NULL resulting in the crash. get_tmp_table_field does not return NULL for Items of type Item_field, Item_result_field and Item_ref. For all other items, it returns NULL. Solution: Check for the return value of get_tmp_table_field before we access field contents. sql/item_sum.cc: Check for the return value of get_tmp_table_field before accessing
-
- 30 Mar, 2013 1 commit
-
-
Chaithra Gopalareddy authored
Problem: Insert with 'on duplicate key update' on a view, crashes the server. Analysis: During an insert on to a view, we do the following: For insert fields and values - 1. Resolve insert values. 2. Resolve insert fields. 3. Check if the fields and values are all from a single table of a view in case of INSERT VALUES. Do not check the same in case of INSERT SELECT, as the values can be read from different table than that of the view. For the update fields (if DUP UPDATE is used) 1. Create a name resolution context with 'table_list' only. 2. Resolve update fields in this context. 3. Check if update fields and values are from the same table as the insert fields. 4. Get the next name resolution context. Concatinate this with the previous one. 5. Resolve update values in this context as we can refer to other tables in the values clause. Note that at step 3(of update fields), we check for 'used_tables map' of update values, without resolving them first. Hence the crash. Fix: At step 3, do not pass the update values to check if its a single table view update, as update values can refer other table. Code has been re-organized to function like check_insert_fields. sql/sql_insert.cc: Do not pass update_values as they are not resolved yet.
-
- 29 Mar, 2013 3 commits
-
-
Annamalai Gurusami authored
-
Annamalai Gurusami authored
TABLE/KEY RELATIONS The DICT_FK_MAX_RECURSIVE_LOAD was reduced from 250 to 33 in rb#2058. But in optimized build, this recursive depth is still too deep and resulted in stack overflow. So reducing this depth to 20 now.
-
sayantan dutta authored
-