error_simulation.test 1020 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
-- source include/have_debug.inc

#
# Bug #28499: crash for grouping query when tmp_table_size is too small
#

DROP TABLE IF EXISTS t1;

CREATE TABLE t1 (
  a varchar(32) character set utf8 collate utf8_bin NOT NULL,
  b varchar(32) character set utf8 collate utf8_bin NOT NULL )
ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO t1 VALUES
  ('AAAAAAAAAA','AAAAAAAAAA'), ('AAAAAAAAAB','AAAAAAAAAB '),
  ('AAAAAAAAAB','AAAAAAAAAB'), ('AAAAAAAAAC','AAAAAAAAAC'),
  ('AAAAAAAAAD','AAAAAAAAAD'), ('AAAAAAAAAE','AAAAAAAAAE'),
  ('AAAAAAAAAF','AAAAAAAAAF'), ('AAAAAAAAAG','AAAAAAAAAG'),
  ('AAAAAAAAAH','AAAAAAAAAH'), ('AAAAAAAAAI','AAAAAAAAAI'),
  ('AAAAAAAAAJ','AAAAAAAAAJ'), ('AAAAAAAAAK','AAAAAAAAAK');

set tmp_table_size=1024;

24 25 26 27
# Set debug flag so an error is returned when
# tmp table in query is converted from heap to myisam
set session debug="d,raise_error";

28
--replace_regex /in table '[^']+'/in table 'tmp_table'/
29 30 31 32 33
--error ER_DUP_KEY
SELECT MAX(a) FROM t1 GROUP BY a,b;

set tmp_table_size=default;
DROP TABLE t1;
34 35