3467 Georgi Kodinov 2010-07-30
Disable the tests failing under valgrind because of bug #55503
modified:
mysql-test/suite/innodb_plugin/t/innodb-autoinc-44030.test
mysql-test/suite/innodb_plugin/t/innodb-autoinc.test
3466 Georgi Kodinov 2010-07-30
Bug #55188: GROUP BY, GROUP_CONCAT and TEXT - inconsistent results
In order to be able to check if the set of the grouping fields in a
GROUP BY has changed (and thus to start a new group) the optimizer
caches the current values of these fields in a set of Cached_item
derived objects.
The Cached_item_str, used for caching varchar and TEXT columns,
is limited in length by the max_sort_length variable.
A String buffer to store the value with an alloced length of either
the max length of the string or the value of max_sort_length
(whichever is smaller) in Cached_item_str's constructor.
Then, at compare time the value of the string to compare to was
truncated to the alloced length of the string buffer inside
Cached_item_str.
This is all fine and valid, but only if you're not assigning
values near or equal to the alloced length of this buffer.
Because when assigning values like this the alloced length is
rounded up and as a result the next set of data will not match the
group buffer, thus leading to wrong results because of the changed
alloced_length.
Fixed by preserving the original maximum length in the
Cached_item_str's constructor and using this instead of the
alloced_length to limit the string to compare to.
Test case added.
modified:
mysql-test/r/group_by.result
mysql-test/t/group_by.test
sql/item.h
sql/item_buff.cc
=== modified file 'mysql-test/suite/innodb_plugin/t/innodb-autoinc-44030.test'
--- a/mysql-test/suite/innodb_plugin/t/innodb-autoinc-44030.test 2010-04-09 13:33:42 +0000
+++ b/mysql-test/suite/innodb_plugin/t/innodb-autoinc-44030.test 2010-07-30 14:09:24 +0000
@@ -1,6 +1,8 @@
-- source include/have_innodb_plugin.inc
# embedded server ignores 'delayed', so skip this
-- source include/not_embedded.inc
+# remove the next line after bug #55503 is fixed
+-- source include/not_valgrind.inc
let $innodb_file_format_check_orig=`select @@innodb_file_format_check`;
=== modified file 'mysql-test/suite/innodb_plugin/t/innodb-autoinc.test'
--- a/mysql-test/suite/innodb_plugin/t/innodb-autoinc.test 2010-04-09 13:25:17 +0000
+++ b/mysql-test/suite/innodb_plugin/t/innodb-autoinc.test 2010-07-30 14:09:24 +0000
@@ -1,6 +1,8 @@
-- source include/have_innodb_plugin.inc
# embedded server ignores 'delayed', so skip this
-- source include/not_embedded.inc
+# remove the next line after bug #55503 is fixed
+-- source include/not_valgrind.inc
let $innodb_file_format_check_orig=`select @@innodb_file_format_check`;
Attachment: [text/bzr-bundle] bzr/georgi.kodinov@oracle.com-20100730140924-gwblhmwjetc7n8x5.bundle
| Thread |
|---|
| • bzr push into mysql-5.1-bugteam branch (Georgi.Kodinov:3466 to 3467)Bug#55503 | Georgi Kodinov | 30 Jul |