summaryrefslogtreecommitdiff
path: root/mysql-test
Commit message (Collapse)AuthorAgeFilesLines
* bug #19491 (5.0-related additional fixes)holyfoot/hf@mysql.com/deer.(none)2006-11-061-7/+8
|
* Merge abotchkov@production.mysql.com:mysql-5.0-optholyfoot/hf@mysql.com/deer.(none)2006-11-062-0/+19
|\ | | | | | | into mysql.com:/home/hf/work/21790/my50-21790
| * bug #21790 (UNKNOWN ERROR message in geometry)holyfoot/hf@mysql.com/deer.(none)2006-10-012-0/+20
| | | | | | | | | | We issued UNKNOWN ERROR initially in this place and forgot to fix it when we implemented informative error message for this
* | Merge bk@192.168.21.1:mysql-5.0-optholyfoot/hf@mysql.com/deer.(none)2006-11-064-0/+38
|\ \ | | | | | | | | | into mysql.com:/home/hf/work/19491/my50-19491
| * \ Merge mysql.com:/home/hf/work/19491/my50-19491holyfoot/hf@mysql.com/deer.(none)2006-11-014-0/+38
| |\ \ | | | | | | | | | | | | into mysql.com:/home/hf/work/mysql-5.0.19491
| | * | test result fixedholyfoot/hf@mysql.com/deer.(none)2006-11-011-1/+1
| | | |
| | * | bug #19491 (CAST do DATETIME wrong result)holyfoot/hf@mysql.com/deer.(none)2006-10-254-0/+38
| | | |
* | | | Merge rurik.mysql.com:/home/igor/mysql-5.0-optigor@rurik.mysql.com2006-11-012-0/+53
|\ \ \ \ | | | | | | | | | | | | | | | into rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug21727
| * | | | Fixed bug #21727.igor@rurik.mysql.com2006-10-312-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a performance issue for queries with subqueries evaluation of which requires filesort. Allocation of memory for the sort buffer at each evaluation of a subquery may take a significant amount of time if the buffer is rather big. With the fix we allocate the buffer at the first evaluation of the subquery and reuse it at each subsequent evaluation.
* | | | | Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-optsergefp@mysql.com2006-11-013-5/+295
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | into mysql.com:/home/psergey/mysql-5.0-bug8804-r4
| * | | | | BUG#8804: wrong results for NULL IN (SELECT ...)sergefp@mysql.com2006-10-313-5/+295
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evaluate "NULL IN (SELECT ...)" in a special way: Disable pushed-down conditions and their "consequences": = Do full table scans instead of unique_[index_subquery] lookups. = Change appropriate "ref_or_null" accesses to full table scans in subquery's joins. Also cache value of NULL IN (SELECT ...) if the SELECT is not correlated wrt any upper select.
* | | | | | Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-optholyfoot/abotchkov@mysql.com/production.mysql.com2006-10-314-0/+174
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usersnfs/abotchkov/mysql-5.0-opt1
| * \ \ \ \ \ Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-optgkodinov/kgeorge@rakia.gmz2006-10-312-0/+123
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | into rakia.gmz:/home/kgeorge/mysql/autopush/B21809-5.0-opt
| | * | | | | | Bug #21809: Error 1356 while selecting from view with grouping though underlyinggkodinov/kgeorge@macbook.gmz2006-10-242-0/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | select OK. The SQL parser was using Item::name to transfer user defined function attributes to the user defined function (udf). It was not distinguishing between user defined function call arguments and stored procedure call arguments. Setting Item::name was causing Item_ref::print() method to print the argument as quoted identifiers and caused views that reference aggregate functions as udf call arguments (and rely on Item::print() for the text of the view to store) to throw an undefined identifier error. Overloaded Item_ref::print to print aggregate functions as such when printing the references to aggregate functions taken out of context by split_sum_func2() Fixed the parser to properly detect using AS clause in stored procedure arguments as an error. Fixed printing the arguments of udf call to print properly the udf attribute.
| * | | | | | | Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-optgkodinov/kgeorge@rakia.gmz2006-10-312-0/+51
| |\ \ \ \ \ \ \ | | |_|/ / / / / | |/| | | | | | | | | | | | | | into rakia.gmz:/home/kgeorge/mysql/autopush/B23184-5.0-opt
| | * | | | | | Bug #23184: SELECT causes server crashgkodinov/kgeorge@macbook.gmz2006-10-312-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Item::val_xxx() may be called by the server several times at execute time for a single query. Calls to val_xxx() may be very expensive and sometimes (count(distinct), sum(distinct), avg(distinct)) not possible. To avoid that problem the results of calculation for these aggregate functions are cached so that val_xxx() methods just return the calculated value for the second and subsequent calls.
* | | | | | | | Merge bk@192.168.21.1:mysql-5.0-optholyfoot/hf@mysql.com/deer.(none)2006-10-249-44/+1
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | into mysql.com:/home/hf/work/w3475/my50-w3475
| * | | | | | | Merge mysql.com:/home/hf/work/w3475/my41-w3475holyfoot/hf@mysql.com/deer.(none)2006-10-239-44/+1
| |\ \ \ \ \ \ \ | | |_|_|_|/ / / | |/| | | | | | | | | | | | | | into mysql.com:/home/hf/work/w3475/my50-w3475
| | * | | | | | WL#3475 (Threads for the embedded server in mysqltest)holyfoot/hf@mysql.com/deer.(none)2006-10-239-44/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Necessary code added to mysqltest.c. Disabled tests are available now.
| | * | | | | | Merge bk-internal:/home/bk/mysql-4.1gkodinov@dl145s.mysql.com2006-10-208-6/+113
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
* | | \ \ \ \ \ \ Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-optigor@rurik.mysql.com2006-10-202-0/+32
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | into rurik.mysql.com:/home/igor/mysql-5.0-opt
| * | | | | | | | Merge rurik.mysql.com:/home/igor/mysql-4.1-optigor@rurik.mysql.com2006-10-202-0/+32
| |\ \ \ \ \ \ \ \ | | |_|_|/ / / / / | |/| | | | | | | | | | | | | | | | into rurik.mysql.com:/home/igor/mysql-5.0-opt
| | * | | | | | | Fixed bug #23478.igor@rurik.mysql.com2006-10-192-0/+32
| | | |/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If elements a not top-level IN subquery were accessed by an index and the subquery result set included a NULL value then the quantified predicate that contained the subquery was evaluated to NULL when it should return a non-null value.
* | | | | | | | Merge bk-internal:/home/bk/mysql-5.0gkodinov@dl145s.mysql.com2006-10-2027-69/+643
|\ \ \ \ \ \ \ \ | |/ / / / / / / | | | | | | | | | | | | | | | | into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
| * | | | | | | Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-optgkodinov@dl145s.mysql.com2006-10-192-1/+24
| |\ \ \ \ \ \ \ | | |/ / / / / / | | | | | | | | | | | | | | | | into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
| | * | | | | | Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1gkodinov@dl145s.mysql.com2006-10-198-6/+113
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
| | | * \ \ \ \ \ Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-optgkodinov/kgeorge@rakia.(none)2006-10-164-6/+68
| | | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into rakia.(none):/home/kgeorge/mysql/autopush/B14019-4.1-opt
| | | * \ \ \ \ \ \ Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1-optholyfoot/hf@mysql.com/deer.(none)2006-10-012-0/+21
| | | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/hf/work/21888/my41-21888
| | | * | | | | | | | Fixed bug#20825: rollup puts non-equal values togetherevgen@moonbone.local2006-09-292-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix for bug 7894 replaces a field(s) in a non-aggregate function with a item reference if such a field was specified in the GROUP BY clause in order to get a correct result. When ROLLUP is involved this lead to a wrong result due to value of a such field is got through a copy function and copying happens after the function evaluation. Such replacement isn't needed if grouping is also done by such a function. The change_group_ref() function now isn't called for a function present in the group list.
| * | | | | | | | | | Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-5.0gkodinov@dl145s.mysql.com2006-10-1925-68/+619
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
| | * | | | | | | | | | Changed test case for bug 22342 to make it platform independent.igor@rurik.mysql.com2006-10-182-4/+4
| | | |_|_|_|_|_|/ / / | | |/| | | | | | | |
| | * | | | | | | | | Merge rurik.mysql.com:/home/igor/mysql-5.0-optigor@rurik.mysql.com2006-10-172-0/+94
| | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug19579
| | | * | | | | | | | | Fixed bug #19579: at range analysis optimizer did not take into igor@rurik.mysql.com2006-10-162-0/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | account predicates that become sargable after reading const tables. In some cases this resulted in choosing non-optimal execution plans. Now info of such potentially saragable predicates is saved in an array and after reading const tables we check whether this predicates has become saragable.
| | * | | | | | | | | | Merge bk-internal:/home/bk/mysql-5.0-optgkodinov/kgeorge@macbook.gmz2006-10-172-0/+52
| | |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into macbook.gmz:/Users/kgeorge/mysql/work/B21798-5.0-opt-merge
| | | * | | | | | | | | | Bug#21798: memory leak during query execution with subquery in columngkodinov/kgeorge@macbook.gmz2006-10-172-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | list using a function When executing dependent subqueries they are re-inited and re-exec() for each row of the outer context. The cause for the bug is that during subquery reinitialization/re-execution, the optimizer reallocates JOIN::join_tab, JOIN::table in make_simple_join() and the local variable in 'sortorder' in create_sort_index(), which is allocated by make_unireg_sortorder(). Care must be taken not to allocate anything into the thread's memory pool while re-initializing query plan structures between subquery re-executions. All such items mush be cached and reused because the thread's memory pool is freed at the end of the whole query. Note that they must be cached and reused even for queries that are not otherwise cacheable because otherwise it will grow the thread's memory pool every time a cacheable query is re-executed. We provide additional members to the JOIN structure to store references to the items that need to be cached.
| | * | | | | | | | | | | merge changes becuase of the fix for bug 22367gkodinov/kgeorge@macbook.gmz2006-10-171-3/+3
| | | | | | | | | | | | |
| | * | | | | | | | | | | Merge bk-internal:/home/bk/mysql-5.0-optgkodinov/kgeorge@macbook.gmz2006-10-175-8/+32
| | |\ \ \ \ \ \ \ \ \ \ \ | | | |_|_|_|_|_|_|_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | into macbook.gmz:/Users/kgeorge/mysql/work/B22367-5.0-opt-merge
| | | * | | | | | | | | | Bug #22367: Optimizer uses ref join type instead of eq_ref for simple join on gkodinov/kgeorge@macbook.gmz2006-10-165-8/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | strings MySQL is setting the flag HA_END_SPACE_KEYS for all the keys that reference text or varchar columns with collation different than binary. This was done to handle correctly the situation where a lookup on such a key may return more than 1 row because of the presence of many rows that differ only by the amount of trailing space in the table's string column. Inserting such values however appears to violate the unique checks on INSERT/UPDATE. Thus that flag must not be set as it will prevent the optimizer from choosing a faster access method. This fix removes the setting of the HA_END_SPACE_KEYS flag.
| | * | | | | | | | | | | Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-optgkodinov/kgeorge@rakia.(none)2006-10-162-0/+36
| | |\ \ \ \ \ \ \ \ \ \ \ | | | |_|_|/ / / / / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | into rakia.(none):/home/kgeorge/mysql/autopush/B22342-5.0-opt
| | | * | | | | | | | | | Bug #22342: No results returned for query using max and group bygkodinov/kgeorge@macbook.gmz2006-10-162-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using index for group by and range access the server isolates a set of ranges based on the conditions over the key parts of the index used. Then it uses only the ranges over the GROUP BY fields to jump from one group to another. Since the GROUP BY fields may form a prefix over the index, we may use only a prefix of the ranges produced by the range optimizer. Each range contains a notion on whether it includes its border values. The problem is that when using a range prefix, the last range is open because it assumes that there is a range on the next keypart. Thus when we use a prefix range as it is, it excludes all border values. The solution is when ignoring the suffix of the range conditions (to jump over the GROUP BY prefix only) the server must change the remaining intervals so they always contain their borders, e.g. if the whole range was : (1,-inf) <= (<group_by_col>,<min_max_arg_col>) < (1, 3) we must make (1) <= (<group_by_col>) <= (1) because (a,b) < (c1,c2) means : a < c1 OR (a = c1 AND b < c2).
| | * | | | | | | | | | | Merge bk-internal:/home/bk/mysql-5.0-optgkodinov/kgeorge@macbook.gmz2006-10-164-6/+73
| | |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into macbook.gmz:/Users/kgeorge/mysql/work/B14019-5.0-opt
| | | * | | | | | | | | | | Merge update of the fix for bug 14019 in 5.0gkodinov/kgeorge@macbook.gmz2006-10-161-0/+4
| | | | | | | | | | | | | |
| | | * | | | | | | | | | | Merge macbook.gmz:/Users/kgeorge/mysql/work/B14019-4.1-optgkodinov/kgeorge@macbook.gmz2006-10-164-6/+69
| | | |\ \ \ \ \ \ \ \ \ \ \ | | | | | |_|_|_|_|_|/ / / / | | | | |/| | | | | | | | | | | | | | | | | | | | | | | into macbook.gmz:/Users/kgeorge/mysql/work/B14019-5.0-opt
| | | | * | | | | | | | | | BUG#14019 : group by converts literal string to column namegkodinov/kgeorge@macbook.gmz2006-10-164-6/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When resolving unqualified name references MySQL was not checking what is the item type for the reference. Thus e.g a string literal item that has by convention a name equal to its string value will also work as a reference to a SELECT list item or a table field. Fixed by allowing only Item_ref or Item_field to referenced by (unqualified) name.
| | * | | | | | | | | | | | Bug#14959: ALTER TABLE isn't able to rename a viewevgen@moonbone.local2006-10-132-0/+23
| | |/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mysql_alter_table() was able to rename only a table. The view/table renaming code is moved from the function rename_tables to the new function called do_rename(). The mysql_alter_table() function calls it when it needs to rename a view.
| | * | | | | | | | | | | Bug#22138: Unhandled NULL caused server crashevgen@moonbone.local2006-10-112-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Cached_item_decimal::cmp() method wasn't checking for null pointer returned from the val_decimal() of the item being cached. This leads to server crash. The Cached_item_decimal::cmp() method now check for null values.
| | * | | | | | | | | | | Merge bk-internal:/home/bk/mysql-5.0-optgkodinov/kgeorge@macbook.local2006-10-097-54/+173
| | |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into macbook.local:/Users/kgeorge/mysql/work/B22781-5.0-opt
| | | * | | | | | | | | | | Bug #22781: SQL_BIG_RESULT fails to influence sort plangkodinov/kgeorge@macbook.local2006-10-097-54/+173
| | | | |_|_|_|_|_|_|_|_|/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently SQL_BIG_RESULT is checked only at compile time. However, additional optimizations may take place after this check that change the sort method from 'filesort' to sorting via index. As a result the actual plan executed is not the one specified by the SQL_BIG_RESULT hint. Similarly, there is no such test when executing EXPLAIN, resulting in incorrect output. The patch corrects the problem by testing for SQL_BIG_RESULT both during the explain and execution phases.
| | * | | | | | | | | | | Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-optholyfoot/hf@mysql.com/deer.(none)2006-10-012-0/+25
| | |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/hf/work/16813/my50-16813
| | | * \ \ \ \ \ \ \ \ \ \ Merge bk@192.168.21.1:mysql-5.0-optholyfoot/hf@mysql.com/deer.(none)2006-10-012-0/+25
| | | |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/hf/work/16813/my50-16813