[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.137.169.35: ~ $
## Bug#12713 (Error in a stored function called from a SELECT doesn't cause
##    ROLLBACK of statem)

##
## Pre-Requisites :
## - $engine_type should be set
##

set sql_mode=no_engine_substitution;
eval set default_storage_engine = $engine_type;
set autocommit=1;

--disable_warnings
drop table if exists t1;
drop table if exists t2;
drop table if exists t3;
drop function if exists f2;
drop procedure if exists bug12713_call;
drop procedure if exists bug12713_dump_spvars;
drop procedure if exists dummy;
--enable_warnings

create table t1 (a int);
create table t2 (a int unique);
create table t3 (a int);

# a workaround for Bug#32633: Can not create any routine if
# SQL_MODE=no_engine_substitution

set sql_mode=default;

insert into t1 (a) values (1), (2);
insert into t3 (a) values (1), (2);

delimiter |;

## Cause a failure every time
create function f2(x int) returns int
begin
  insert into t2 (a) values (x);
  insert into t2 (a) values (x);
  return x;
end|

delimiter ;|

set autocommit=0;

flush status;
##============================================================================
## Design notes
##
## In each case, statement rollback is expected.
## for transactional engines, the rollback should be properly executed
## for non transactional engines, the rollback may cause warnings.
##
## The test pattern is as follows
## - insert 1000+N
## - statement with a side effect, that fails to insert N twice
## - a statement rollback is expected (expecting 1 row 1000+N only) in t2
## - a rollback is performed
## - expecting a clean table t2.
##============================================================================

insert into t2 (a) values (1001);
--error ER_DUP_ENTRY
insert into t1 (a) values (f2(1));
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1002);
--error ER_DUP_ENTRY
insert into t3 (a) select f2(2) from t1;
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1003);
--error ER_DUP_ENTRY
update t1 set a= a + f2(3);
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1004);
--error ER_DUP_ENTRY
update t1, t3 set t1.a = 0, t3.a = 0 where (f2(4) = 4) and (t1.a = t3.a);
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1005);
--error ER_DUP_ENTRY
delete from t1 where (a = f2(5));
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1006);
--error ER_DUP_ENTRY
delete from t1, t3 using t1, t3 where (f2(6) = 6) ;
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1007);
--error ER_DUP_ENTRY
replace t1 values (f2(7));
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1008);
--error ER_DUP_ENTRY
replace into t3 (a) select f2(8) from t1;
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1009);
--error ER_DUP_ENTRY
select f2(9) from t1 ;
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1010);
--error ER_DUP_ENTRY
show databases where (f2(10) = 10);
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1011);
--error ER_DUP_ENTRY
show tables where (f2(11) = 11);
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1012);
--error ER_DUP_ENTRY
show triggers where (f2(12) = 12);
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1013);
--error ER_DUP_ENTRY
show table status where (f2(13) = 13);
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1014);
--error ER_DUP_ENTRY
show open tables where (f2(14) = 14);
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1015);
--error ER_DUP_ENTRY
show columns in mysql.proc where (f2(15) = 15);
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1016);
--error ER_DUP_ENTRY
show status where (f2(16) = 16);
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1017);
--error ER_DUP_ENTRY
show variables where (f2(17) = 17);
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1018);
--error ER_DUP_ENTRY
show charset where (f2(18) = 18);
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1019);
--error ER_DUP_ENTRY
show collation where (f2(19) = 19);
select * from t2;
rollback;
select * from t2;

--echo # We need at least one procedure to make sure the WHERE clause is
--echo # evaluated
create procedure dummy() begin end;
insert into t2 (a) values (1020);
--error ER_DUP_ENTRY
show procedure status where (f2(20) = 20);
select * from t2;
rollback;
select * from t2;
drop procedure dummy;

insert into t2 (a) values (1021);
--error ER_DUP_ENTRY
show function status where (f2(21) = 21);
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1022);
prepare stmt from "insert into t1 (a) values (f2(22))";
--error ER_DUP_ENTRY
execute stmt;
select * from t2;
rollback;
select * from t2;

insert into t2 (a) values (1023);
do (f2(23));
select * from t2;
rollback;
select * from t2;

## Please note :
## This will insert a record 1024 in t1 (statement commit)
## This will insert a record 24 in t1 (statement commit)
## then will rollback the second insert only (24) (statement rollback)
## then will rollback the complete transaction (transaction rollback)

delimiter |;

create procedure bug12713_call ()
begin
  insert into t2 (a) values (24);
  insert into t2 (a) values (24);
end|

delimiter ;|

insert into t2 (a) values (1024);
--error ER_DUP_ENTRY
call bug12713_call();
select * from t2;
rollback;
select * from t2;

--echo =======================================================================
--echo Testing select_to_file
--echo =======================================================================

insert into t2 (a) values (1025);

--replace_result $MYSQLTEST_VARDIR ..
--error ER_DUP_ENTRY
eval select f2(25) into outfile "$MYSQLTEST_VARDIR/tmp/dml.out" from t1;
select * from t2;
rollback;
select * from t2;
--remove_file $MYSQLTEST_VARDIR/tmp/dml.out

insert into t2 (a) values (1026);
--replace_result $MYSQLTEST_VARDIR ..
--error ER_DUP_ENTRY
eval load data infile "../../std_data/words.dat" into table t1 (a) set a:=f2(26);

select * from t2;
rollback;
select * from t2;

--echo =======================================================================
--echo Testing select_dumpvar
--echo =======================================================================

insert into t2 (a) values (1027);
--error ER_DUP_ENTRY
select f2(27) into @foo;
select * from t2;
rollback;
select * from t2;

--echo =======================================================================
--echo Testing Select_fetch_into_spvars 
--echo =======================================================================

delimiter |;

create procedure bug12713_dump_spvars ()
begin
  declare foo int;

  declare continue handler for sqlexception
  begin
    select "Exception trapped";
  end;

  select f2(28) into foo;
  select * from t2;
