allow suite.pm to skip combinations that originate from test/include files.
storage/innobase/handler/handler0alter.cc: for NEWDATE key_type says unsigned, thus col->prtype says unsigned, but field->flags says signed. Use the same flag for value retrieval that was used for value storage.
This commit is contained in:
parent
e83dd9b517
commit
2682a280c8
@ -52,7 +52,7 @@ It can also return a string - in this case all tests in the suite
|
|||||||
will be skipped, with this string being printed as a reason.
|
will be skipped, with this string being printed as a reason.
|
||||||
|
|
||||||
A suite class can define config_files(), servers(), list_cases(),
|
A suite class can define config_files(), servers(), list_cases(),
|
||||||
and start_test() methods.
|
start_test() methods, and skip_combinations() methods.
|
||||||
|
|
||||||
A config_files() method returns a list of additional config files (besides
|
A config_files() method returns a list of additional config files (besides
|
||||||
my.cnf), that this suite needs to be created. For every file it specifies
|
my.cnf), that this suite needs to be created. For every file it specifies
|
||||||
@ -89,6 +89,16 @@ to do it.
|
|||||||
A start_test() method starts one test process, by default it will be mysqltest.
|
A start_test() method starts one test process, by default it will be mysqltest.
|
||||||
|
|
||||||
See unit suite for an example of list_cases() and start_test() methods.
|
See unit suite for an example of list_cases() and start_test() methods.
|
||||||
|
|
||||||
|
A skip_combinations() method returns a hash that maps file names
|
||||||
|
(where combinations are defined) to a list of combinations that should
|
||||||
|
be skipped. For example
|
||||||
|
|
||||||
|
sub skip_combinations { (
|
||||||
|
'combinations' => [ 'mix', 'rpl' ],
|
||||||
|
'inc/many.combinations' => [ 'a', 'bb', 'c' ]
|
||||||
|
) }
|
||||||
|
|
||||||
==========================
|
==========================
|
||||||
A suite can have my.cnf template file in the suitedir.
|
A suite can have my.cnf template file in the suitedir.
|
||||||
A my.cnf template uses a normal my.cnf syntax - groups, options,
|
A my.cnf template uses a normal my.cnf syntax - groups, options,
|
||||||
@ -152,14 +162,5 @@ merged to a my.cnf, but will be added to the command line. Example:
|
|||||||
Such a file will cause every test from the suite to be run twice - once
|
Such a file will cause every test from the suite to be run twice - once
|
||||||
with mysqld using --opt1=val1 and the other one with mysqld using
|
with mysqld using --opt1=val1 and the other one with mysqld using
|
||||||
--opt1=val2 --opt2=$HAVE_SOMETHING
|
--opt1=val2 --opt2=$HAVE_SOMETHING
|
||||||
|
|
||||||
One can limit mtr run to a subset of combinations by setting environment
|
|
||||||
variable SUITENAME_COMBINATIONS to the ':'-separated set of combination
|
|
||||||
names. E.g.
|
|
||||||
|
|
||||||
RPL_COMBINATIONS=mix:row ./mtr --suite rpl
|
|
||||||
|
|
||||||
See innodb suite for an example of how suite.pm may set this variable
|
|
||||||
to exclude unsupported configurations.
|
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
--loose-innodb
|
|
||||||
--plugin-load=$HA_XTRADB_SO
|
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug #24200: Provide backwards compatibility mode for 4.x "rollback on
|
# Bug #24200: Provide backwards compatibility mode for 4.x "rollback on
|
||||||
# transaction timeout"
|
# transaction timeout"
|
||||||
|
@ -5,6 +5,7 @@ package My::Suite;
|
|||||||
|
|
||||||
sub config_files { () }
|
sub config_files { () }
|
||||||
sub servers { () }
|
sub servers { () }
|
||||||
|
sub skip_combinations { () }
|
||||||
|
|
||||||
sub list_cases {
|
sub list_cases {
|
||||||
my ($self, $testdir) = @_;
|
my ($self, $testdir) = @_;
|
||||||
|
@ -212,11 +212,43 @@ sub split_testname {
|
|||||||
mtr_error("Illegal format of test name: $test_name");
|
mtr_error("Illegal format of test name: $test_name");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my %suite_combinations;
|
||||||
|
my %skip_combinations;
|
||||||
|
my %file_combinations;
|
||||||
|
|
||||||
|
sub load_suite_object {
|
||||||
|
my ($suite, $suitedir) = @_;
|
||||||
|
unless ($suites{$suite}) {
|
||||||
|
if (-f "$suitedir/suite.pm") {
|
||||||
|
$suites{$suite} = do "$suitedir/suite.pm";
|
||||||
|
return unless ref $suites{$suite};
|
||||||
|
} else {
|
||||||
|
$suites{$suite} = $default_suite_object;
|
||||||
|
}
|
||||||
|
my %suite_skiplist = $suites{$suite}->skip_combinations();
|
||||||
|
while (my ($file, $skiplist) = each %suite_skiplist) {
|
||||||
|
$skip_combinations{"$suitedir/$file => $_"} = 1 for (@$skiplist);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# returns a pair of (suite, suitedir)
|
||||||
|
sub find_suite_of_file($) {
|
||||||
|
my ($file) = @_;
|
||||||
|
return ($2, $1)
|
||||||
|
if $file =~ m@^(.*/(?:storage|plugin)/\w+/mysql-test/(\w+))/@;
|
||||||
|
return ($2, $1) if $file =~ m@^(.*/mysql-test/suite/(\w+))/@;
|
||||||
|
return ('main', $1) if $file =~ m@^(.*/mysql-test)/@;
|
||||||
|
mtr_error("Cannot determine suite for $file");
|
||||||
|
}
|
||||||
|
|
||||||
sub combinations_from_file($)
|
sub combinations_from_file($)
|
||||||
{
|
{
|
||||||
my ($filename) = @_;
|
my ($filename) = @_;
|
||||||
return () if @::opt_combinations or not -f $filename;
|
return () if @::opt_combinations or not -f $filename;
|
||||||
|
|
||||||
|
load_suite_object(find_suite_of_file($filename));
|
||||||
|
|
||||||
# Read combinations file in my.cnf format
|
# Read combinations file in my.cnf format
|
||||||
mtr_verbose("Read combinations file");
|
mtr_verbose("Read combinations file");
|
||||||
my $config= My::Config->new($filename);
|
my $config= My::Config->new($filename);
|
||||||
@ -224,6 +256,7 @@ sub combinations_from_file($)
|
|||||||
foreach my $group ($config->groups()) {
|
foreach my $group ($config->groups()) {
|
||||||
next if $group->auto();
|
next if $group->auto();
|
||||||
my $comb= { name => $group->name() };
|
my $comb= { name => $group->name() };
|
||||||
|
next if $skip_combinations{"$filename => $comb->{name}"};
|
||||||
foreach my $option ( $group->options() ) {
|
foreach my $option ( $group->options() ) {
|
||||||
push(@{$comb->{comb_opt}}, $option->option());
|
push(@{$comb->{comb_opt}}, $option->option());
|
||||||
}
|
}
|
||||||
@ -232,9 +265,6 @@ sub combinations_from_file($)
|
|||||||
@combs;
|
@combs;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $suite_combinations = { };
|
|
||||||
my $file_combinations = { };
|
|
||||||
|
|
||||||
sub collect_one_suite
|
sub collect_one_suite
|
||||||
{
|
{
|
||||||
my $suite= shift; # Test suite name
|
my $suite= shift; # Test suite name
|
||||||
@ -300,16 +330,7 @@ sub collect_one_suite
|
|||||||
mtr_verbose("testdir: $testdir");
|
mtr_verbose("testdir: $testdir");
|
||||||
mtr_verbose("resdir: $resdir");
|
mtr_verbose("resdir: $resdir");
|
||||||
|
|
||||||
#
|
load_suite_object($suite, $suitedir);
|
||||||
# Load the Suite object
|
|
||||||
#
|
|
||||||
unless ($suites{$suite}) {
|
|
||||||
if (-f "$suitedir/suite.pm") {
|
|
||||||
$suites{$suite} = do "$suitedir/suite.pm";
|
|
||||||
} else {
|
|
||||||
$suites{$suite} = $default_suite_object;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
# Build a hash of disabled testcases for this suite
|
# Build a hash of disabled testcases for this suite
|
||||||
@ -369,15 +390,13 @@ sub collect_one_suite
|
|||||||
my $comb= {};
|
my $comb= {};
|
||||||
$comb->{name}= $combination;
|
$comb->{name}= $combination;
|
||||||
push(@{$comb->{comb_opt}}, $combination);
|
push(@{$comb->{comb_opt}}, $combination);
|
||||||
push @{$suite_combinations->{$suite}}, $comb;
|
push @{$suite_combinations{$suite}}, $comb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
my @combs = combinations_from_file("$suitedir/combinations");
|
my @combs = combinations_from_file("$suitedir/combinations");
|
||||||
my %env_filter = map { $_ => 1 } split /:/, $ENV{"\U${suite}_COMBINATIONS"};
|
$suite_combinations{$suite} = [ @combs ];
|
||||||
@combs = grep $env_filter{$_->{name}}, @combs if %env_filter;
|
|
||||||
$suite_combinations->{$suite} = [ @combs ];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -851,8 +870,8 @@ sub collect_one_test_case {
|
|||||||
process_opts($tinfo, 'slave_opt');
|
process_opts($tinfo, 'slave_opt');
|
||||||
|
|
||||||
my @cases = ($tinfo);
|
my @cases = ($tinfo);
|
||||||
for my $comb ($suite_combinations->{$suitename},
|
for my $comb ($suite_combinations{$suitename},
|
||||||
@{$file_combinations->{$filename}})
|
@{$file_combinations{$filename}})
|
||||||
{
|
{
|
||||||
@cases = map make_combinations($_, @{$comb}), @cases;
|
@cases = map make_combinations($_, @{$comb}), @cases;
|
||||||
}
|
}
|
||||||
@ -961,7 +980,7 @@ sub get_tags_from_file($$) {
|
|||||||
push @$tags, get_tags_from_file($sourced_file, $suitedir);
|
push @$tags, get_tags_from_file($sourced_file, $suitedir);
|
||||||
push @$master_opts, @{$file_to_master_opts->{$sourced_file}};
|
push @$master_opts, @{$file_to_master_opts->{$sourced_file}};
|
||||||
push @$slave_opts, @{$file_to_slave_opts->{$sourced_file}};
|
push @$slave_opts, @{$file_to_slave_opts->{$sourced_file}};
|
||||||
push @combinations, @{$file_combinations->{$sourced_file}};
|
push @combinations, @{$file_combinations{$sourced_file}};
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -983,7 +1002,7 @@ sub get_tags_from_file($$) {
|
|||||||
$file_to_tags->{$file}= $tags;
|
$file_to_tags->{$file}= $tags;
|
||||||
$file_to_master_opts->{$file}= $master_opts;
|
$file_to_master_opts->{$file}= $master_opts;
|
||||||
$file_to_slave_opts->{$file}= $slave_opts;
|
$file_to_slave_opts->{$file}= $slave_opts;
|
||||||
$file_combinations->{$file}= [ uniq(@combinations) ];
|
$file_combinations{$file}= [ uniq(@combinations) ];
|
||||||
return @{$tags};
|
return @{$tags};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3715,6 +3715,7 @@ sub do_before_run_mysqltest($)
|
|||||||
{
|
{
|
||||||
my $tinfo= shift;
|
my $tinfo= shift;
|
||||||
my $resfile= $tinfo->{result_file};
|
my $resfile= $tinfo->{result_file};
|
||||||
|
return unless defined $resfile;
|
||||||
|
|
||||||
# Remove old files produced by mysqltest
|
# Remove old files produced by mysqltest
|
||||||
die "unsupported result file name $resfile, stoping" unless
|
die "unsupported result file name $resfile, stoping" unless
|
||||||
|
11
mysql-test/r/innodb_bug878769,innodb_plugin.rdiff
Normal file
11
mysql-test/r/innodb_bug878769,innodb_plugin.rdiff
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- r/innodb_bug878769.result 2011-11-22 18:50:25.000000000 +0100
|
||||||
|
+++ r/innodb_bug878769.reject 2012-02-07 12:45:07.000000000 +0100
|
||||||
|
@@ -39,7 +39,7 @@
|
||||||
|
GROUP BY 1,2;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t2 index col_int_key col_int_key 5 NULL 12 Using where; Using index; Using temporary; Using filesort
|
||||||
|
-1 SIMPLE t1 ref col_int_key col_int_key 5 test.t2.col_int_key 1 Using join buffer (flat, BKA join); Key-ordered Rowid-ordered scan
|
||||||
|
+1 SIMPLE t1 ref col_int_key col_int_key 5 test.t2.col_int_key 1
|
||||||
|
SELECT t1.col_time_key, t1.col_varchar_key
|
||||||
|
FROM t2 STRAIGHT_JOIN t1 ON t1.col_int_key = t2.col_int_key
|
||||||
|
GROUP BY 1,2;
|
85
mysql-test/r/innodb_icp,innodb_plugin.rdiff
Normal file
85
mysql-test/r/innodb_icp,innodb_plugin.rdiff
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
--- r/innodb_icp.result 2012-01-09 16:13:21.000000000 +0100
|
||||||
|
+++ r/innodb_icp.reject 2012-02-07 12:45:59.000000000 +0100
|
||||||
|
@@ -167,7 +167,7 @@
|
||||||
|
ORDER BY ts DESC
|
||||||
|
LIMIT 2;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
-1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 4 Using index condition
|
||||||
|
+1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 4 Using where
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
@@ -213,7 +213,7 @@
|
||||||
|
EXPLAIN
|
||||||
|
SELECT c1 FROM t3 WHERE c1 >= 'c-1004=w' and c1 <= 'c-1006=w' and i1 > 2;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
-1 SIMPLE t3 range c1 c1 12 NULL 2 Using index condition; Using where
|
||||||
|
+1 SIMPLE t3 range c1 c1 12 NULL 2 Using where
|
||||||
|
SELECT c1 FROM t3 WHERE c1 >= 'c-1004=w' and c1 <= 'c-1006=w' and i1 > 2;
|
||||||
|
c1
|
||||||
|
EXPLAIN
|
||||||
|
@@ -431,7 +431,7 @@
|
||||||
|
WHERE pk IN (SELECT it.pk FROM t2 JOIN t2 AS it ON it.i=it.i WHERE it.pk-t1.i<10);
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 3 Using where
|
||||||
|
-2 DEPENDENT SUBQUERY it eq_ref PRIMARY PRIMARY 4 func 1 Using index condition
|
||||||
|
+2 DEPENDENT SUBQUERY it eq_ref PRIMARY PRIMARY 4 func 1 Using where
|
||||||
|
2 DEPENDENT SUBQUERY t2 index NULL PRIMARY 4 NULL 3 Using where; Using index; Using join buffer (flat, BNL join)
|
||||||
|
SELECT * FROM t1
|
||||||
|
WHERE pk IN (SELECT it.pk FROM t2 JOIN t2 AS it ON it.i=it.i WHERE it.pk-t1.i<10);
|
||||||
|
@@ -452,7 +452,7 @@
|
||||||
|
INSERT INTO t1 VALUES (1,9),(2,7),(3,6),(4,3),(5,1);
|
||||||
|
EXPLAIN SELECT pk, c1 FROM t1 WHERE pk <> 3;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
-1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 4 Using index condition
|
||||||
|
+1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 4 Using where
|
||||||
|
SET SESSION optimizer_switch='index_condition_pushdown=off';
|
||||||
|
SELECT pk, c1 FROM t1 WHERE pk <> 3;
|
||||||
|
pk c1
|
||||||
|
@@ -507,8 +507,8 @@
|
||||||
|
WHERE (t2.pk <= 4 AND t1.pk IN (2,1)) OR
|
||||||
|
(t1.pk > 1 AND t2.pk BETWEEN 6 AND 6);
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
-1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 1 Using index condition; Using where
|
||||||
|
-1 SIMPLE t2 range PRIMARY PRIMARY 4 NULL 2 Using index condition; Using where; Using join buffer (flat, BNL join)
|
||||||
|
+1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 1 Using where
|
||||||
|
+1 SIMPLE t2 range PRIMARY PRIMARY 4 NULL 2 Using where; Using join buffer (flat, BNL join)
|
||||||
|
SELECT c2 FROM t1 JOIN t2 ON t1.c1 = t2.c1
|
||||||
|
WHERE (t2.pk <= 4 AND t1.pk IN (2,1)) OR
|
||||||
|
(t1.pk > 1 AND t2.pk BETWEEN 6 AND 6);
|
||||||
|
@@ -637,7 +637,7 @@
|
||||||
|
WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania'
|
||||||
|
ORDER BY a;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
-1 SIMPLE t1 range b b 13 NULL 2 Using where; Rowid-ordered scan; Using filesort
|
||||||
|
+1 SIMPLE t1 range b b 13 NULL 2 Using where; Using filesort
|
||||||
|
SELECT * FROM t1
|
||||||
|
WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania'
|
||||||
|
ORDER BY a;
|
||||||
|
@@ -649,7 +649,7 @@
|
||||||
|
WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania'
|
||||||
|
ORDER BY a;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
-1 SIMPLE t1 range b b 13 NULL 2 Using index condition; Using where; Rowid-ordered scan; Using filesort
|
||||||
|
+1 SIMPLE t1 range b b 13 NULL 2 Using where; Using filesort
|
||||||
|
SELECT * FROM t1
|
||||||
|
WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania'
|
||||||
|
ORDER BY a;
|
||||||
|
@@ -680,7 +680,7 @@
|
||||||
|
SELECT t1.b, t1.c FROM t1, t2 WHERE t1.a = t2.a AND t1.b != 0
|
||||||
|
HAVING t1.c != 5 ORDER BY t1.c;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
-1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 2 Using index condition; Using where; Using filesort
|
||||||
|
+1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 2 Using where; Using filesort
|
||||||
|
1 SIMPLE t2 ref a a 515 test.t1.a 1 Using where
|
||||||
|
SELECT t1.b, t1.c FROM t1, t2 WHERE t1.a = t2.a AND t1.b != 0
|
||||||
|
HAVING t1.c != 5 ORDER BY t1.c;
|
||||||
|
@@ -793,7 +793,7 @@
|
||||||
|
1 PRIMARY t ALL PRIMARY,c NULL NULL NULL 64 Using where
|
||||||
|
1 PRIMARY t2 ref g g 5 test.t.c 9 Using where
|
||||||
|
2 DEPENDENT SUBQUERY t1 index PRIMARY d 3 NULL 64 Using where; Using index
|
||||||
|
-2 DEPENDENT SUBQUERY t2 eq_ref PRIMARY PRIMARY 4 test.t1.a 1 Using index condition; Using where
|
||||||
|
+2 DEPENDENT SUBQUERY t2 eq_ref PRIMARY PRIMARY 4 test.t1.a 1 Using where
|
||||||
|
SELECT COUNT(*) FROM t1 AS t, t2
|
||||||
|
WHERE c = g
|
||||||
|
AND (EXISTS (SELECT * FROM t1, t2 WHERE a = f AND h <= t.e AND a > t.b)
|
111
mysql-test/r/innodb_mrr_cpk,innodb_plugin.rdiff
Normal file
111
mysql-test/r/innodb_mrr_cpk,innodb_plugin.rdiff
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
--- r/innodb_mrr_cpk.result 2011-10-21 23:35:26.000000000 +0200
|
||||||
|
+++ r/innodb_mrr_cpk.reject 2012-02-07 12:47:49.000000000 +0100
|
||||||
|
@@ -27,13 +27,13 @@
|
||||||
|
explain select * from t1, t2 where t1.a=t2.a;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
|
||||||
|
-1 SIMPLE t1 eq_ref PRIMARY PRIMARY 8 test.t2.a 1 Using join buffer (flat, BKA join); Key-ordered scan
|
||||||
|
+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 8 test.t2.a 1
|
||||||
|
This output must be sorted by value of t1.a:
|
||||||
|
select * from t1, t2 where t1.a=t2.a;
|
||||||
|
a b filler a
|
||||||
|
a-1010=A b-1010=B filler a-1010=A
|
||||||
|
-a-1020=A b-1020=B filler a-1020=A
|
||||||
|
a-1030=A b-1030=B filler a-1030=A
|
||||||
|
+a-1020=A b-1020=B filler a-1020=A
|
||||||
|
drop table t1, t2;
|
||||||
|
create table t1(
|
||||||
|
a char(8) character set utf8, b int, filler char(100),
|
||||||
|
@@ -49,24 +49,24 @@
|
||||||
|
explain select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
|
||||||
|
-1 SIMPLE t1 eq_ref PRIMARY PRIMARY 28 test.t2.a,test.t2.b 1 Using join buffer (flat, BKA join); Key-ordered scan
|
||||||
|
+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 28 test.t2.a,test.t2.b 1
|
||||||
|
select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
|
||||||
|
a b filler a b
|
||||||
|
a-1010=A 1010 filler a-1010=A 1010
|
||||||
|
-a-1020=A 1020 filler a-1020=A 1020
|
||||||
|
a-1030=A 1030 filler a-1030=A 1030
|
||||||
|
+a-1020=A 1020 filler a-1020=A 1020
|
||||||
|
insert into t2 values ('a-1030=A', 1030), ('a-1020=A', 1020);
|
||||||
|
explain select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t2 ALL NULL NULL NULL NULL 5 Using where
|
||||||
|
-1 SIMPLE t1 eq_ref PRIMARY PRIMARY 28 test.t2.a,test.t2.b 1 Using join buffer (flat, BKA join); Key-ordered scan
|
||||||
|
+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 28 test.t2.a,test.t2.b 1
|
||||||
|
select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
|
||||||
|
a b filler a b
|
||||||
|
a-1010=A 1010 filler a-1010=A 1010
|
||||||
|
-a-1020=A 1020 filler a-1020=A 1020
|
||||||
|
-a-1020=A 1020 filler a-1020=A 1020
|
||||||
|
a-1030=A 1030 filler a-1030=A 1030
|
||||||
|
+a-1020=A 1020 filler a-1020=A 1020
|
||||||
|
a-1030=A 1030 filler a-1030=A 1030
|
||||||
|
+a-1020=A 1020 filler a-1020=A 1020
|
||||||
|
drop table t1, t2;
|
||||||
|
create table t1(
|
||||||
|
a varchar(8) character set utf8, b int, filler char(100),
|
||||||
|
@@ -82,21 +82,21 @@
|
||||||
|
explain select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
|
||||||
|
-1 SIMPLE t1 eq_ref PRIMARY PRIMARY 30 test.t2.a,test.t2.b 1 Using index condition(BKA); Using join buffer (flat, BKA join); Key-ordered scan
|
||||||
|
+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 30 test.t2.a,test.t2.b 1 Using where
|
||||||
|
select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
|
||||||
|
a b filler a b
|
||||||
|
a-1010=A 1010 filler a-1010=A 1010
|
||||||
|
-a-1020=A 1020 filler a-1020=A 1020
|
||||||
|
a-1030=A 1030 filler a-1030=A 1030
|
||||||
|
+a-1020=A 1020 filler a-1020=A 1020
|
||||||
|
explain select * from t1, t2 where t1.a=t2.a;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
|
||||||
|
-1 SIMPLE t1 ref PRIMARY PRIMARY 26 test.t2.a 1 Using index condition(BKA); Using join buffer (flat, BKA join); Key-ordered scan
|
||||||
|
+1 SIMPLE t1 ref PRIMARY PRIMARY 26 test.t2.a 1 Using where
|
||||||
|
select * from t1, t2 where t1.a=t2.a;
|
||||||
|
a b filler a b
|
||||||
|
a-1010=A 1010 filler a-1010=A 1010
|
||||||
|
-a-1020=A 1020 filler a-1020=A 1020
|
||||||
|
a-1030=A 1030 filler a-1030=A 1030
|
||||||
|
+a-1020=A 1020 filler a-1020=A 1020
|
||||||
|
drop table t1, t2;
|
||||||
|
create table t1 (a int, b int, c int, filler char(100), primary key(a,b,c));
|
||||||
|
insert into t1 select A.a, B.a, C.a, 'filler' from t0 A, t0 B, t0 C;
|
||||||
|
@@ -111,15 +111,15 @@
|
||||||
|
explain select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
|
||||||
|
-1 SIMPLE t1 ref PRIMARY PRIMARY 8 test.t2.a,test.t2.b 1 Using join buffer (flat, BKA join); Key-ordered scan
|
||||||
|
+1 SIMPLE t1 ref PRIMARY PRIMARY 8 test.t2.a,test.t2.b 1
|
||||||
|
select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
|
||||||
|
a b c filler a b
|
||||||
|
+11 33 124 filler 11 33
|
||||||
|
+11 33 125 filler 11 33
|
||||||
|
+11 22 1234 filler 11 22
|
||||||
|
11 11 11 filler 11 11
|
||||||
|
11 11 12 filler 11 11
|
||||||
|
11 11 13 filler 11 11
|
||||||
|
-11 22 1234 filler 11 22
|
||||||
|
-11 33 124 filler 11 33
|
||||||
|
-11 33 125 filler 11 33
|
||||||
|
set join_cache_level=0;
|
||||||
|
select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
|
||||||
|
a b c filler a b
|
||||||
|
@@ -133,14 +133,14 @@
|
||||||
|
explain select * from t1, t2 where t1.a=t2.a and t2.b + t1.b > 100;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
|
||||||
|
-1 SIMPLE t1 ref PRIMARY PRIMARY 4 test.t2.a 1 Using index condition(BKA); Using join buffer (flat, BKA join); Key-ordered scan
|
||||||
|
+1 SIMPLE t1 ref PRIMARY PRIMARY 4 test.t2.a 1 Using where
|
||||||
|
select * from t1, t2 where t1.a=t2.a and t2.b + t1.b > 100;
|
||||||
|
a b c filler a b
|
||||||
|
set optimizer_switch='index_condition_pushdown=off';
|
||||||
|
explain select * from t1, t2 where t1.a=t2.a and t2.b + t1.b > 100;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
|
||||||
|
-1 SIMPLE t1 ref PRIMARY PRIMARY 4 test.t2.a 1 Using where; Using join buffer (flat, BKA join); Key-ordered scan
|
||||||
|
+1 SIMPLE t1 ref PRIMARY PRIMARY 4 test.t2.a 1 Using where
|
||||||
|
select * from t1, t2 where t1.a=t2.a and t2.b + t1.b > 100;
|
||||||
|
a b c filler a b
|
||||||
|
set optimizer_switch='index_condition_pushdown=on';
|
20
mysql-test/r/subselect_sj2_jcl6,innodb_plugin.rdiff
Normal file
20
mysql-test/r/subselect_sj2_jcl6,innodb_plugin.rdiff
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
--- r/subselect_sj2_jcl6.result 2012-01-11 18:05:14.000000000 +0100
|
||||||
|
+++ r/subselect_sj2_jcl6.reject 2012-02-07 12:52:32.000000000 +0100
|
||||||
|
@@ -81,7 +81,7 @@
|
||||||
|
explain select * from t3 where b in (select a from t1);
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY <subquery2> ALL distinct_key NULL NULL NULL 3
|
||||||
|
-1 PRIMARY t3 ref b b 5 test.t1.a 1 Using join buffer (flat, BKA join); Key-ordered Rowid-ordered scan
|
||||||
|
+1 PRIMARY t3 ref b b 5 test.t1.a 1
|
||||||
|
2 MATERIALIZED t1 ALL NULL NULL NULL NULL 3 Using where
|
||||||
|
select * from t3 where b in (select a from t1);
|
||||||
|
a b pk1 pk2 pk3
|
||||||
|
@@ -107,7 +107,7 @@
|
||||||
|
explain select * from t3 where b in (select a from t0);
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY <subquery2> ALL distinct_key NULL NULL NULL 10
|
||||||
|
-1 PRIMARY t3 ref b b 5 test.t0.a 1 Using join buffer (flat, BKA join); Key-ordered Rowid-ordered scan
|
||||||
|
+1 PRIMARY t3 ref b b 5 test.t0.a 1
|
||||||
|
2 MATERIALIZED t0 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
select * from t3 where b in (select A.a+B.a from t0 A, t0 B where B.a<5);
|
||||||
|
a b pk1 pk2
|
@ -233,7 +233,7 @@ a+0 b+0
|
|||||||
127 403
|
127 403
|
||||||
explain select a+0, b+0 from t1 where a > 40 and b > 200 order by 1;
|
explain select a+0, b+0 from t1 where a > 40 and b > 200 order by 1;
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t1 range a a 2 NULL 27 Using where; Using index; Using filesort
|
1 SIMPLE t1 range a a 2 NULL # Using where; Using index; Using filesort
|
||||||
select a+0, b+0 from t1 where a > 40 and b > 200 order by 1;
|
select a+0, b+0 from t1 where a > 40 and b > 200 order by 1;
|
||||||
a+0 b+0
|
a+0 b+0
|
||||||
44 307
|
44 307
|
||||||
|
16
mysql-test/suite.pm
Normal file
16
mysql-test/suite.pm
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
package My::Suite::Main;
|
||||||
|
|
||||||
|
@ISA = qw(My::Suite);
|
||||||
|
|
||||||
|
sub skip_combinations {
|
||||||
|
my @combinations;
|
||||||
|
|
||||||
|
push @combinations, 'innodb_plugin' unless $ENV{HA_INNODB_SO};
|
||||||
|
push @combinations, 'xtradb_plugin' unless $ENV{HA_XTRADB_SO};
|
||||||
|
push @combinations, 'xtradb' unless $::mysqld_variables{'innodb'} eq "ON";
|
||||||
|
|
||||||
|
( 'include/have_innodb.combinations' => [ @combinations ] )
|
||||||
|
}
|
||||||
|
|
||||||
|
bless { };
|
||||||
|
|
@ -2,18 +2,17 @@ package My::Suite::Federated;
|
|||||||
|
|
||||||
@ISA = qw(My::Suite);
|
@ISA = qw(My::Suite);
|
||||||
|
|
||||||
############# initialization ######################
|
sub skip_combinations {
|
||||||
my @combinations;
|
my @combinations;
|
||||||
|
|
||||||
push @combinations, 'old'
|
push @combinations, 'old'
|
||||||
if $ENV{HA_FEDERATED_SO} and not $::mysqld_variables{'federated'};
|
unless $ENV{HA_FEDERATED_SO} and not $::mysqld_variables{'federated'};
|
||||||
push @combinations, 'X'
|
push @combinations, 'X'
|
||||||
if $ENV{HA_FEDERATEDX_SO} or $::mysqld_variables{'federated'};
|
unless $ENV{HA_FEDERATEDX_SO} or $::mysqld_variables{'federated'};
|
||||||
|
|
||||||
return "Neither Federated nor FederatedX are available" unless @combinations;
|
( 'combinations' => [ @combinations ] )
|
||||||
|
}
|
||||||
|
|
||||||
$ENV{FEDERATED_COMBINATIONS}=join ':', @combinations
|
|
||||||
unless $ENV{FEDERATED_COMBINATIONS};
|
|
||||||
|
|
||||||
############# return an object ######################
|
############# return an object ######################
|
||||||
bless { };
|
bless { };
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
--- suite/funcs_1/r/is_engines_innodb.result 2011-10-21 23:35:26.000000000 +0200
|
||||||
|
+++ suite/funcs_1/r/is_engines_innodb.reject 2012-02-07 12:44:19.000000000 +0100
|
||||||
|
@@ -2,7 +2,7 @@
|
||||||
|
WHERE ENGINE = 'InnoDB';
|
||||||
|
ENGINE InnoDB
|
||||||
|
SUPPORT YES
|
||||||
|
-COMMENT Percona-XtraDB, Supports transactions, row-level locking, and foreign keys
|
||||||
|
+COMMENT Supports transactions, row-level locking, and foreign keys
|
||||||
|
TRANSACTIONS YES
|
||||||
|
XA YES
|
||||||
|
SAVEPOINTS YES
|
@ -1,19 +0,0 @@
|
|||||||
package My::Suite::InnoDB;
|
|
||||||
|
|
||||||
@ISA = qw(My::Suite);
|
|
||||||
|
|
||||||
############# initialization ######################
|
|
||||||
my @combinations;
|
|
||||||
|
|
||||||
push @combinations, 'innodb_plugin' if $ENV{HA_INNODB_SO};
|
|
||||||
push @combinations, 'xtradb_plugin' if $ENV{HA_XTRADB_SO} and not $::opt_embedded_server;
|
|
||||||
push @combinations, 'xtradb' if $::mysqld_variables{'innodb'} eq "ON";
|
|
||||||
|
|
||||||
return "Neither innodb_plugin nor xtradb are available" unless @combinations;
|
|
||||||
|
|
||||||
$ENV{INNODB_COMBINATIONS}=join ':', @combinations
|
|
||||||
unless $ENV{INNODB_COMBINATIONS};
|
|
||||||
|
|
||||||
############# return an object ######################
|
|
||||||
bless { };
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
--source include/have_log_bin.inc
|
--source include/have_log_bin.inc
|
||||||
--source include/have_binlog_format_mixed_or_statement.inc
|
--source include/have_binlog_format_mixed_or_statement.inc
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
--source include/have_debug_sync.inc
|
--source include/have_debug_sync.inc
|
||||||
--source include/have_log_bin.inc
|
--source include/have_log_bin.inc
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
--source include/have_debug_sync.inc
|
--source include/have_debug_sync.inc
|
||||||
--source include/have_log_bin.inc
|
--source include/have_log_bin.inc
|
||||||
--source include/have_binlog_format_mixed_or_statement.inc
|
--source include/have_binlog_format_mixed_or_statement.inc
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
--source include/have_debug_sync.inc
|
--source include/have_debug_sync.inc
|
||||||
--source include/have_log_bin.inc
|
--source include/have_log_bin.inc
|
||||||
--source include/have_binlog_format_mixed_or_statement.inc
|
--source include/have_binlog_format_mixed_or_statement.inc
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# Testing group commit by crashing a few times.
|
# Testing group commit by crashing a few times.
|
||||||
# Test adapted from the Facebook patch: lp:mysqlatfacebook
|
# Test adapted from the Facebook patch: lp:mysqlatfacebook
|
||||||
--source include/not_embedded.inc
|
--source include/not_embedded.inc
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# Testing group commit by crashing a few times.
|
# Testing group commit by crashing a few times.
|
||||||
# Test adapted from the Facebook patch: lp:mysqlatfacebook
|
# Test adapted from the Facebook patch: lp:mysqlatfacebook
|
||||||
--source include/not_embedded.inc
|
--source include/not_embedded.inc
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
--source include/have_debug_sync.inc
|
--source include/have_debug_sync.inc
|
||||||
--source include/have_log_bin.inc
|
--source include/have_log_bin.inc
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Test that mysqld does not crash when running ANALYZE TABLE with
|
# Test that mysqld does not crash when running ANALYZE TABLE with
|
||||||
# different values of the parameter innodb_stats_sample_pages.
|
# different values of the parameter innodb_stats_sample_pages.
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# embedded server ignores 'delayed', so skip this
|
# embedded server ignores 'delayed', so skip this
|
||||||
-- source include/not_embedded.inc
|
-- source include/not_embedded.inc
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# embedded server ignores 'delayed', so skip this
|
# embedded server ignores 'delayed', so skip this
|
||||||
-- source include/not_embedded.inc
|
-- source include/not_embedded.inc
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
##
|
##
|
||||||
# Bug #56228: dropping tables from within an active statement crashes server
|
# Bug #56228: dropping tables from within an active statement crashes server
|
||||||
#
|
#
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# embedded server ignores 'delayed', so skip this
|
# embedded server ignores 'delayed', so skip this
|
||||||
-- source include/not_embedded.inc
|
-- source include/not_embedded.inc
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# embedded server ignores 'delayed', so skip this
|
# embedded server ignores 'delayed', so skip this
|
||||||
-- source include/not_embedded.inc
|
-- source include/not_embedded.inc
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
-- source include/not_embedded.inc
|
-- source include/not_embedded.inc
|
||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# Tests for various combinations of ROW_FORMAT and KEY_BLOCK_SIZE
|
# Tests for various combinations of ROW_FORMAT and KEY_BLOCK_SIZE
|
||||||
# Related bugs;
|
# Related bugs;
|
||||||
# Bug#54679: ALTER TABLE causes compressed row_format to revert to compact
|
# Bug#54679: ALTER TABLE causes compressed row_format to revert to compact
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
-- source include/have_innodb.inc
|
||||||
-- source include/have_ucs2.inc
|
-- source include/have_ucs2.inc
|
||||||
|
|
||||||
-- let charset = ucs2
|
-- let charset = ucs2
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
if (`select plugin_auth_version <= "1.1.8-20.1" from information_schema.plugins where plugin_name='innodb'`)
|
if (`select plugin_auth_version <= "1.1.8-20.1" from information_schema.plugins where plugin_name='innodb'`)
|
||||||
{
|
{
|
||||||
--skip Not supported by XtraDB 1.1.8-20.1 or earlier
|
--skip Not supported by XtraDB 1.1.8-20.1 or earlier
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
-- source include/have_innodb.inc
|
||||||
# embedded server ignores 'delayed', so skip this
|
# embedded server ignores 'delayed', so skip this
|
||||||
-- source include/not_embedded.inc
|
-- source include/not_embedded.inc
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
-- source include/not_embedded.inc
|
-- source include/not_embedded.inc
|
||||||
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop table if exists t1,t2;
|
drop table if exists t1,t2;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
let $initial_timeout=`select @@innodb_lock_wait_timeout`;
|
let $initial_timeout=`select @@innodb_lock_wait_timeout`;
|
||||||
set global innodb_lock_wait_timeout=42;
|
set global innodb_lock_wait_timeout=42;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
--echo #
|
--echo #
|
||||||
--echo # TRUNCATE TABLE
|
--echo # TRUNCATE TABLE
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
-- source include/have_ucs2.inc
|
-- source include/have_ucs2.inc
|
||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
let $per_table=`select @@innodb_file_per_table`;
|
let $per_table=`select @@innodb_file_per_table`;
|
||||||
let $format=`select @@innodb_file_format`;
|
let $format=`select @@innodb_file_format`;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# This test runs with old-style locking, as:
|
# This test runs with old-style locking, as:
|
||||||
# --innodb-autoinc-lock-mode=0
|
# --innodb-autoinc-lock-mode=0
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Bug#21704: Renaming column does not update FK definition.
|
--echo # Bug#21704: Renaming column does not update FK definition.
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# Test for Bug #30423, InnoDBs treatment of NULL in index stats causes
|
# Test for Bug #30423, InnoDBs treatment of NULL in index stats causes
|
||||||
# bad "rows examined" estimates.
|
# bad "rows examined" estimates.
|
||||||
# Implemented InnoDB system variable "innodb_stats_method" with
|
# Implemented InnoDB system variable "innodb_stats_method" with
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
--source include/have_partition.inc
|
--source include/have_partition.inc
|
||||||
--vertical_results
|
--vertical_results
|
||||||
let $engine_type= 'innodb';
|
let $engine_type= 'innodb';
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
-- source include/not_embedded.inc
|
-- source include/not_embedded.inc
|
||||||
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
SET storage_engine=InnoDB;
|
SET storage_engine=InnoDB;
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug#34300 Tinyblob & tinytext fields currupted after export/import and alter in 5.1
|
# Bug#34300 Tinyblob & tinytext fields currupted after export/import and alter in 5.1
|
||||||
# http://bugs.mysql.com/34300
|
# http://bugs.mysql.com/34300
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug#35220 ALTER TABLE too picky on reserved word "foreign"
|
# Bug#35220 ALTER TABLE too picky on reserved word "foreign"
|
||||||
# http://bugs.mysql.com/35220
|
# http://bugs.mysql.com/35220
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug#36169 create innodb compressed table with too large row size crashed
|
# Bug#36169 create innodb compressed table with too large row size crashed
|
||||||
# http://bugs.mysql.com/36169
|
# http://bugs.mysql.com/36169
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Test case for bug 36172
|
# Test case for bug 36172
|
||||||
#
|
#
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug#38231 Innodb crash in lock_reset_all_on_table() on TRUNCATE + LOCK / UNLOCK
|
# Bug#38231 Innodb crash in lock_reset_all_on_table() on TRUNCATE + LOCK / UNLOCK
|
||||||
# http://bugs.mysql.com/38231
|
# http://bugs.mysql.com/38231
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug#39438 Testcase for Bug#39436 crashes on 5.1 in fil_space_get_latch
|
# Bug#39438 Testcase for Bug#39436 crashes on 5.1 in fil_space_get_latch
|
||||||
# http://bugs.mysql.com/39438
|
# http://bugs.mysql.com/39438
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Make sure http://bugs.mysql.com/40360 remains fixed.
|
# Make sure http://bugs.mysql.com/40360 remains fixed.
|
||||||
#
|
#
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# Bug #40565 Update Query Results in "1 Row Affected" But Should Be "Zero Rows"
|
# Bug #40565 Update Query Results in "1 Row Affected" But Should Be "Zero Rows"
|
||||||
|
|
||||||
create table bug40565(value decimal(4,2)) engine=innodb;
|
create table bug40565(value decimal(4,2)) engine=innodb;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Make sure http://bugs.mysql.com/41904 remains fixed.
|
# Make sure http://bugs.mysql.com/41904 remains fixed.
|
||||||
#
|
#
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug#42101 Race condition in innodb_commit_concurrency
|
# Bug#42101 Race condition in innodb_commit_concurrency
|
||||||
# http://bugs.mysql.com/42101
|
# http://bugs.mysql.com/42101
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug#42101 Race condition in innodb_commit_concurrency
|
# Bug#42101 Race condition in innodb_commit_concurrency
|
||||||
# http://bugs.mysql.com/42101
|
# http://bugs.mysql.com/42101
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Testcase for InnoDB
|
# Testcase for InnoDB
|
||||||
# Bug#42419 Server crash with "Pure virtual method called" on two concurrent connections
|
# Bug#42419 Server crash with "Pure virtual method called" on two concurrent connections
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# Bug44032 no update-in-place of UTF-8 columns in ROW_FORMAT=REDUNDANT
|
# Bug44032 no update-in-place of UTF-8 columns in ROW_FORMAT=REDUNDANT
|
||||||
# (btr_cur_update_in_place not invoked when updating from/to NULL;
|
# (btr_cur_update_in_place not invoked when updating from/to NULL;
|
||||||
# the update is performed by delete and insert instead)
|
# the update is performed by delete and insert instead)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# This is the test for bug 44369. We should
|
# This is the test for bug 44369. We should
|
||||||
# block table creation with columns match
|
# block table creation with columns match
|
||||||
# some innodb internal reserved key words,
|
# some innodb internal reserved key words,
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug#44571 InnoDB Plugin crashes on ADD INDEX
|
# Bug#44571 InnoDB Plugin crashes on ADD INDEX
|
||||||
# http://bugs.mysql.com/44571
|
# http://bugs.mysql.com/44571
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
set session transaction isolation level read committed;
|
set session transaction isolation level read committed;
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# This is the test for bug 46000. We shall
|
# This is the test for bug 46000. We shall
|
||||||
# block any index creation with the name of
|
# block any index creation with the name of
|
||||||
# "GEN_CLUST_INDEX", which is the reserved
|
# "GEN_CLUST_INDEX", which is the reserved
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# This is the test for bug 46676: mysqld got exception 0xc0000005
|
# This is the test for bug 46676: mysqld got exception 0xc0000005
|
||||||
# It is reproducible with InnoDB plugin 1.0.4 + MySQL 5.1.37.
|
# It is reproducible with InnoDB plugin 1.0.4 + MySQL 5.1.37.
|
||||||
# But no longer reproducible after MySQL 5.1.38 (with plugin 1.0.5).
|
# But no longer reproducible after MySQL 5.1.38 (with plugin 1.0.5).
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# This is the unit test for bug #47167.
|
# This is the unit test for bug #47167.
|
||||||
# It tests setting the global variable "innodb_file_format_max" (
|
# It tests setting the global variable "innodb_file_format_max" (
|
||||||
# originally "innodb_file_format_check") with a user-Defined Variable.
|
# originally "innodb_file_format_check") with a user-Defined Variable.
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# This is the test for bug #47621, column rename operation should
|
# This is the test for bug #47621, column rename operation should
|
||||||
# not result in column definition inconsistency between MySQL and
|
# not result in column definition inconsistency between MySQL and
|
||||||
# InnoDB
|
# InnoDB
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# This is the test for bug 47622. There could be index
|
# This is the test for bug 47622. There could be index
|
||||||
# metadata sequence mismatch between MySQL and Innodb
|
# metadata sequence mismatch between MySQL and Innodb
|
||||||
# after creating index through FIC interfaces.
|
# after creating index through FIC interfaces.
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# This is the test for bug 47777. GEOMETRY
|
# This is the test for bug 47777. GEOMETRY
|
||||||
# data is treated as BLOB data in innodb.
|
# data is treated as BLOB data in innodb.
|
||||||
# Consequently, its key value generation/storing
|
# Consequently, its key value generation/storing
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# Bug #48024 Innodb doesn't work with multi-statements
|
# Bug #48024 Innodb doesn't work with multi-statements
|
||||||
|
|
||||||
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
CREATE TABLE bug48024(a int PRIMARY KEY,b int NOT NULL,KEY(b)) ENGINE=InnoDB;
|
CREATE TABLE bug48024(a int PRIMARY KEY,b int NOT NULL,KEY(b)) ENGINE=InnoDB;
|
||||||
CREATE TABLE bug48024_b(b int PRIMARY KEY) ENGINE=InnoDB;
|
CREATE TABLE bug48024_b(b int PRIMARY KEY) ENGINE=InnoDB;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
# Bug #49164 READ-COMMITTED reports "matched: 0" on compound PK
|
# Bug #49164 READ-COMMITTED reports "matched: 0" on compound PK
|
||||||
# a duplicate of
|
# a duplicate of
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# This is the test for bug 51378. Unique index created
|
# This is the test for bug 51378. Unique index created
|
||||||
# through "create index" and "alter table add unique index"
|
# through "create index" and "alter table add unique index"
|
||||||
# interfaces should not be treated as primary index if indexed
|
# interfaces should not be treated as primary index if indexed
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug #51920: InnoDB connections in lock wait ignore KILL until timeout
|
# Bug #51920: InnoDB connections in lock wait ignore KILL until timeout
|
||||||
#
|
#
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
let collation=utf32_bin;
|
let collation=utf32_bin;
|
||||||
--source include/have_collation.inc
|
--source include/have_collation.inc
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
set session transaction isolation level read committed;
|
set session transaction isolation level read committed;
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
let $file_format=`select @@innodb_file_format`;
|
let $file_format=`select @@innodb_file_format`;
|
||||||
let $file_per_table=`select @@innodb_file_per_table`;
|
let $file_per_table=`select @@innodb_file_per_table`;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# http://bugs.mysql.com/53046
|
# http://bugs.mysql.com/53046
|
||||||
# dict_update_statistics_low can still be run concurrently on same table
|
# dict_update_statistics_low can still be run concurrently on same table
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
create table bug53290 (x bigint) engine=innodb;
|
create table bug53290 (x bigint) engine=innodb;
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
let $file_format=`select @@innodb_file_format`;
|
let $file_format=`select @@innodb_file_format`;
|
||||||
let $file_per_table=`select @@innodb_file_per_table`;
|
let $file_per_table=`select @@innodb_file_per_table`;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# Testcase for Bug #53592 - "crash replacing duplicates into
|
# Testcase for Bug #53592 - "crash replacing duplicates into
|
||||||
# table after fast alter table added unique key". The fix is to make
|
# table after fast alter table added unique key". The fix is to make
|
||||||
# sure index number lookup should go through "index translation table".
|
# sure index number lookup should go through "index translation table".
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
-- source include/have_log_bin.inc
|
-- source include/have_log_bin.inc
|
||||||
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
create table bug53674(a int)engine=innodb;
|
create table bug53674(a int)engine=innodb;
|
||||||
insert into bug53674 values (1),(2);
|
insert into bug53674 values (1),(2);
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# This is the test case for bug #53756. Alter table operation could
|
# This is the test case for bug #53756. Alter table operation could
|
||||||
# leave a deleted record for the temp table (later renamed to the altered
|
# leave a deleted record for the temp table (later renamed to the altered
|
||||||
# table) in the SYS_TABLES secondary index, we should ignore this row and
|
# table) in the SYS_TABLES secondary index, we should ignore this row and
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# This is the test for bug #54044. Special handle MYSQL_TYPE_NULL type
|
# This is the test for bug #54044. Special handle MYSQL_TYPE_NULL type
|
||||||
# during create table, so it will not trigger assertion failure.
|
# during create table, so it will not trigger assertion failure.
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug#56143 too many foreign keys causes output of show create table to become invalid
|
# Bug#56143 too many foreign keys causes output of show create table to become invalid
|
||||||
# http://bugs.mysql.com/56143
|
# http://bugs.mysql.com/56143
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug #56680 InnoDB may return wrong results from a case-insensitive index
|
# Bug #56680 InnoDB may return wrong results from a case-insensitive index
|
||||||
#
|
#
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug #56716 InnoDB locks a record gap without locking the table
|
# Bug #56716 InnoDB locks a record gap without locking the table
|
||||||
#
|
#
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug #56947 valgrind reports a memory leak in innodb-plugin.innodb-index
|
# Bug #56947 valgrind reports a memory leak in innodb-plugin.innodb-index
|
||||||
#
|
#
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug#57252 disabling innobase_stats_on_metadata disables ANALYZE
|
# Bug#57252 disabling innobase_stats_on_metadata disables ANALYZE
|
||||||
# http://bugs.mysql.com/57252
|
# http://bugs.mysql.com/57252
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# Test Bug #57255. Cascade deletes that affect different rows should not
|
# Test Bug #57255. Cascade deletes that affect different rows should not
|
||||||
# result in DB_FOREIGN_EXCEED_MAX_CASCADE error
|
# result in DB_FOREIGN_EXCEED_MAX_CASCADE error
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
#
|
#
|
||||||
# Bug #57904 Missing constraint from information schema REFERENTIAL_CONSTRAINTS table
|
# Bug #57904 Missing constraint from information schema REFERENTIAL_CONSTRAINTS table
|
||||||
#
|
#
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
#
|
#
|
||||||
# Bug#59410 read uncommitted: unlock row could not find a 3 mode lock on the record
|
# Bug#59410 read uncommitted: unlock row could not find a 3 mode lock on the record
|
||||||
#
|
#
|
||||||
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
# only interested that the following do not produce something like
|
# only interested that the following do not produce something like
|
||||||
# InnoDB: Error: unlock row could not find a 2 mode lock on the record
|
# InnoDB: Error: unlock row could not find a 2 mode lock on the record
|
||||||
# in the error log
|
# in the error log
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# Bug #59641 Prepared XA transaction causes shutdown hang after a crash
|
# Bug #59641 Prepared XA transaction causes shutdown hang after a crash
|
||||||
|
|
||||||
-- source include/not_embedded.inc
|
-- source include/not_embedded.inc
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# Bug #60049 Verify that purge leaves no garbage in unique secondary indexes
|
# Bug #60049 Verify that purge leaves no garbage in unique secondary indexes
|
||||||
# This test requires a fresh server start-up and a slow shutdown.
|
# This test requires a fresh server start-up and a slow shutdown.
|
||||||
# This was a suspected bug (not a bug).
|
# This was a suspected bug (not a bug).
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# Bug#60196 - Setting lowercase_table_names to 2 on Windows causing
|
# Bug#60196 - Setting lowercase_table_names to 2 on Windows causing
|
||||||
# Foreign Key problems after an engine is restarted.
|
# Foreign Key problems after an engine is restarted.
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
if (`select plugin_auth_version <= "1.1.8-20.1" from information_schema.plugins where plugin_name='innodb'`)
|
if (`select plugin_auth_version <= "1.1.8-20.1" from information_schema.plugins where plugin_name='innodb'`)
|
||||||
{
|
{
|
||||||
--skip Not supported by XtraDB 1.1.8-20.1 or earlier
|
--skip Not supported by XtraDB 1.1.8-20.1 or earlier
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
--source suite/innodb/include/restart_and_reinit.inc
|
--source suite/innodb/include/restart_and_reinit.inc
|
||||||
|
|
||||||
let $innodb_file_format_orig=`select @@innodb_file_format`;
|
let $innodb_file_format_orig=`select @@innodb_file_format`;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
SET storage_engine=innodb;
|
SET storage_engine=innodb;
|
||||||
--source include/gis_generic.inc
|
--source include/gis_generic.inc
|
||||||
--source include/gis_keys.inc
|
--source include/gis_keys.inc
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
# Testcase for worklog #5743: Lift the limit of index key prefixes
|
# Testcase for worklog #5743: Lift the limit of index key prefixes
|
||||||
|
|
||||||
let $innodb_file_format_orig=`select @@innodb_file_format`;
|
let $innodb_file_format_orig=`select @@innodb_file_format`;
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
# INFORMATION_SCHEMA.innodb_locks.lock_data
|
# INFORMATION_SCHEMA.innodb_locks.lock_data
|
||||||
#
|
#
|
||||||
|
|
||||||
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
-- disable_query_log
|
-- disable_query_log
|
||||||
-- disable_result_log
|
-- disable_result_log
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Bug #40113: Embedded SELECT inside UPDATE or DELETE can timeout
|
--echo # Bug #40113: Embedded SELECT inside UPDATE or DELETE can timeout
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
# Test multi update with different join methods
|
# Test multi update with different join methods
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
# Slow test, don't run during staging part
|
# Slow test, don't run during staging part
|
||||||
-- source include/not_staging.inc
|
-- source include/not_staging.inc
|
||||||
|
-- source include/have_innodb.inc
|
||||||
-- source include/have_query_cache.inc
|
-- source include/have_query_cache.inc
|
||||||
|
|
||||||
let $engine_type= InnoDB;
|
let $engine_type= InnoDB;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user