summaryrefslogtreecommitdiff
path: root/mysql-test/t/raid.test
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2004-04-28 03:37:45 +0300
committerunknown <monty@mysql.com>2004-04-28 03:37:45 +0300
commitb0a8fde89732a11475144f0f2ab88acedcebdf86 (patch)
tree2b509e76781756629036bcda0b2d4095f6d393d6 /mysql-test/t/raid.test
parentb825d9b023071039dfbda8324427102533319cb4 (diff)
downloadmariadb-git-b0a8fde89732a11475144f0f2ab88acedcebdf86.tar.gz
Fixed stack overrun with some INSERT ... SELECT ... GROUP BY queries (Bug #3265)
Ensure that raid_chunks is not set to higher than 255 as this could cause problems with DROP DATABASE. (Bug #3182) mysql-test/r/raid.result: Test of raid_chunks > 255 mysql-test/t/raid.test: Test of raid_chunks > 255 sql/item.cc: Fixed wrong usage of str_value in Item::save_in_field This could caused a stack overrun with some very special INSERT ... SELECT ... GROUP BY queries where the GROUP BY value was an expression that generated a NULL value. (Bug #3265) The Item_copy_string::save_in_field() function is from 4.1 and helps optimized this case a bit sql/item.h: Fixed wrong usage of str_value in Item_copy_string::save_in_field sql/sql_insert.cc: More debug information sql/table.cc: Ensure that raid_chunks is not set to higher than 255 as this could cause problems with DROP DATABASE. Another problem with values > 255 is that in the .frm file we store the chunks value in one byte. (Bug #3182)
Diffstat (limited to 'mysql-test/t/raid.test')
-rw-r--r--mysql-test/t/raid.test9
1 files changed, 9 insertions, 0 deletions
diff --git a/mysql-test/t/raid.test b/mysql-test/t/raid.test
index 43ad58ab368..52a15ec3040 100644
--- a/mysql-test/t/raid.test
+++ b/mysql-test/t/raid.test
@@ -11,6 +11,15 @@ create database test_raid;
create table test_raid.r1 (i int) raid_type=1;
create table test_raid.r2 (i int) raid_type=1 raid_chunks=32;
drop database test_raid;
+
+#
+# Bug #3182: Test using more than 257 raid chunks
+#
+create database test_raid;
+create table test_raid.r2 (i int) raid_type=1 raid_chunks=257;
+show create table test_raid.r2;
+drop database test_raid;
+
DROP TABLE IF EXISTS t1,t2;
CREATE TABLE t1 (
id int unsigned not null auto_increment primary key,