- 02 Feb, 2007 2 commits
-
-
gluh@mysql.com/eagle.(none) authored
-
gluh@eagle.(none) authored
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt
-
- 01 Feb, 2007 7 commits
-
-
gluh@mysql.com/eagle.(none) authored
additional call of file->extra() method with HA_EXTRA_NO_CACHE parameter
-
gkodinov/kgeorge@rakia.gmz authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B23556-5.0-opt
-
gkodinov/kgeorge@rakia.gmz authored
merge of the 5.0-opt tree
-
gkodinov/kgeorge@rakia.gmz authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B23556-5.0-opt
-
gkodinov/kgeorge@rakia.gmz authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B23556-5.1-opt
-
gkodinov/kgeorge@rakia.gmz authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B25551-5.0-opt
-
igor@olga.mysql.com authored
The bug could cause choosing a sub-optimal execution plan for a single-table query if a unique index with many null keys were defined for the table. It happened because the code of the check_quick_keys function made an assumption that any key may occur in an unique index only once. Yet this is not true for keys with nulls that may have multiple occurrences in the index.
-
- 31 Jan, 2007 8 commits
-
-
igor@olga.mysql.com authored
into olga.mysql.com:/home/igor/mysql-5.0-opt
-
holyfoot/hf@mysql.com/hfmain.(none) authored
into mysql.com:/home/hf/work/25973/my50-25973
-
holyfoot/hf@mysql.com/hfmain.(none) authored
-
gkodinov/kgeorge@rakia.gmz authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B25575-5.0-opt
-
gkodinov/kgeorge@macbook.gmz authored
Two problems here: Problem 1: While constructing the join columns list the optimizer does as follows: 1. Sets the join_using_fields/natural_join members of the right JOIN operand. 2. Makes a "table reference" (TABLE_LIST) to parent the two tables. 3. Assigns the join_using_fields/is_natural_join of the wrapper table using join_using_fields/natural_join of the rightmost table 4. Sets join_using_fields to NULL for the right JOIN operand. 5. Passes the parent table up to the same procedure on the upper level. Step 1 overrides the the join_using_fields that are set for a nested join wrapping table in step 4. Fixed by making a designated variable SELECT_LEX::prev_join_using to pass the data from step 1 to step 4 without destroying the wrapping table data. Problem 2: The optimizer checks for ambiguous columns while transforming NATURAL JOIN/JOIN USING to JOIN ON. While doing that there was no distinction between columns that are used in the generated join condition (where ambiguity can be checked) and the other columns (where ambiguity can be checked only when resolving references coming from outside the JOIN construct itself). Fixed by allowing the non-USING columns to be present in multiple copies in both sides of the join and moving the ambiguity check to the place where unqualified references to the join columns are resolved (find_field_in_natural_join()).
-
holyfoot/hf@hfmain.(none) authored
into mysql.com:/home/hf/work/25973/my51-25973
-
holyfoot/hf@mysql.com/hfmain.(none) authored
-
gkodinov/kgeorge@macbook.gmz authored
The optimizer takes away columns from GROUP BY/DISTINCT if they constitute all the parts of an unique index. However if some of the columns can contain NULLs this cannot be done (because an UNIQUE index can have multiple rows with NULL values). Fixed by not using UNIQUE indexes with nullable columns to remove grouping columns from GROUP BY/DISTINCT.
-
- 30 Jan, 2007 5 commits
-
-
igor@olga.mysql.com authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24987
-
igor@olga.mysql.com authored
Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when no matches were found (instead of -1 it returned prior this patch). This changes allow us to avoid possible conflicts with return values from user-defined handler methods which also may return -1. No particular test cases are provided with this fix.
-
gkodinov/kgeorge@rakia.gmz authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B25643-5.0-opt
-
mhansson/martin@linux-st28.site authored
-
gkodinov/kgeorge@macbook.gmz authored
Checking for NULL before calling the val_xxx() methods only checks for such arguments that are known to be NULLs at compile time. The arguments that may or may not contain NULLs (e.g. function calls and possibly others) are not checked at all. Fixed by first calling the val_xxx() method and then checking for null in SEC_TO_TIME(). In addition QUARTER() was not returning 0 (as all the val_int() functions do when processing a NULL value).
-
- 29 Jan, 2007 4 commits
-
-
mhansson/martin@linux-st28.site authored
into linux-st28.site:/home/martin/mysql/src/5.1o-bug20604-tp
-
mhansson/martin@linux-st28.site authored
The function that checks whether we can use keys for aggregates, find_key_for_maxmin(), assumes that keys disabled by ALTER TABLE ... DISABLE KEYS are not in the set table->keys_in_use_for_query. I.E., if a key is in this set, the optimizer assumes it is free to use it. The bug is that keys disabled with ALTER TABLE ... DISABLE KEYS still appear in table->keys_in_use_for_query When the TABLE object has been initialized with setup_tables(). Before setup_tables is called, however, keys that are disabled in the aforementioned way are not included in TABLE::keys_in_use_for_query. The provided patch changes the code that updates keys_is_use_for_query so that it assumes that keys_is_use_for_query already takes into account all disabled keys, and generally all keys that should be used by the query.
-
holyfoot/hf@mysql.com/hfmain.(none) authored
it can't be compile everywhere if we just cast pointer to pthread_t So now we use correct pthread_self() value as the pthread_t and pointer where we need to identify the thread exactly.
-
holyfoot/hf@mysql.com/hfmain.(none) authored
binlog_filter and rpl_filter are initialized in server's 'main' function which doesn't work in the embedded server. So this code moved to function working in both cases.
-
- 27 Jan, 2007 1 commit
-
-
igor@olga.mysql.com authored
Objects of the classes Item_func_is_not_null_test and Item_func_trig_cond must be transparent for the method Item::split_sum_func2 as these classes are pure helpers. It means that the method Item::split_sum_func2 should look at those objects as at pure wrappers.
-
- 26 Jan, 2007 7 commits
-
-
igor@olga.mysql.com authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24653
-
gluh@eagle.(none) authored
into mysql.com:/home/gluh/MySQL/Merge/5.1
-
gluh@eagle.(none) authored
into mysql.com:/home/gluh/MySQL/Merge/5.1
-
gluh@mysql.com/eagle.(none) authored
into mysql.com:/home/gluh/MySQL/Merge/5.0
-
igor@olga.mysql.com authored
-
igor@olga.mysql.com authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24653
-
igor@olga.mysql.com authored
The bug report has demonstrated the following two problems. 1. If an ORDER/GROUP BY list includes a constant expression being optimized away and, at the same time, containing single-row subselects that return more that one row, no error is reported. Strictly speaking the standard allows to ignore error in this case. Yet, now a corresponding fatal error is reported in this case. 2. If a query requires sorting by expressions containing single-row subselects that, however, return more than one row, then the execution of the query may cause a server crash. To fix this some code has been added that blocks execution of a subselect item in case of a fatal error in the method Item_subselect::exec.
-
- 25 Jan, 2007 6 commits
-
-
dlenev@mockturtle.local authored
into mockturtle.local:/home/dlenev/src/mysql-5.1-merge
-
-
jani/jamppa@bk-internal.mysql.com authored
Don't use -Wshadow by default yet
-
dlenev@mockturtle.local authored
into mockturtle.local:/home/dlenev/src/mysql-5.1-merge
-
jani/jamppa@bk-internal.mysql.com authored
into bk-internal.mysql.com:/data0/bk/mysql-5.1-marvel
-
jani/jamppa@bk-internal.mysql.com authored
into bk-internal.mysql.com:/data0/bk/mysql-5.1-marvel
-