end|

delimiter ;|

insert into t2 (a) values (1028);
call bug12713_dump_spvars ();
rollback;
select * from t2;

--echo =======================================================================
--echo Cleanup
--echo =======================================================================

set autocommit=default;

drop table t1;
drop table t2;
drop table t3;
drop function f2;
drop procedure bug12713_call;
drop procedure bug12713_dump_spvars;
--echo #
--echo # Bug#12713 Error in a stored function called from a SELECT doesn't
--echo # cause ROLLBACK of statem
--echo #
--echo # Verify that two-phase commit is not issued for read-only
--echo # transactions.
--echo #
--echo # Verify that two-phase commit is issued for read-write transactions,
--echo # even if the change is done inside a stored function called from
--echo # SELECT or SHOW statement.
--echo #
set autocommit=0;
--disable_warnings
drop table if exists t1;
drop table if exists t2;
drop function if exists f1;
drop procedure if exists p_verify_status_increment;
--enable_warnings

# Save binlog_format in a user variable. References to system
# variables are "unsafe", meaning they are written as rows instead of
# as statements to the binlog, if the loggging mode is 'mixed'.  But
# we don't want p_verify_status_increment to affect the logging mode.
# Hence, we save binlog_format in a user variable (which is not
# unsafe) and use that inside p_verify_status_increment.
set @binlog_format=@@global.binlog_format;

set sql_mode=no_engine_substitution;
create table t1 (a int unique); 
create table t2 (a int) engine=myisam;
set sql_mode=default;
--echo #
--echo # An auxiliary procedure to track Handler_prepare and Handler_commit
--echo # statistics.
--echo #
delimiter |;
create procedure
p_verify_status_increment(commit_inc_mixed int, prepare_inc_mixed int,
                          commit_inc_row int, prepare_inc_row int)
begin
  declare commit_inc int;
  declare prepare_inc int;
  declare old_commit_count int default ifnull(@commit_count, 0);
  declare old_prepare_count int default ifnull(@prepare_count, 0);
  declare c_res int;
# Use a cursor to have just one access to I_S instead of 2, it is very slow
# and amounts for over 90% of test CPU time
  declare c cursor for
     select variable_value
     from information_schema.session_status
     where variable_name='Handler_commit' or variable_name='Handler_prepare'
     order by variable_name;

  if @binlog_format = 'ROW' then
    set commit_inc= commit_inc_row;
    set prepare_inc= prepare_inc_row;
  else
    set commit_inc= commit_inc_mixed;
    set prepare_inc= prepare_inc_mixed;
  end if;

  open c;
  fetch c into c_res;
  set @commit_count=c_res;
  fetch c into c_res;
  set @prepare_count=c_res;
  close c;

  if old_commit_count + commit_inc <> @commit_count then
    select concat("Expected commit increment: ", commit_inc,
        " actual: ", @commit_count - old_commit_count)
    as 'ERROR';
  elseif old_prepare_count + prepare_inc <> @prepare_count then
    select concat("Expected prepare increment: ", prepare_inc,
        " actual: ", @prepare_count - old_prepare_count)
    as 'ERROR';
  else
    select '' as 'SUCCESS';
  end if;
end|
delimiter ;|
--echo # Reset Handler_commit and Handler_prepare counters
flush status;
--echo #
--echo # 1. Read-only statement: SELECT
--echo #
select * from t1;
call p_verify_status_increment(1, 0, 1, 0);
commit;
call p_verify_status_increment(1, 0, 1, 0);

--echo # 2. Read-write statement: INSERT, insert 1 row. 
--echo #
insert into t1 (a) values (1);
call p_verify_status_increment(2, 2, 2, 2);
commit;
call p_verify_status_increment(2, 2, 2, 2);

--echo # 3. Read-write statement: UPDATE, update 1 row. 
--echo #
update t1 set a=2;
call p_verify_status_increment(2, 2, 2, 2);
commit;
call p_verify_status_increment(2, 2, 2, 2);

--echo # 4. Read-write statement: UPDATE, update 0 rows, 1 row matches WHERE 
--echo #
update t1 set a=2;
call p_verify_status_increment(2, 2, 1, 0);
commit;
call p_verify_status_increment(2, 2, 1, 0);

--echo # 5. Read-write statement: UPDATE, update 0 rows, 0 rows match WHERE 
--echo #
--echo # In mixed replication mode, there is a read-only transaction
--echo # in InnoDB and also the statement is written to the binary log.
--echo # So we have two commits but no 2pc, since the first engine's
--echo # transaction is read-only.
--echo # In the row level replication mode, we only have the read-only
--echo # transaction in InnoDB and nothing is written to the binary log.
--echo #
update t1 set a=3 where a=1;
call p_verify_status_increment(2, 0, 1, 0);
commit;
call p_verify_status_increment(2, 0, 1, 0);

--echo # 6. Read-write statement: DELETE, delete 0 rows. 
--echo #
delete from t1 where a=1;
call p_verify_status_increment(2, 0, 1, 0);
commit;
call p_verify_status_increment(2, 0, 1, 0);

--echo # 7. Read-write statement: DELETE, delete 1 row. 
--echo #
delete from t1 where a=2;
call p_verify_status_increment(2, 2, 2, 2);
commit;
call p_verify_status_increment(2, 2, 2, 2);

--echo # 8. Read-write statement: unqualified DELETE
--echo #
--echo # In statement or mixed replication mode, we call
--echo # handler::ha_delete_all_rows() and write statement text
--echo # to the binary log. This results in two read-write transactions.
--echo # In row level replication mode, we do not call
--echo # handler::ha_delete_all_rows(), but delete rows one by one.
--echo # Since there are no rows, nothing is written to the binary log.
--echo # Thus we have just one read-only transaction in InnoDB.
delete from t1;
call p_verify_status_increment(2, 2, 1, 0);
commit;
call p_verify_status_increment(2, 2, 1, 0);

