- 10 Nov, 2007 16 commits
-
-
tnurnberg@white.intern.koehntopp.de authored
into mysql.com:/scratch/tnurnberg/31700/51-31700
-
add 5.1-specific test showing that 'const' access increments 'examined' counter in slow query log.
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/mysql-5.1-opt
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/mysql-5.1-opt
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/bug32202/my51-bug26215
-
holyfoot/hf@hfmain.(none) authored
into mysql.com:/home/hf/work/31893/my51-31893
-
tnurnberg@white.intern.koehntopp.de authored
into mysql.com:/misc/mysql/31700/51-31700
-
UNIQUE (eq-ref) lookups result in table being considered as a "constant" table. Queries that consist of only constant tables are processed in do_select() in a special way that doesn't invoke evaluate_join_record(), and therefore doesn't increase the counters join->examined_rows and join->thd->row_count. The patch increases these counters in this special case. NOTICE: This behavior seems to contradict what the documentation says in Sect. 5.11.4: "Queries handled by the query cache are not added to the slow query log, nor are queries that would not benefit from the presence of an index because the table has zero rows or one row." No test case in 5.0 as issue shows only in slow query log, and other counters can give subtly different values (with regard to counting in create_sort_index(), synthetic rows in ROLLUP, etc.).
-
tnurnberg@white.intern.koehntopp.de authored
into mysql.com:/misc/mysql/31800/51-31800
-
tnurnberg@white.intern.koehntopp.de authored
into mysql.com:/scratch/tnurnberg/31800/50-31800
-
tnurnberg@white.intern.koehntopp.de authored
into mysql.com:/misc/mysql/31800/51-31800
-
BETWEEN was more lenient with regard to what it accepted as a DATE/DATETIME in comparisons than greater-than and less-than were. ChangeSet makes < > comparisons similarly robust with regard to trailing garbage (" GMT-1") and "missing" leading zeros. Now all three comparators behave similarly in that they throw a warning for "junk" at the end of the data, but then proceed anyway if possible. Before < > fell back on a string- (rather than date-) comparison when a warning-condition was raised in the string-to-date conversion. Now the fallback only happens on actual errors, while warning- conditions still result in a warning being to delivered to the client.
-
tnurnberg@white.intern.koehntopp.de authored
into mysql.com:/misc/mysql/31990/51-31990
-
tnurnberg@white.intern.koehntopp.de authored
into mysql.com:/misc/mysql/31990/50-31990
-
tnurnberg@white.intern.koehntopp.de authored
into mysql.com:/misc/mysql/31990/51-31990
-
- 09 Nov, 2007 6 commits
-
-
kaa@polly.(none) authored
The bug is a regression introduced by the fix for bug30596. The problem was that in cases when groups in GROUP BY correspond to only one row, and there is ORDER BY, the GROUP BY was removed and the ORDER BY rewritten to ORDER BY <group_by_columns> without checking if the columns in GROUP BY and ORDER BY are compatible. This led to incorrect ordering of the result set as it was sorted using the GROUP BY columns. Additionaly, the code discarded ASC/DESC modifiers from ORDER BY even if its columns were compatible with the GROUP BY ones. This patch fixes the regression by checking if ORDER BY columns form a prefix of the GROUP BY ones, and rewriting ORDER BY only in that case, preserving the ASC/DESC modifiers. That check is sufficient, since the GROUP BY columns contain a unique index.
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/mysql-5.1-opt
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/mysql-5.1-opt
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/bug32020/my51-bug31445
-
kaa@polly.(none) authored
causes out of memory errors The code in mysql_create_function() and mysql_drop_function() assumed that the only reason for UDFs being uninitialized at that point is an out-of-memory error during initialization. However, another possible reason for that is the --skip-grant-tables option in which case UDF initialization is skipped and UDFs are unavailable. The solution is to check whether mysqld is running with --skip-grant-tables and issue a proper error in such a case.
-
- 08 Nov, 2007 8 commits
-
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/mysql-5.1-opt
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/mysql-5.1-opt
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/mysql-4.1-opt
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/bug32103/my51-bug26215
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/bug32103/my50-bug26215
-
HOUR(), MINUTE(), ... returned spurious results when used on a DATE-cast. This happened because DATE-cast object did not overload get_time() method in superclass Item. The default method was inappropriate here and misinterpreted the data. Patch adds missing method; get_time() on DATE-casts now returns SQL-NULL on NULL input, 0 otherwise. This coincides with the way DATE-columns behave.
-
- 07 Nov, 2007 3 commits
-
-
kaa@polly.(none) authored
variable in where clause. Problem: the new_item() method of Item_uint used an incorrect constructor. "new Item_uint(name, max_length)" calls Item_uint::Item_uint(const char *str_arg, uint length) which assumes the first argument to be the string representation of the value, not the item's name. This could result in either a server crash or incorrect results depending on usage scenarios. Fixed by using the correct constructor in new_item(): Item_uint::Item_uint(const char *str_arg, longlong i, uint length).
-
kaa@polly.(none) authored
into polly.(none):/home/kaa/src/opt/mysql-5.1-opt
-
kaa@polly.(none) authored
Calculating the estimated number of records for a range scan may take a significant time, and it was impossible for a user to interrupt that process by killing the connection or the query. Fixed by checking the thread's 'killed' status in check_quick_keys() and interrupting the calculation process if it is set to a non-zero value.
-
- 06 Nov, 2007 2 commits
-
-
sergefp@mysql.com authored
-
gluh@mysql.com/eagle.(none) authored
-
- 05 Nov, 2007 5 commits
-
-
holyfoot/hf@hfmain.(none) authored
into mysql.com:/home/hf/work/31758/my51-31758
-
holyfoot/hf@hfmain.(none) authored
into mysql.com:/home/hf/work/31758/my51-31758
-
holyfoot/hf@hfmain.(none) authored
into mysql.com:/home/hf/work/31758/my50-31758
-
holyfoot/hf@mysql.com/hfmain.(none) authored
-
holyfoot/hf@hfmain.(none) authored
into mysql.com:/home/hf/work/31758/my51-31758
-