1# ticket 895 is a query optimization problem with the primary key 2 3--source include/have_tokudb.inc 4SET DEFAULT_STORAGE_ENGINE = 'tokudb'; 5 6--echo # Establish connection conn1 (user = root) 7connect (conn1,localhost,root,,); 8connect (conn2,localhost,root,,); 9connect (conn3,localhost,root,,); 10connect (conn4,localhost,root,,); 11connect (conn5,localhost,root,,); 12 13--disable_warnings 14DROP TABLE IF EXISTS foo; 15--enable_warnings 16 17connection default; 18create table foo (a int, b varchar (100), primary key (a)) engine=TokuDB; 19show create table foo; 20 21connection conn1; 22set session transaction isolation level repeatable read; 23begin; 24select * from foo; 25 26connection default; 27replace into foo values (1, "a"); 28 29connection conn2; 30set session transaction isolation level repeatable read; 31begin; 32select * from foo; 33 34connection default; 35replace into foo values (1,"abGARBAGE"), (2, "abGARBAGE"); 36replace into foo values (1,"ab"), (2, "ab"); 37 38connection conn3; 39set session transaction isolation level repeatable read; 40begin; 41select * from foo; 42 43connection default; 44replace into foo values (1,"abcGARBAGE"),(2,"abcGARBAGE"),(3, "abcGARBAGE"); 45replace into foo values (1,"abc"),(2,"abc"),(3, "abc"); 46 47connection conn4; 48set session transaction isolation level repeatable read; 49begin; 50select * from foo; 51 52connection default; 53replace into foo values (1,"abcdGARBAGE"),(2,"abcdGARBAGE"),(3, "abcdGARBAGE"),(4, "abcdGARBAGE"); 54replace into foo values (1,"abcd"),(2,"abcd"),(3, "abcd"),(4, "abcd"); 55 56connection conn5; 57set session transaction isolation level repeatable read; 58begin; 59select * from foo; 60 61connection conn1; 62select * from foo; 63commit; 64 65connection conn2; 66select * from foo; 67commit; 68 69connection conn3; 70select * from foo; 71commit; 72 73connection conn4; 74select * from foo; 75commit; 76 77connection conn5; 78select * from foo; 79commit; 80 81 82connection default; 83select * from foo; 84replace into foo values (1,"1"),(2,"2"),(3,"3"),(4,"4"); 85select * from foo; 86disconnect conn1; 87disconnect conn2; 88disconnect conn3; 89disconnect conn4; 90disconnect conn5; 91 92connection default; 93# Final cleanup. 94set session transaction isolation level serializable; 95DROP TABLE foo;