--echo # 9. Read-write statement: REPLACE, change 1 row. 
--echo #
replace t1 set a=1;
call p_verify_status_increment(2, 2, 2, 2);
commit;
call p_verify_status_increment(2, 2, 2, 2);

--echo # 10. Read-write statement: REPLACE, change 0 rows. 
--echo #
replace t1 set a=1;
call p_verify_status_increment(2, 2, 1, 0);
commit;
call p_verify_status_increment(2, 2, 1, 0);

--echo # 11. Read-write statement: IODKU, change 1 row. 
--echo #
insert t1 set a=1 on duplicate key update a=a+1;
call p_verify_status_increment(2, 2, 2, 2);
select * from t1;
call p_verify_status_increment(1, 0, 1, 0);
commit;
call p_verify_status_increment(2, 2, 2, 2);

--echo # 12. Read-write statement: IODKU, change 0 rows. 
--echo #
insert t1 set a=2 on duplicate key update a=2;
call p_verify_status_increment(2, 2, 1, 0);
commit;
call p_verify_status_increment(2, 2, 1, 0);

--echo # 13. Read-write statement: INSERT IGNORE, change 0 rows. 
--echo #
insert ignore t1 set a=2;
call p_verify_status_increment(2, 2, 1, 0);
commit;
call p_verify_status_increment(2, 2, 1, 0);

--echo # 14. Read-write statement: INSERT IGNORE, change 1 row. 
--echo #
insert ignore t1 set a=1;
call p_verify_status_increment(2, 2, 2, 2);
commit;
call p_verify_status_increment(2, 2, 2, 2);
--echo # 15. Read-write statement: UPDATE IGNORE, change 0 rows. 
--echo #
--disable_warnings
update ignore t1 set a=2 where a=1;
--enable_warnings
if (`select @@binlog_format = 'STATEMENT'`)
{
  --disable_query_log
  call p_verify_status_increment(2, 2, 1, 0);
  --enable_query_log
}
if (`select @@binlog_format != 'STATEMENT'`)
{
  --disable_query_log
  call p_verify_status_increment(1, 0, 1, 0);
  --enable_query_log
}
commit;
if (`select @@binlog_format = 'STATEMENT'`)
{
  --disable_query_log
  call p_verify_status_increment(2, 2, 1, 0);
  --enable_query_log
}
if (`select @@binlog_format != 'STATEMENT'`)
{
  --disable_query_log
  call p_verify_status_increment(1, 0, 1, 0);
  --enable_query_log
}
--echo #
--echo # Create a stored function that modifies a
--echo # non-transactional table. Demonstrate that changes in
--echo # non-transactional tables do not affect the two phase commit
--echo # algorithm.
--echo #
delimiter |;
create function f1() returns int
begin
  insert t2 set a=2;
  return 2;
end|
delimiter ;|
call p_verify_status_increment(0, 0, 0, 0);

--echo # 16. A function changes non-trans-table.
--echo #
--echo # For row-based logging, there is an extra commit for the
--echo # non-transactional changes saved in the transaction cache to
--echo # the binary log. 
--echo #
select f1();
call p_verify_status_increment(1, 0, 1, 0);
commit;
call p_verify_status_increment(1, 0, 1, 0);

--echo # 17. Read-only statement, a function changes non-trans-table.
--echo #
--echo # For row-based logging, there is an extra commit for the
--echo # non-transactional changes saved in the transaction cache to
--echo # the binary log. 
--echo #
--disable_warnings
select f1() from t1;
--enable_warnings
call p_verify_status_increment(2, 0, 2, 0);
commit;
call p_verify_status_increment(2, 0, 2, 0);

--echo # 18. Read-write statement: UPDATE, change 0 (transactional) rows. 
--echo #
select count(*) from t2;
--disable_warnings
update t1 set a=2 where a=f1()+10;
--enable_warnings
select count(*) from t2;
call p_verify_status_increment(2, 0, 2, 0);
commit;
call p_verify_status_increment(2, 0, 2, 0);
--echo #
--echo # Replace the non-transactional table with a temporary
--echo # transactional table. Demonstrate that a change to a temporary
--echo # transactional table does not provoke 2-phase commit, although
--echo # does trigger a commit and a binlog write (in statement mode).
--echo #
drop table t2;
set sql_mode=no_engine_substitution;
create temporary table t2 (a int);
call p_verify_status_increment(1, 0, 0, 0);
set sql_mode=default;
--echo # 19. A function changes temp-trans-table.
--echo #
select f1();
--echo # Two commits because a binary log record is written
call p_verify_status_increment(2, 0, 1, 0);
commit;
call p_verify_status_increment(2, 0, 1, 0);

--echo # 20. Read-only statement, a function changes non-trans-table.
--echo #
select f1() from t1;
--echo # Two commits because a binary log record is written
call p_verify_status_increment(2, 0, 1, 0);
commit;
call p_verify_status_increment(2, 0, 1, 0);

--echo # 21. Read-write statement: UPDATE, change 0 (transactional) rows. 
--echo #
--disable_warnings
update t1 set a=2 where a=f1()+10;
--enable_warnings
call p_verify_status_increment(2, 0, 1, 0);
commit;
call p_verify_status_increment(2, 0, 1, 0);

--echo # 22. DDL: ALTER TEMPORARY TABLE, should not cause a 2pc
--echo #
alter table t2 add column b int default 5;
--echo # A commit is done internally by ALTER. 
call p_verify_status_increment(2, 0, 2, 0);
commit;
--echo # There is nothing left to commit
call p_verify_status_increment(0, 0, 0, 0);

--echo # 23. DDL: RENAME TEMPORARY TABLE, does not start a transaction
--echo
--echo # No test because of Bug#8729 "rename table fails on temporary table"

