81 lines
1.7 KiB
Plaintext
81 lines
1.7 KiB
Plaintext
|
|
--source include/have_debug.inc
|
|
|
|
####################################################################
|
|
# TC to test temp-table DML optimization changes for correctness #
|
|
# Sceanrio covered: #
|
|
# 1. test insert/delete/update of big-rec (blob) #
|
|
####################################################################
|
|
|
|
#-------------------------------------------------------------------
|
|
#
|
|
# 1. test insert/delete/update of big-rec (blob) #
|
|
#
|
|
use test;
|
|
create temporary table t1
|
|
(i int, b mediumblob,
|
|
primary key pk(i), index sk(b(100))
|
|
) engine=innodb;
|
|
delimiter |;
|
|
create procedure populate_t1()
|
|
begin
|
|
declare i int default 1;
|
|
while (i <= 100) do
|
|
insert into t1 values (i, repeat(i,1000));
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
create procedure populate_t1_small()
|
|
begin
|
|
declare i int default 1;
|
|
while (i <= 8) do
|
|
insert into t1 values (i, repeat(i,1000));
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
delimiter ;|
|
|
#
|
|
begin;
|
|
select count(*) from t1;
|
|
call populate_t1();
|
|
select count(*) from t1;
|
|
delete from t1 where i < 10;
|
|
select count(*) from t1;
|
|
commit;
|
|
set global innodb_purge_stop_now=ON;
|
|
set global innodb_purge_run_now=ON;
|
|
--source include/wait_innodb_all_purged.inc
|
|
#
|
|
delete from t1 where i < 20;
|
|
select count(*) from t1;
|
|
#
|
|
begin;
|
|
call populate_t1_small();
|
|
select count(*) from t1;
|
|
rollback;
|
|
select count(*) from t1;
|
|
#
|
|
begin;
|
|
select count(*) from t1;
|
|
update t1 set b = repeat('a', 100) where i < 100;
|
|
select * from t1 limit 1;
|
|
select count(*) from t1;
|
|
rollback;
|
|
update t1 set b = repeat('a', 100) where i < 100;
|
|
select * from t1 limit 1;
|
|
#
|
|
truncate table t1;
|
|
select count(*) from t1;
|
|
#
|
|
drop table if exists t1;
|
|
drop procedure populate_t1;
|
|
drop procedure populate_t1_small;
|
|
|
|
|
|
#-------------------------------------------------------------------
|
|
#
|
|
# remove test-bed
|
|
#
|
|
|
|
|