From: Date: December 16 2008 10:11pm Subject: bzr commit into mysql-6.0-falcon-team branch (hky:2938) List-Archive: http://lists.mysql.com/commits/61824 Message-Id: <20081216211140.ACA7A1237E0@lu0011.efendi.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit #At file:///home/hakan/work/mysql/mysql-6.0-falcon-team-to-merge/ based on revid:hky@stripped 2938 Hakan Kuecuekyilmaz 2008-12-16 Project secret code name: "Make Wlad Happy"[tm] Cleanup of falcon_team test suite. Only three tests are left in falcon_team. removed: mysql-test/suite/falcon_team/r/falcon_bug_29246.result mysql-test/suite/falcon_team/t/falcon_bug_29246.test added: mysql-test/suite/falcon/r/falcon_bug_26433-big.result mysql-test/suite/falcon/t/falcon_bug_26433-big.test renamed: mysql-test/suite/falcon_team/r/falcon_bug_26433.result => mysql-test/suite/falcon/r/falcon_bug_26433.result mysql-test/suite/falcon_team/r/falcon_bug_28048.result => mysql-test/suite/falcon/r/falcon_bug_28048.result mysql-test/suite/falcon_team/r/falcon_bug_31296.result => mysql-test/suite/falcon/r/falcon_bug_31296.result mysql-test/suite/falcon_team/r/falcon_bug_34351_B.result => mysql-test/suite/falcon/r/falcon_bug_34351_B.result mysql-test/suite/falcon_team/r/falcon_bug_36294.result => mysql-test/suite/falcon_team/r/falcon_bug_36294-big.result mysql-test/suite/falcon_team/t/falcon_bug_26433.test => mysql-test/suite/falcon/t/falcon_bug_26433.test mysql-test/suite/falcon_team/t/falcon_bug_28048.test => mysql-test/suite/falcon/t/falcon_bug_28048.test mysql-test/suite/falcon_team/t/falcon_bug_31296.test => mysql-test/suite/falcon/t/falcon_bug_31296.test mysql-test/suite/falcon_team/t/falcon_bug_34351_B.test => mysql-test/suite/falcon/t/falcon_bug_34351_B.test mysql-test/suite/falcon_team/t/falcon_bug_36294.test => mysql-test/suite/falcon_team/t/falcon_bug_36294-big.test modified: mysql-test/suite/falcon/r/falcon_bug_29246.result mysql-test/suite/falcon/t/falcon_bug_29246.test mysql-test/suite/falcon_team/t/falcon_bug_34174.test mysql-test/suite/falcon_team/t/test2bug.def mysql-test/suite/falcon/t/falcon_bug_34351_B.test mysql-test/suite/falcon_team/t/falcon_bug_36294-big.test === added file 'mysql-test/suite/falcon/r/falcon_bug_26433-big.result' --- a/mysql-test/suite/falcon/r/falcon_bug_26433-big.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/falcon/r/falcon_bug_26433-big.result 2008-12-16 21:11:25 +0000 @@ -0,0 +1,145 @@ +*** Bug #26433 *** +SET @@storage_engine = 'Falcon'; +DROP TABLE IF EXISTS t1; +DROP PROCEDURE IF EXISTS p1; +SET @a = 909; +CREATE PROCEDURE p1 () +BEGIN +DECLARE v int default 0; +DECLARE v500 int; +DECLARE v499 int; +DECLARE v255 int; +DECLARE v99 int; +DECLARE CONTINUE HANDLER FOR SQLEXCEPTION +BEGIN +DECLARE vx int; +SELECT 'error, probably 1025'; +DROP TABLE t1; +SELECT '1'; +CREATE TABLE t1 ( +a int, +b varchar(500) character set latin1, +c varchar(500) character set latin2 +); +SET vx = 0; +WHILE vx < 20 do +INSERT INTO t1 VALUES (vx, null, null); +SET vx = vx + 1; +END WHILE; +SELECT '2'; +CREATE INDEX i1 ON t1 (b, a); +CREATE INDEX i2 ON t1 (c, a); +SELECT '3'; +END; +SELECT 'a'; +CREATE TABLE t1 ( +a int, +b varchar(500) character set latin1, +c varchar(500) character set latin2 +); +SELECT 'b'; +SET v = 0; +WHILE v < 20 do +INSERT INTO t1 VALUES (v, null, null); +SET v = v + 1; +END WHILE; +SELECT 'c'; +CREATE INDEX i1 ON t1 (b, a); +CREATE INDEX i2 ON t1 (c, a); +SELECT 'd'; +SET v = 0; +WHILE v < 2000 DO +SET v500 = rand(@a) * 500; +SET v499 = rand(@a) * 499; +SET v255 = rand(@a) * 255; +SET v99 = rand(@a) * 99; +SET @x = concat('update t1 set b = repeat(0x', hex(v500),',',v499,'), a =', v,', c = repeat(0x', hex(v255), ',',v99,')'); +/* SELECT v, @x; */ +PREPARE stmt1 FROM @x; +EXECUTE stmt1; +IF v mod 2 = 0 THEN +ALTER TABLE t1 MODIFY COLUMN b varchar(500) character set latin2; +ALTER TABLE t1 MODIFY COLUMN c varchar(500) character set latin1; +ELSE +ALTER TABLE t1 MODIFY COLUMN b varchar(500) character set latin1; +ALTER TABLE t1 MODIFY COLUMN c varchar(500) character set latin2; +END IF; +SET v = v + 1; +END WHILE; +END// +CALL p1()// +a +a +b +b +c +c +d +d +Warnings: +Warning 1265 Data truncated for column 'b' at row 21 +Warning 1265 Data truncated for column 'b' at row 22 +Warning 1265 Data truncated for column 'b' at row 23 +Warning 1265 Data truncated for column 'b' at row 24 +Warning 1265 Data truncated for column 'b' at row 25 +Warning 1265 Data truncated for column 'b' at row 26 +Warning 1265 Data truncated for column 'b' at row 27 +Warning 1265 Data truncated for column 'b' at row 28 +Warning 1265 Data truncated for column 'b' at row 29 +Warning 1265 Data truncated for column 'b' at row 30 +Warning 1265 Data truncated for column 'b' at row 31 +Warning 1265 Data truncated for column 'b' at row 32 +Warning 1265 Data truncated for column 'b' at row 33 +Warning 1265 Data truncated for column 'b' at row 34 +Warning 1265 Data truncated for column 'b' at row 35 +Warning 1265 Data truncated for column 'b' at row 36 +Warning 1265 Data truncated for column 'b' at row 37 +Warning 1265 Data truncated for column 'b' at row 38 +Warning 1265 Data truncated for column 'b' at row 39 +Warning 1265 Data truncated for column 'b' at row 40 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 1 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 2 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 3 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 4 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 5 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 6 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 7 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 8 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 9 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 10 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 11 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 12 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 13 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 14 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 15 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 16 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 17 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 18 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 19 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 20 +Warning 1265 Data truncated for column 'b' at row 21 +Warning 1265 Data truncated for column 'b' at row 22 +Warning 1265 Data truncated for column 'b' at row 23 +Warning 1265 Data truncated for column 'b' at row 24 +Warning 1265 Data truncated for column 'b' at row 25 +Warning 1265 Data truncated for column 'b' at row 26 +Warning 1265 Data truncated for column 'b' at row 27 +Warning 1265 Data truncated for column 'b' at row 28 +Warning 1265 Data truncated for column 'b' at row 29 +Warning 1265 Data truncated for column 'b' at row 30 +Warning 1265 Data truncated for column 'b' at row 31 +Warning 1265 Data truncated for column 'b' at row 32 +Warning 1265 Data truncated for column 'b' at row 33 +Warning 1265 Data truncated for column 'b' at row 34 +Warning 1265 Data truncated for column 'b' at row 35 +Warning 1265 Data truncated for column 'b' at row 36 +Warning 1265 Data truncated for column 'b' at row 37 +Warning 1265 Data truncated for column 'b' at row 38 +Warning 1265 Data truncated for column 'b' at row 39 +Warning 1265 Data truncated for column 'b' at row 40 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 1 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 2 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 3 +Warning 1366 Incorrect string value: '\x92\x92\x92\x92\x92\x92...' for column 'c' at row 4 +DROP TABLE t1; +DROP PROCEDURE p1; === renamed file 'mysql-test/suite/falcon_team/r/falcon_bug_26433.result' => 'mysql-test/suite/falcon/r/falcon_bug_26433.result' === renamed file 'mysql-test/suite/falcon_team/r/falcon_bug_28048.result' => 'mysql-test/suite/falcon/r/falcon_bug_28048.result' === modified file 'mysql-test/suite/falcon/r/falcon_bug_29246.result' --- a/mysql-test/suite/falcon/r/falcon_bug_29246.result 2008-12-04 11:00:12 +0000 +++ b/mysql-test/suite/falcon/r/falcon_bug_29246.result 2008-12-16 21:11:25 +0000 @@ -1,7 +1,7 @@ *** Bug #29246 *** SET @@storage_engine = 'Falcon'; DROP TABLE IF EXISTS t1; -CREATE TABLE t1 (s1 VARCHAR(2) CHARACTER SET latin1 COLLATE latin1_german2_ci, KEY (s1(1))) ENGINE=falcon; +CREATE TABLE t1 (s1 VARCHAR(2) CHARACTER SET latin1 COLLATE latin1_german2_ci, KEY (s1(1))); INSERT INTO t1 VALUES(0xdc),('ue'); SELECT COUNT(*) FROM t1 WHERE s1 = 0xdc; COUNT(*) @@ -9,6 +9,9 @@ COUNT(*) SELECT COUNT(*) FROM t1 WHERE s1 = 'ue'; COUNT(*) 2 +SELECT COUNT(*) FROM t1 WHERE s1 = 'UE'; +COUNT(*) +2 SELECT count(*) FROM t1; count(*) 2 === renamed file 'mysql-test/suite/falcon_team/r/falcon_bug_31296.result' => 'mysql-test/suite/falcon/r/falcon_bug_31296.result' === renamed file 'mysql-test/suite/falcon_team/r/falcon_bug_34351_B.result' => 'mysql-test/suite/falcon/r/falcon_bug_34351_B.result' === added file 'mysql-test/suite/falcon/t/falcon_bug_26433-big.test' --- a/mysql-test/suite/falcon/t/falcon_bug_26433-big.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/falcon/t/falcon_bug_26433-big.test 2008-12-16 21:11:25 +0000 @@ -0,0 +1,108 @@ +--source include/have_falcon.inc +--source include/big_test.inc + +# +# Bug #26433: Falcon: crash in procedure after error 1025 +# +# Note: Big version with loop count of 2000. +# +--echo *** Bug #26433 *** + +# ----------------------------------------------------- # +# --- Initialisation --- # +# ----------------------------------------------------- # +let $engine = 'Falcon'; +eval SET @@storage_engine = $engine; + +--disable_warnings +DROP TABLE IF EXISTS t1; +DROP PROCEDURE IF EXISTS p1; +--enable_warnings + +# Seed for rand() to get more predictable code path. +# Seed of 707 passes now. +SET @a = 909; + +DELIMITER //; +CREATE PROCEDURE p1 () +BEGIN + DECLARE v int default 0; + DECLARE v500 int; + DECLARE v499 int; + DECLARE v255 int; + DECLARE v99 int; + DECLARE CONTINUE HANDLER FOR SQLEXCEPTION + BEGIN + DECLARE vx int; + SELECT 'error, probably 1025'; + DROP TABLE t1; + SELECT '1'; + CREATE TABLE t1 ( + a int, + b varchar(500) character set latin1, + c varchar(500) character set latin2 + ); + SET vx = 0; + WHILE vx < 20 do + INSERT INTO t1 VALUES (vx, null, null); + SET vx = vx + 1; + END WHILE; + SELECT '2'; + CREATE INDEX i1 ON t1 (b, a); + CREATE INDEX i2 ON t1 (c, a); + SELECT '3'; + END; + SELECT 'a'; + CREATE TABLE t1 ( + a int, + b varchar(500) character set latin1, + c varchar(500) character set latin2 + ); + SELECT 'b'; + SET v = 0; + WHILE v < 20 do + INSERT INTO t1 VALUES (v, null, null); + SET v = v + 1; + END WHILE; + SELECT 'c'; + CREATE INDEX i1 ON t1 (b, a); + CREATE INDEX i2 ON t1 (c, a); + SELECT 'd'; + SET v = 0; + WHILE v < 2000 DO + SET v500 = rand(@a) * 500; + SET v499 = rand(@a) * 499; + SET v255 = rand(@a) * 255; + SET v99 = rand(@a) * 99; + SET @x = concat('update t1 set b = repeat(0x', hex(v500),',',v499,'), a =', v,', c = repeat(0x', hex(v255), ',',v99,')'); + /* SELECT v, @x; */ + PREPARE stmt1 FROM @x; + EXECUTE stmt1; + IF v mod 2 = 0 THEN + ALTER TABLE t1 MODIFY COLUMN b varchar(500) character set latin2; + ALTER TABLE t1 MODIFY COLUMN c varchar(500) character set latin1; + ELSE + ALTER TABLE t1 MODIFY COLUMN b varchar(500) character set latin1; + ALTER TABLE t1 MODIFY COLUMN c varchar(500) character set latin2; + END IF; + SET v = v + 1; + END WHILE; +END// + +# ----------------------------------------------------- # +# --- Test --- # +# ----------------------------------------------------- # +CALL p1()// + +# ----------------------------------------------------- # +# --- Check --- # +# ----------------------------------------------------- # +# Final sanity check not applicable here. +#SELECT count(*) FROM t1; + +# ----------------------------------------------------- # +# --- Final cleanup --- # +# ----------------------------------------------------- # +DELIMITER ;// +DROP TABLE t1; +DROP PROCEDURE p1; === renamed file 'mysql-test/suite/falcon_team/t/falcon_bug_26433.test' => 'mysql-test/suite/falcon/t/falcon_bug_26433.test' === renamed file 'mysql-test/suite/falcon_team/t/falcon_bug_28048.test' => 'mysql-test/suite/falcon/t/falcon_bug_28048.test' === modified file 'mysql-test/suite/falcon/t/falcon_bug_29246.test' --- a/mysql-test/suite/falcon/t/falcon_bug_29246.test 2008-12-04 11:00:12 +0000 +++ b/mysql-test/suite/falcon/t/falcon_bug_29246.test 2008-12-16 21:11:25 +0000 @@ -1,8 +1,8 @@ --source include/have_falcon.inc # -# Bug #29246: Falcon: searches fail if prefix index on latin1_german2_ci -# column +# Bug #29246: Falcon: searches fail if prefix index on +# latin1_german2_ci column # --echo *** Bug #29246 *** @@ -19,10 +19,11 @@ DROP TABLE IF EXISTS t1; # ----------------------------------------------------- # # --- Test --- # # ----------------------------------------------------- # -CREATE TABLE t1 (s1 VARCHAR(2) CHARACTER SET latin1 COLLATE latin1_german2_ci, KEY (s1(1))) ENGINE=falcon; +CREATE TABLE t1 (s1 VARCHAR(2) CHARACTER SET latin1 COLLATE latin1_german2_ci, KEY (s1(1))); INSERT INTO t1 VALUES(0xdc),('ue'); SELECT COUNT(*) FROM t1 WHERE s1 = 0xdc; SELECT COUNT(*) FROM t1 WHERE s1 = 'ue'; +SELECT COUNT(*) FROM t1 WHERE s1 = 'UE'; # ----------------------------------------------------- # # --- Check --- # === renamed file 'mysql-test/suite/falcon_team/t/falcon_bug_31296.test' => 'mysql-test/suite/falcon/t/falcon_bug_31296.test' === renamed file 'mysql-test/suite/falcon_team/t/falcon_bug_34351_B.test' => 'mysql-test/suite/falcon/t/falcon_bug_34351_B.test' --- a/mysql-test/suite/falcon_team/t/falcon_bug_34351_B.test 2008-04-22 09:27:14 +0000 +++ b/mysql-test/suite/falcon/t/falcon_bug_34351_B.test 2008-12-16 21:11:25 +0000 @@ -1,5 +1,5 @@ --source include/have_falcon.inc -#--disable_abort_on_error + # # Bug #34351_B: Update Conflict on non-overlapping transactions # @@ -46,6 +46,7 @@ SET @conn1_uuid = UUID(); SELECT t1_autoinc FROM t1 ORDER BY t1_autoinc; INSERT INTO t1 (t1_uuid) VALUES (@conn1_uuid); SELECT t1_autoinc FROM t1 ORDER BY t1_autoinc; +--real_sleep 1 --send DELETE FROM t1 WHERE t1_uuid = (@conn1_uuid) --echo # Switch to connection default === removed file 'mysql-test/suite/falcon_team/r/falcon_bug_29246.result' --- a/mysql-test/suite/falcon_team/r/falcon_bug_29246.result 2008-04-20 00:05:17 +0000 +++ b/mysql-test/suite/falcon_team/r/falcon_bug_29246.result 1970-01-01 00:00:00 +0000 @@ -1,13 +0,0 @@ -*** Bug #29246 *** -SET @@storage_engine = 'Falcon'; -DROP TABLE IF EXISTS t1; -CREATE TABLE t1 (a varchar(2) CHARACTER SET latin1 COLLATE latin1_german2_ci); -INSERT INTO t1 VALUES (0xdc); -CREATE INDEX i1 ON t1 (a(1)); -SELECT count(*) FROM t1 WHERE a = 'ue'; -count(*) -1 -SELECT count(*) FROM t1; -count(*) -1 -DROP TABLE t1; === renamed file 'mysql-test/suite/falcon_team/r/falcon_bug_36294.result' => 'mysql-test/suite/falcon_team/r/falcon_bug_36294-big.result' === removed file 'mysql-test/suite/falcon_team/t/falcon_bug_29246.test' --- a/mysql-test/suite/falcon_team/t/falcon_bug_29246.test 2008-04-20 00:05:17 +0000 +++ b/mysql-test/suite/falcon_team/t/falcon_bug_29246.test 1970-01-01 00:00:00 +0000 @@ -1,34 +0,0 @@ ---source include/have_falcon.inc -# -# Bug #29246: Falcon: searches fail if prefix index on latin1_german2_ci column -# ---echo *** Bug #29246 *** - -# ----------------------------------------------------- # -# --- Initialisation --- # -# ----------------------------------------------------- # -let $engine = 'Falcon'; -eval SET @@storage_engine = $engine; - ---disable_warnings -DROP TABLE IF EXISTS t1; ---enable_warnings - -CREATE TABLE t1 (a varchar(2) CHARACTER SET latin1 COLLATE latin1_german2_ci); -INSERT INTO t1 VALUES (0xdc); -CREATE INDEX i1 ON t1 (a(1)); - -# ----------------------------------------------------- # -# --- Test --- # -# ----------------------------------------------------- # -SELECT count(*) FROM t1 WHERE a = 'ue'; - -# ----------------------------------------------------- # -# --- Check --- # -# ----------------------------------------------------- # -SELECT count(*) FROM t1; - -# ----------------------------------------------------- # -# --- Final cleanup --- # -# ----------------------------------------------------- # -DROP TABLE t1; === modified file 'mysql-test/suite/falcon_team/t/falcon_bug_34174.test' --- a/mysql-test/suite/falcon_team/t/falcon_bug_34174.test 2008-04-20 08:30:43 +0000 +++ b/mysql-test/suite/falcon_team/t/falcon_bug_34174.test 2008-12-16 21:11:25 +0000 @@ -1,4 +1,5 @@ --source include/have_falcon.inc + # # Bug #34174 - Infinite loop checking rolled back record in select for update # @@ -34,8 +35,6 @@ START TRANSACTION; SELECT * FROM t1; INSERT INTO t1 VALUES (1,1); --send INSERT INTO t1 VALUES (0,3) -#UPDATE t1 SET f1 = 0, f2 = 5; -#INSERT INTO t1 VALUES (0,6); --echo # switching to default connection connection default; @@ -62,4 +61,3 @@ SELECT * FROM t1; connection default; disconnect conn1; DROP TABLE t1; - === renamed file 'mysql-test/suite/falcon_team/t/falcon_bug_36294.test' => 'mysql-test/suite/falcon_team/t/falcon_bug_36294-big.test' --- a/mysql-test/suite/falcon_team/t/falcon_bug_36294.test 2008-09-27 22:01:35 +0000 +++ b/mysql-test/suite/falcon_team/t/falcon_bug_36294-big.test 2008-12-16 21:11:25 +0000 @@ -1,4 +1,5 @@ --source include/have_falcon.inc +--source include/big_test.inc # # Bug#36294: Assertion in Cache::writePage === modified file 'mysql-test/suite/falcon_team/t/test2bug.def' --- a/mysql-test/suite/falcon_team/t/test2bug.def 2008-10-02 10:37:27 +0000 +++ b/mysql-test/suite/falcon_team/t/test2bug.def 2008-12-16 21:11:25 +0000 @@ -17,7 +17,6 @@ # Keep the list sorted by test name. # -falcon_bug_23945: Bug#34892 - Transaction handling in select_create::abort let's Falcon fail -falcon_bug_26433: Bug#39314 - falcon_bug_26433 fails with an offset of 1 in row numbers in expected warnings -falcon_bug_28048: Bug#36700 - Running falcon_bug_28048 shows increasing memory usage and run time +falcon_bug_34174 : Bug#34174 - Infinite loop checking rolled back record in select for update +falcon_bug_36294-big: Bug#36631 - Assertion in SerialLogControl::nextRecord, sometimes. falcon_deadlock: Bug#34182 - SELECT ... FOR UPDATE does not lock when in subquery