--echo # 24. DDL: TRUNCATE TEMPORARY TABLE
--echo
truncate table t2;
call p_verify_status_increment(4, 0, 4, 0);
commit;
--echo # There is nothing left to commit
call p_verify_status_increment(0, 0, 0, 0);

--echo # 25. Read-write statement: unqualified DELETE 
--echo
delete from t2;
call p_verify_status_increment(2, 0, 1, 0);
commit;
--echo # There is nothing left to commit
call p_verify_status_increment(2, 0, 1, 0);

--echo # 25. DDL: DROP TEMPORARY TABLE, does not start a transaction
--echo #
drop temporary table t2;
call p_verify_status_increment(1, 0, 1, 0);
commit;
call p_verify_status_increment(1, 0, 1, 0);

--echo # 26. Verify that SET AUTOCOMMIT issues an implicit commit
--echo #
insert t1 set a=3;
call p_verify_status_increment(2, 2, 2, 2);
set autocommit=1;
call p_verify_status_increment(2, 2, 2, 2);
rollback;
select a from t1 where a=3;
call p_verify_status_increment(1, 0, 1, 0);
delete from t1 where a=3;
call p_verify_status_increment(2, 2, 2, 2);
commit;
call p_verify_status_increment(0, 0, 0, 0);
set autocommit=0;
call p_verify_status_increment(0, 0, 0, 0);
insert t1 set a=3;
call p_verify_status_increment(2, 2, 2, 2);
--echo # Sic: not actually changing the value of autocommit
set autocommit=0;
call p_verify_status_increment(0, 0, 0, 0);
rollback;
select a from t1 where a=3;
call p_verify_status_increment(1, 0, 1, 0);

--echo # 27. Savepoint management
--echo #
insert t1 set a=3;
call p_verify_status_increment(2, 2, 2, 2);
savepoint a;
call p_verify_status_increment(1, 0, 1, 0);
insert t1 set a=4;
call p_verify_status_increment(2, 2, 2, 2);
release savepoint a;
rollback;
call p_verify_status_increment(0, 0, 0, 0);
select a from t1 where a=3;
call p_verify_status_increment(1, 0, 1, 0);
commit;
call p_verify_status_increment(1, 0, 1, 0);

--echo # 28. Read-write statement: DO
--echo #
create table t2 (a int);
call p_verify_status_increment(0, 0, 0, 0);
do (select f1() from t1 where a=2);
call p_verify_status_increment(2, 2, 2, 2);
commit;
call p_verify_status_increment(2, 2, 2, 2);

--echo # 29. Read-write statement: MULTI-DELETE
--echo # 
delete t1, t2 from t1 join t2 on (t1.a=t2.a) where t1.a=2;
commit;
call p_verify_status_increment(4, 4, 4, 4);

--echo # 30. Read-write statement: INSERT-SELECT, MULTI-UPDATE, REPLACE-SELECT
--echo # 
insert into t2 select a from t1;
commit;
--disable_warnings
replace into t2 select a from t1;
--enable_warnings
commit;
call p_verify_status_increment(8, 8, 8, 8);
#
# Multi-update is one of the few remaining statements that still
# locks the tables at prepare step (and hence starts the transaction.
# Disable the PS protocol, since in this protocol we get a different
# number of commmits (there is an extra commit after prepare
#
--disable_ps_protocol
update t1, t2 set t1.a=4, t2.a=8 where t1.a=t2.a and t1.a=1;
--enable_ps_protocol
commit;
call p_verify_status_increment(4, 4, 4, 4);

--echo # 31. DDL: various DDL with transactional tables
--echo #
--echo # Sic: no table is created.
create table if not exists t2 (a int) select 6 union select 7;
--echo # No table are locked before existing t2 is found, so nothing to commit.
call p_verify_status_increment(0, 0, 0, 0);
create table t3 select a from t2;
call p_verify_status_increment(2, 0, 4, 4);
alter table t3 add column (b int);
call p_verify_status_increment(2, 0, 2, 0);
alter table t3 rename t4;
call p_verify_status_increment(0, 0, 0, 0);
rename table t4 to t3;
call p_verify_status_increment(0, 0, 0, 0);
truncate table t3;
call p_verify_status_increment(2, 0, 2, 0);
create view v1 as select * from t2;
call p_verify_status_increment(0, 0, 0, 0);
check table t1;
call p_verify_status_increment(2, 0, 2, 0);
--echo # Sic: after this bug is fixed, CHECK leaves no pending transaction
commit;
call p_verify_status_increment(0, 0, 0, 0);
check table t1, t2, t3;
call p_verify_status_increment(6, 0, 6, 0);
commit;
call p_verify_status_increment(0, 0, 0, 0);
drop view v1;
call p_verify_status_increment(0, 0, 0, 0);

--echo #
--echo # Cleanup
--echo #
drop table t1, t2, t3;
drop procedure p_verify_status_increment;
drop function f1;

Filemanager

Name Type Size Permission Actions
Load_data.inc File 173 B 0644
add_anonymous_users.inc File 187 B 0644
allowed_ciphers.inc File 409 B 0644
analyze-sync_with_master.test File 283 B 0644
analyze-timeout.test File 25 B 0644
assert.inc File 2.19 KB 0644
assert_binlog_events.inc File 10.21 KB 0644
assert_command_output.inc File 2 KB 0644
assert_grep.inc File 4.1 KB 0644
begin_include_file.inc File 3.21 KB 0644
big_test.inc File 107 B 0644
binlog_inject_error.inc File 641 B 0644
bug38347.inc File 404 B 0644
change_file_perms.inc File 521 B 0644
check-testcase.test File 2.83 KB 0644
check-warnings.test File 1.68 KB 0644
check_concurrent_insert.inc File 2.66 KB 0644
check_events_off.inc File 1.82 KB 0644
check_ftwrl_compatible.inc File 3.64 KB 0644
check_ftwrl_incompatible.inc File 3.8 KB 0644
check_ipv4_mapped.inc File 683 B 0644
check_ipv6.inc File 597 B 0644
check_key_reads.inc File 250 B 0644
check_key_req.inc File 628 B 0644
check_no_concurrent_insert.inc File 2.07 KB 0644
check_no_row_lock.inc File 1.76 KB 0644
check_openssl_version.inc File 1.32 KB 0644
check_qep.inc File 1.31 KB 0644
check_shared_row_lock.inc File 1.39 KB 0644
check_slave_is_running.inc File 651 B 0644
check_slave_no_error.inc File 655 B 0644
check_slave_param.inc File 1.01 KB 0644
check_var_limit.inc File 394 B 0644
cleanup_fake_relay_log.inc File 669 B 0644
commit.inc File 21.19 KB 0644
common-tests.inc File 115.9 KB 0644
concurrent.inc File 25.08 KB 0644
connect2.inc File 977 B 0644
count_sessions.inc File 382 B 0644
create_table.inc File 135 B 0644
ctype_8bit.inc File 2.85 KB 0644
ctype_ascii_order.inc File 1.04 KB 0644
ctype_common.inc File 2.82 KB 0644
ctype_czech.inc File 437 B 0644
ctype_datetime.inc File 333 B 0644
ctype_filesort.inc File 377 B 0644
ctype_filesort2.inc File 1006 B 0644
ctype_german.inc File 1.42 KB 0644
ctype_heap.inc File 479 B 0644
ctype_inet.inc File 254 B 0644
ctype_innodb_like.inc File 665 B 0644
ctype_like.inc File 1.36 KB 0644
ctype_like_escape.inc File 592 B 0644
ctype_like_ignorable.inc File 427 B 0644
ctype_like_range_f1f2.inc File 835 B 0644
ctype_numconv.inc File 44.65 KB 0644
ctype_pad_space.inc File 133 B 0644
ctype_regex.inc File 1.03 KB 0644
ctype_unicode520.inc File 7.13 KB 0644
ctype_unicode_latin.inc File 10.23 KB 0644
ctype_utf8_table.inc File 1.35 KB 0644
ctype_utf8mb4.inc File 59.49 KB 0644
daemon_example_bad_format.ini File 215 B 0644
daemon_example_bad_soname.ini File 227 B 0644
ddl_i18n.check_events.inc File 864 B 0644
ddl_i18n.check_sp.inc File 1.48 KB 0644
ddl_i18n.check_triggers.inc File 1.55 KB 0644
ddl_i18n.check_views.inc File 544 B 0644
deadlock.inc File 3.59 KB 0644
default_client.cnf File 367 B 0644
default_my.cnf File 1.57 KB 0644
default_mysqld.cnf File 3.99 KB 0644
default_mysqld_autosize.cnf File 2.81 KB 0644
default_ndbd.cnf File 997 B 0644
delete_anonymous_users.inc File 207 B 0644
diff_servers.inc File 2.2 KB 0644
diff_tables.inc File 6.65 KB 0644
end_include_file.inc File 2.42 KB 0644
endspace.inc File 338 B 0644
escape_sql.inc File 1.52 KB 0644
eval.inc File 5.73 KB 0644
execute_with_statistics.inc File 735 B 0644
expect_qep.inc File 1.16 KB 0644
explain.inc File 11.17 KB 0644
explain_json.inc File 10.15 KB 0644
explain_non_select.inc File 29.64 KB 0644
explain_utils.inc File 4.6 KB 0644
file_does_not_exist.inc File 340 B 0644
filter_file.inc File 4.38 KB 0644
force_restart.inc File 335 B 0644
force_restart_if_skipped.inc File 346 B 0644
func_aes_block.inc File 3.95 KB 0644
func_in.inc File 17.89 KB 0644
function_defaults.inc File 34.9 KB 0644
function_defaults_notembedded.inc File 2.38 KB 0644
get_file_permissions.inc File 274 B 0644
get_ndb_epochs.inc File 2.12 KB 0644
get_relay_log_pos.inc File 2.77 KB 0644
gis_debug.inc File 6.76 KB 0644
gis_generic.inc File 12.98 KB 0644
gis_keys.inc File 1.93 KB 0644
grant_cache.inc File 7.47 KB 0644
greedy_search_drop_tables.inc File 167 B 0644
greedy_search_load_tables.inc File 995 B 0644
gtid_step_assert.inc File 3.24 KB 0644
gtid_step_reset.inc File 476 B 0644
gtid_utils.inc File 12.94 KB 0644
gtid_utils_end.inc File 846 B 0644
handler.inc File 48.02 KB 0644
have_32bit.inc File 428 B 0644
have_64bit.inc File 357 B 0644
have_QC_Disabled.inc File 137 B 0644
have_archive.inc File 180 B 0644
have_archive_plugin.inc File 413 B 0644
have_big5.inc File 107 B 0644
have_binlog_checksum_off.inc File 199 B 0644
have_binlog_format_mixed.inc File 155 B 0644
have_binlog_format_mixed_or_row.inc File 181 B 0644
have_binlog_format_mixed_or_statement.inc File 193 B 0644
have_binlog_format_row.inc File 153 B 0644
have_binlog_format_row_or_statement.inc File 192 B 0644
have_binlog_format_statement.inc File 159 B 0644
have_binlog_rows_query.inc File 321 B 0644
have_blackhole.inc File 173 B 0644
have_blackhole_plugin.inc File 427 B 0644
have_case_insensitive_file_system.inc File 134 B 0644
have_case_sensitive_file_system.inc File 132 B 0644
have_compress.inc File 109 B 0644
have_cp1250_ch.inc File 112 B 0644
have_cp1251.inc File 115 B 0644
have_cp866.inc File 113 B 0644
have_cp932.inc File 110 B 0644
have_crypt.inc File 103 B 0644
have_csv.inc File 174 B 0644
have_daemon_example_plugin.inc File 387 B 0644
have_dbi_dbd-mysql.inc File 3.1 KB 0644
have_debug.inc File 113 B 0644
have_debug_sync.inc File 196 B 0644
have_dynamic_loading.inc File 221 B 0644
have_engine_condition_pushdown.inc File 170 B 0644
have_eucjpms.inc File 114 B 0644
have_euckr.inc File 108 B 0644
have_example_plugin.inc File 566 B 0644
have_exampledb.inc File 178 B 0644
have_federated_plugin.inc File 151 B 0644
have_firstmatch.inc File 155 B 0644
have_gb2312.inc File 111 B 0644
have_gbk.inc File 105 B 0644
have_geometry.inc File 110 B 0644
have_gtid.inc File 341 B 0644
have_index_condition_pushdown.inc File 169 B 0644
have_innodb.inc File 163 B 0644
have_innodb_16k.inc File 194 B 0644
have_innodb_4k.inc File 192 B 0644
have_innodb_8k.inc File 192 B 0644
have_ipv4_mapped.inc File 289 B 0644
have_ipv6.inc File 339 B 0644
have_koi8r.inc File 113 B 0644
have_latin2_ch.inc File 112 B 0644
have_local_infile.inc File 111 B 0644
have_log_bin.inc File 308 B 0644
have_loosescan.inc File 154 B 0644
have_lowercase0.inc File 116 B 0644
have_lowercase1.inc File 116 B 0644
have_lowercase2.inc File 116 B 0644
have_materialization.inc File 160 B 0644
have_memcached_plugin.inc File 69 B 0644
have_mrr.inc File 148 B 0644
have_multi_ndb.inc File 2.02 KB 0644
have_mysql_no_login_plugin.inc File 674 B 0644
have_mysql_upgrade.inc File 134 B 0644
have_ndb.inc File 659 B 0644
have_ndb_extra.inc File 65 B 0644
have_ndbapi_examples.inc File 148 B 0644
have_nodebug.inc File 115 B 0644
have_not_innodb_plugin.inc File 185 B 0644
have_null_audit_plugin.inc File 701 B 0644
have_numa.inc File 395 B 0644
have_openssl.inc File 139 B 0644
have_openssl_support.inc File 197 B 0644
have_optimizer_trace.inc File 255 B 0644
have_outfile.inc File 171 B 0644
have_partition.inc File 175 B 0644
have_partition_open_file_limit.inc File 150 B 0644
have_perfschema.inc File 1.32 KB 0644
have_plugin_auth.inc File 188 B 0644
have_plugin_interface.inc File 187 B 0644
have_plugin_server.inc File 178 B 0644
have_profiling.inc File 112 B 0644
have_query_cache.inc File 115 B 0644
have_semijoin.inc File 153 B 0644
have_semisync_plugin.inc File 594 B 0644
have_sha256_rsa_auth.inc File 305 B 0644
have_simple_parser.inc File 662 B 0644
have_sjis.inc File 108 B 0644
have_ssl.inc File 136 B 0644
have_ssl_communication.inc File 136 B 0644
have_ssl_crypto_functs.inc File 408 B 0644
have_symlink.inc File 391 B 0644
have_tis620.inc File 108 B 0644
have_ucs2.inc File 107 B 0644
have_udf.inc File 630 B 0644
have_ujis.inc File 108 B 0644
have_utf16.inc File 109 B 0644
have_utf32.inc File 109 B 0644
have_utf8.inc File 111 B 0644
have_utf8mb4.inc File 117 B 0644
have_util_nc.inc File 930 B 0644
have_valgrind.inc File 182 B 0644
have_validate_password_plugin.inc File 703 B 0644
ib_logfile_size_check.inc File 278 B 0644
icp_tests.inc File 25.44 KB 0644
implicit_commit_helper.inc File 123 B 0644
index_merge1.inc File 22.55 KB 0644
index_merge2.inc File 13.48 KB 0644
index_merge_2sweeps.inc File 1.53 KB 0644
index_merge_delete.inc File 6.42 KB 0644
index_merge_insert-and-replace.inc File 3.58 KB 0644
index_merge_intersect_dml.inc File 4.84 KB 0644
index_merge_multi_col_setup.inc File 1.25 KB 0644
index_merge_ror.inc File 11.34 KB 0644
index_merge_ror_cpk.inc File 5.12 KB 0644
index_merge_single_col_setup.inc File 1.2 KB 0644
index_merge_update.inc File 4.54 KB 0644
innodb-index.inc File 1.2 KB 0644
innodb-util.inc File 3.15 KB 0644
innodb_pk_extension.inc File 9.32 KB 0644
innodb_rollback_on_timeout.inc File 931 B 0644
innodb_trx_weight.inc File 861 B 0644
install_semisync.inc File 1.02 KB 0644
io_thd_fault_injection.inc File 598 B 0644
ipv6.inc File 637 B 0644
ipv6_clients.inc File 435 B 0644
ipv6_func.inc File 1.38 KB 0644
is_embedded.inc File 126 B 0644
join_cache.inc File 69.2 KB 0644
kill_query.inc File 1.73 KB 0644
kill_query_and_diff_master_slave.inc File 1.05 KB 0644
libdaemon_example.ini File 230 B 0644
linux.inc File 99 B 0644
linux_sys_vars.inc File 604 B 0644
load_sysvars.inc File 442 B 0644
loaddata_autocom.inc File 897 B 0644
master-slave.inc File 1.43 KB 0644
memcache_config.inc File 2.17 KB 0644
min_null_cond.inc File 1.55 KB 0644
mix1.inc File 48.49 KB 0644
mix2.inc File 76.81 KB 0644
mix2_ucs2.inc File 11.52 KB 0644
mrr_innodb_tests.inc File 1.55 KB 0644
mrr_tests.inc File 16.04 KB 0644
mtr_check.sql File 4.8 KB 0644
mtr_warnings.sql File 12.01 KB 0644
mysql_have_debug.inc File 979 B 0644
mysql_upgrade_preparation.inc File 777 B 0644
mysqlbinlog_have_debug.inc File 989 B 0644
mysqlbinlog_raw_mode.inc File 9.74 KB 0644
mysqld--help.inc File 2.17 KB 0644
mysqldump.inc File 2.02 KB 0644
mysqlhotcopy.inc File 4.76 KB 0644
mysqltest-x.inc File 41 B 0644
ndb_backup.inc File 405 B 0644
ndb_backup_id.inc File 930 B 0644
ndb_backup_print.inc File 459 B 0644
ndb_default_cluster.inc File 119 B 0644
ndb_have_online_alter.inc File 528 B 0644
ndb_not_readonly.inc File 925 B 0644
ndb_restore_master.inc File 612 B 0644
ndb_restore_slave_eoption.inc File 626 B 0644
ndb_setup_slave.inc File 869 B 0644
ndb_wait_connected.inc File 470 B 0644
no_protocol.inc File 304 B 0644
no_running_event_scheduler.inc File 1.51 KB 0644
no_running_events.inc File 1.72 KB 0644
no_valgrind_without_big.inc File 355 B 0644
not_as_root.inc File 45 B 0644
not_binlog_format_row.inc File 92 B 0644
not_blackhole.inc File 173 B 0644
not_crashrep.inc File 594 B 0644
not_embedded.inc File 127 B 0644
not_gtid_enabled.inc File 312 B 0644
not_master_info_table.inc File 121 B 0644
not_mts_slave_parallel_workers.inc File 91 B 0644
not_ndb.inc File 183 B 0644
not_ndb_default.inc File 236 B 0644
not_openssl.inc File 106 B 0644
not_parallel.inc File 63 B 0644
not_relay_log_info_table.inc File 127 B 0644
not_ssl.inc File 98 B 0644
not_threadpool.inc File 201 B 0644
not_valgrind.inc File 118 B 0644
not_var_link.inc File 498 B 0644
not_windows.inc File 165 B 0644
not_windows_embedded.inc File 305 B 0644
null_key.inc File 9.64 KB 0644
one_thread_per_connection.inc File 111 B 0644
only_mts_slave_parallel_workers.inc File 100 B 0644
order_by.inc File 76.02 KB 0644
parser_bug21114.inc File 1.32 KB 0644
partition_date_range.inc File 2.63 KB 0644
partition_default_functions.inc File 3.66 KB 0644
plugin.defs File 2.45 KB 0644
print_greedy_search_count.inc File 571 B 0644
ps_conv.inc File 47.8 KB 0644
ps_create.inc File 1.48 KB 0644
ps_ddl_1.inc File 468 B 0644
ps_modify.inc File 10.24 KB 0644
ps_modify1.inc File 3.16 KB 0644
ps_query.inc File 24.49 KB 0644
ps_renew.inc File 1.48 KB 0644
purge_first_log.inc File 432 B 0644
query_cache.inc File 5.74 KB 0644
query_cache_sql_prepare.inc File 14.11 KB 0644
rand.inc File 3.23 KB 0644
range.inc File 64.18 KB 0644
read_file_to_var.inc File 936 B 0644
read_many_rows.inc File 4.29 KB 0644
relocate_binlogs.inc File 3.36 KB 0644
report-features.test File 186 B 0644
restart_mysqld.inc File 1.02 KB 0644
restart_readonly_mysqld.inc File 958 B 0644
restart_slave_sql.inc File 1002 B 0644
rowid_order.inc File 3.08 KB 0644
rpl_change_topology.inc File 11.81 KB 0644
rpl_connect.inc File 1.53 KB 0644
rpl_connection.inc File 1.43 KB 0644
rpl_connection_master.inc File 69 B 0644
rpl_connection_master1.inc File 70 B 0644
rpl_connection_slave.inc File 68 B 0644
rpl_connection_slave1.inc File 69 B 0644
rpl_default_connections.inc File 873 B 0644
rpl_diff.inc File 3.18 KB 0644
rpl_end.inc File 3.1 KB 0644
rpl_events.inc File 5.83 KB 0644
rpl_for_each_slave.inc File 957 B 0644
rpl_generate_sync_chain.inc File 5.51 KB 0644
rpl_hash_scan_assertion.inc File 347 B 0644
rpl_init.inc File 8.22 KB 0644
rpl_ip_mix.inc File 772 B 0644
rpl_ip_mix2.inc File 772 B 0644
rpl_ipv6.inc File 661 B 0644
rpl_loaddata_charset.inc File 781 B 0644
rpl_multi_engine.inc File 729 B 0644
rpl_multi_engine2.inc File 2.56 KB 0644
rpl_multi_engine3.inc File 2.21 KB 0644
rpl_reconnect.inc File 3.65 KB 0644
rpl_reset.inc File 2.05 KB 0644
rpl_restart_server.inc File 1.33 KB 0644
rpl_row_img_general_loop.inc File 1.18 KB 0644
rpl_row_img_parts_assertion.inc File 3.01 KB 0644
rpl_row_img_parts_master_slave.inc File 3.02 KB 0644
rpl_row_img_set.inc File 1.51 KB 0644
rpl_set_gtid_mode.inc File 2.22 KB 0644
rpl_start_server.inc File 4.29 KB 0644
rpl_start_slaves.inc File 843 B 0644
rpl_stmt_seq.inc File 7.63 KB 0644
rpl_stop_server.inc File 2.22 KB 0644
rpl_stop_slaves.inc File 780 B 0644
rpl_sync.inc File 4.16 KB 0644
rpl_udf.inc File 5.66 KB 0644
running_event_scheduler.inc File 1.76 KB 0644
safe_set_to_maybe_ro_var.inc File 707 B 0644
save_binlog_position.inc File 731 B 0644
save_io_thread_pos.inc File 1.16 KB 0644
save_master_pos.inc File 1.29 KB 0644
search_pattern.inc File 1.75 KB 0644
search_pattern_in_file.inc File 2.57 KB 0644
select.inc File 189.26 KB 0644
set_binlog_format_mixed.sql File 1.17 KB 0644
set_binlog_format_row.sql File 1.17 KB 0644
set_binlog_format_statement.sql File 1.18 KB 0644
setup_fake_relay_log.inc File 3.88 KB 0644
show_all_binlogs.inc File 1.64 KB 0644
show_all_relay_logs.inc File 1.92 KB 0644
show_binary_logs.inc File 91 B 0644
show_binlog_events.inc File 1.43 KB 0644
show_binlog_events2.inc File 690 B 0644
show_binlog_using_logname.inc File 512 B 0644
show_delayed_slave_state.inc File 1.47 KB 0644
show_events.inc File 2.93 KB 0644
show_master_logs.inc File 106 B 0644
show_master_status.inc File 155 B 0644
show_msg.inc File 747 B 0644
show_msg80.inc File 4.46 KB 0644
show_relaylog_events.inc File 384 B 0644
show_rpl_debug_info.inc File 4.3 KB 0644
show_slave_hosts.inc File 194 B 0644
show_slave_status.inc File 3.78 KB 0644
shutdown_mysqld.inc File 750 B 0644
sp-vars.inc File 3.29 KB 0644
start_mysqld.inc File 428 B 0644
start_slave.inc File 758 B 0644
start_slave_io.inc File 791 B 0644
start_slave_sql.inc File 799 B 0644
stop_dump_threads.inc File 1019 B 0644
stop_slave.inc File 2.32 KB 0644
stop_slave_io.inc File 934 B 0644
stop_slave_sql.inc File 843 B 0644
strict_autoinc.inc File 619 B 0644
subquery.inc File 192.13 KB 0644
subquery_mat.inc File 40.52 KB 0644
subquery_sj.inc File 186.58 KB 0644
subquery_sj_innodb.inc File 3.86 KB 0644
sync_slave_io.inc File 1.39 KB 0644
sync_slave_io_with_master.inc File 1.3 KB 0644
sync_slave_sql.inc File 3.65 KB 0644
sync_slave_sql_with_io.inc File 843 B 0644
sync_slave_sql_with_master.inc File 1.48 KB 0644
system_db_struct.inc File 453 B 0644
test_fieldsize.inc File 724 B 0644
test_outfile.inc File 76 B 0644
testdb_only.inc File 1.39 KB 0644
tpcb.inc File 4.37 KB 0644
tpcb_disk_data.inc File 4.76 KB 0644
truncate_file.inc File 315 B 0644
uninstall_semisync.inc File 785 B 0644
unsafe_binlog.inc File 6.78 KB 0644
uses_vardir.inc File 385 B 0644
varchar.inc File 7.13 KB 0644
vardir_size_check.inc File 569 B 0644
view_alias.inc File 1.05 KB 0644
wait_condition.inc File 1.33 KB 0644
wait_condition_sp.inc File 1.27 KB 0644
wait_for_binlog_event.inc File 816 B 0644
wait_for_ndb_committed_to_binlog.inc File 1.87 KB 0644
wait_for_query_to_fail.inc File 366 B 0644
wait_for_query_to_succeed.inc File 371 B 0644
wait_for_slave_io_error.inc File 3.83 KB 0644
wait_for_slave_io_to_start.inc File 1.24 KB 0644
wait_for_slave_io_to_stop.inc File 967 B 0644
wait_for_slave_param.inc File 5.61 KB 0644
wait_for_slave_sql_error.inc File 3.26 KB 0644
wait_for_slave_sql_error_and_skip.inc File 1.67 KB 0644
wait_for_slave_sql_to_start.inc File 889 B 0644
wait_for_slave_sql_to_stop.inc File 1008 B 0644
wait_for_slave_to_start.inc File 678 B 0644
wait_for_slave_to_stop.inc File 946 B 0644
wait_for_slave_to_sync_with_master.inc File 578 B 0644
wait_for_status_var.inc File 2.7 KB 0644
wait_innodb_all_purged.inc File 1.31 KB 0644
wait_show_condition.inc File 3.65 KB 0644
wait_time_until_connected_again.inc File 735 B 0644
wait_until_connected_again.inc File 546 B 0644
wait_until_count_sessions.inc File 4.12 KB 0644
wait_until_disconnected.inc File 382 B 0644
wait_until_rows_count.inc File 409 B 0644
weight_string.inc File 1.28 KB 0644
weight_string_8140.inc File 2.07 KB 0644
weight_string_8EA1.inc File 2.07 KB 0644
weight_string_8FA2C3.inc File 2.2 KB 0644
weight_string_A1A1.inc File 2.07 KB 0644
weight_string_chde.inc File 3.26 KB 0644
weight_string_euro.inc File 1.81 KB 0644
weight_string_l1.inc File 497 B 0644
weight_string_l12.inc File 199 B 0644
weight_string_l14.inc File 1.28 KB 0644
weight_string_l2.inc File 312 B 0644
weight_string_l3.inc File 497 B 0644
weight_string_l4.inc File 497 B 0644
windows.inc File 118 B 0644
windows_sys_vars.inc File 600 B 0644
wl6219-engine.test File 3.25 KB 0644
wl6301.inc File 2.42 KB 0644
world.inc File 162.21 KB 0644
world_schema.inc File 731 B 0644
world_schema1.inc File 549 B 0644
write_result_to_file.inc File 3.07 KB 0644
write_var_to_file.inc File 1.77 KB 0644