Commit 6884c955 authored by Magne Mahre's avatar Magne Mahre

WL#5349 Change default storage engine to InnoDB

The default storage engine is changed from MyISAM to
InnoDB, in all builds except for the embedded server.

In addition, the following system variables are 
changed:

  * innodb_file_per_table is enabled
  * innodb_strict_mode is enabled
  * innodb_file_format_name_update is changed
    to 'Barracuda'

The test suite is changed so that tests that do not
explicitly include the have_innodb.inc are run with
--default-storage-engine=MyISAM.  This is to ease the
transition, so that most regression tests are run
with the same engine as before.

Some tests are disabled for the embedded server
regression test, as the output of certain statements
will be different that for the regular server
(i.e SELECT @@default_storage_engine).  This is to
ease transition.



mysql-test/mysql-test-run.pl:
  The regression test suite now adds a
  --default-storage-engine=MyISAM for all non-innodb 
  tests.  This behaviour can be controlled by the
  default-myisam switch in mysql-test-run
mysql-test/t/bootstrap-master.opt:
  The bootstrap test can only be run without InnoDB
  as it starts several mysqld instances on the same
  datadir. This is possible with MyISAM, but not
  with InnoDB.
storage/innobase/CMakeLists.txt:
  Build InnoDB per default
storage/innobase/handler/ha_innodb.cc:
  Change default values for system variables
  
    Enable file_per_table
    Enable strict_mode
    Upgrade default file format to Barracuda
parent 14b3a0be
...@@ -41,6 +41,12 @@ our $opt_with_ndbcluster_only; ...@@ -41,6 +41,12 @@ our $opt_with_ndbcluster_only;
our $defaults_file; our $defaults_file;
our $defaults_extra_file; our $defaults_extra_file;
our $quick_collect; our $quick_collect;
# Set to 1 if you want the tests to override
# default storage engine settings, and use MyISAM
# as default. (temporary option used in connection
# with the change of default storage engine to InnoDB)
our $default_myisam= 1;
sub collect_option { sub collect_option {
my ($opt, $value)= @_; my ($opt, $value)= @_;
...@@ -591,6 +597,9 @@ sub optimize_cases { ...@@ -591,6 +597,9 @@ sub optimize_cases {
my $default_engine= my $default_engine=
mtr_match_prefix($opt, "--default-storage-engine="); mtr_match_prefix($opt, "--default-storage-engine=");
# Allow use of uppercase, convert to all lower case
$default_engine =~ tr/A-Z/a-z/;
if (defined $default_engine){ if (defined $default_engine){
#print " $tinfo->{name}\n"; #print " $tinfo->{name}\n";
...@@ -948,10 +957,12 @@ sub collect_one_test_case { ...@@ -948,10 +957,12 @@ sub collect_one_test_case {
return $tinfo unless $do_innodb_plugin; return $tinfo unless $do_innodb_plugin;
} }
} }
else elsif ($default_myisam)
{ {
push(@{$tinfo->{'master_opt'}}, "--loose-skip-innodb"); # This is a temporary fix to allow non-innodb tests to run even if
push(@{$tinfo->{'slave_opt'}}, "--loose-skip-innodb"); # the default storage engine is innodb.
push(@{$tinfo->{'master_opt'}}, "--default-storage-engine=MyISAM");
push(@{$tinfo->{'slave_opt'}}, "--default-storage-engine=MyISAM");
} }
if ( $tinfo->{'need_binlog'} ) if ( $tinfo->{'need_binlog'} )
......
...@@ -944,6 +944,7 @@ sub command_line_setup { ...@@ -944,6 +944,7 @@ sub command_line_setup {
'timestamp' => \&report_option, 'timestamp' => \&report_option,
'timediff' => \&report_option, 'timediff' => \&report_option,
'max-connections=i' => \$opt_max_connections, 'max-connections=i' => \$opt_max_connections,
'default-myisam!' => \&collect_option,
'help|h' => \$opt_usage, 'help|h' => \$opt_usage,
'list-options' => \$opt_list_options, 'list-options' => \$opt_list_options,
...@@ -2843,7 +2844,6 @@ sub mysql_install_db { ...@@ -2843,7 +2844,6 @@ sub mysql_install_db {
mtr_add_arg($args, "--bootstrap"); mtr_add_arg($args, "--bootstrap");
mtr_add_arg($args, "--basedir=%s", $install_basedir); mtr_add_arg($args, "--basedir=%s", $install_basedir);
mtr_add_arg($args, "--datadir=%s", $install_datadir); mtr_add_arg($args, "--datadir=%s", $install_datadir);
mtr_add_arg($args, "--loose-innodb=OFF");
mtr_add_arg($args, "--loose-skip-falcon"); mtr_add_arg($args, "--loose-skip-falcon");
mtr_add_arg($args, "--loose-skip-ndbcluster"); mtr_add_arg($args, "--loose-skip-ndbcluster");
mtr_add_arg($args, "--tmpdir=%s", "$opt_vardir/tmp/"); mtr_add_arg($args, "--tmpdir=%s", "$opt_vardir/tmp/");
...@@ -5560,7 +5560,9 @@ Misc options ...@@ -5560,7 +5560,9 @@ Misc options
timediff With --timestamp, also print time passed since timediff With --timestamp, also print time passed since
*previous* test started *previous* test started
max-connections=N Max number of open connection to server in mysqltest max-connections=N Max number of open connection to server in mysqltest
default-myisam Set default storage engine to MyISAM for non-innodb
tests. This is needed after switching default storage
engine to InnoDB.
HERE HERE
exit(1); exit(1);
......
...@@ -25,7 +25,7 @@ DROP TABLE t1; ...@@ -25,7 +25,7 @@ DROP TABLE t1;
# MySQL Bug#39200: optimize table does not recognize # MySQL Bug#39200: optimize table does not recognize
# ROW_FORMAT=COMPRESSED # ROW_FORMAT=COMPRESSED
# #
CREATE TABLE t1 (a INT) ROW_FORMAT=compressed; CREATE TABLE t1 (a INT) ROW_FORMAT=compressed, ENGINE=MyISAM;
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
......
...@@ -746,7 +746,7 @@ connect-timeout 10 ...@@ -746,7 +746,7 @@ connect-timeout 10
console FALSE console FALSE
date-format %Y-%m-%d date-format %Y-%m-%d
datetime-format %Y-%m-%d %H:%i:%s datetime-format %Y-%m-%d %H:%i:%s
default-storage-engine MyISAM default-storage-engine InnoDB
default-time-zone (No default value) default-time-zone (No default value)
default-week-format 0 default-week-format 0
delay-key-write ON delay-key-write ON
......
...@@ -750,7 +750,7 @@ connect-timeout 10 ...@@ -750,7 +750,7 @@ connect-timeout 10
console FALSE console FALSE
date-format %Y-%m-%d date-format %Y-%m-%d
datetime-format %Y-%m-%d %H:%i:%s datetime-format %Y-%m-%d %H:%i:%s
default-storage-engine MyISAM default-storage-engine InnoDB
default-time-zone (No default value) default-time-zone (No default value)
default-week-format 0 default-week-format 0
delay-key-write ON delay-key-write ON
......
...@@ -266,12 +266,12 @@ engine = x ...@@ -266,12 +266,12 @@ engine = x
partition by key (a); partition by key (a);
Warnings: Warnings:
Warning 1286 Unknown storage engine 'x' Warning 1286 Unknown storage engine 'x'
Warning 1266 Using storage engine MyISAM for table 't1' Warning 1266 Using storage engine InnoDB for table 't1'
show create table t1; show create table t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a) */ /*!50100 PARTITION BY KEY (a) */
drop table t1; drop table t1;
create table t1 (a int) create table t1 (a int)
......
--max_binlog_size=4096 --max_binlog_size=4096 --default-storage-engine=MyISAM
--innodb_lock_wait_timeout=2 --innodb_lock_wait_timeout=2 --default-storage-engine=MyISAM
--max_binlog_size=4096 --max_binlog_size=4096 --default-storage-engine=MyISAM
--innodb_lock_wait_timeout=2 --binlog-direct-non-transactional-updates=FALSE --innodb_lock_wait_timeout=2 --binlog-direct-non-transactional-updates=FALSE --default-storage-engine=MyISAM
SELECT * FROM information_schema.engines SELECT * FROM information_schema.engines
WHERE ENGINE = 'InnoDB'; WHERE ENGINE = 'InnoDB';
ENGINE InnoDB ENGINE InnoDB
SUPPORT YES SUPPORT DEFAULT
COMMENT Supports transactions, row-level locking, and foreign keys COMMENT Supports transactions, row-level locking, and foreign keys
TRANSACTIONS YES TRANSACTIONS YES
XA YES XA YES
......
...@@ -171,7 +171,7 @@ CREATE TABLE t1_selects ...@@ -171,7 +171,7 @@ CREATE TABLE t1_selects
disable_result ENUM('Yes','No') NOT NULL default 'No', disable_result ENUM('Yes','No') NOT NULL default 'No',
PRIMARY KEY(id), PRIMARY KEY(id),
UNIQUE (my_select) UNIQUE (my_select)
); ) ENGINE=MyISAM;
# MODES to be checked # MODES to be checked
CREATE TABLE t1_modes CREATE TABLE t1_modes
...@@ -180,7 +180,7 @@ CREATE TABLE t1_modes ...@@ -180,7 +180,7 @@ CREATE TABLE t1_modes
my_mode VARCHAR(200) NOT NULL, my_mode VARCHAR(200) NOT NULL,
PRIMARY KEY(id), PRIMARY KEY(id),
UNIQUE (my_mode) UNIQUE (my_mode)
); ) ENGINE=MyISAM;
--enable_query_log --enable_query_log
# The table to be used in the FROM parts of the SELECTs # The table to be used in the FROM parts of the SELECTs
......
...@@ -918,9 +918,9 @@ ERROR HY000: Too big row ...@@ -918,9 +918,9 @@ ERROR HY000: Too big row
alter table t1 row_format=compact; alter table t1 row_format=compact;
create index t1u on t1 (u(1)); create index t1u on t1 (u(1));
drop table t1; drop table t1;
set global innodb_file_per_table=0; set global innodb_file_per_table=1;
set global innodb_file_format=Antelope; set global innodb_file_format=Barracuda;
set global innodb_file_format_max=Antelope; set global innodb_file_format_max=Barracuda;
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
CREATE TABLE t1( CREATE TABLE t1(
......
set session innodb_strict_mode=0;
set global innodb_file_per_table=off; set global innodb_file_per_table=off;
set global innodb_file_format=`0`; set global innodb_file_format=`0`;
create table t0(a int primary key) engine=innodb row_format=compressed; create table t0(a int primary key) engine=innodb row_format=compressed;
...@@ -393,8 +394,8 @@ table_schema table_name row_format ...@@ -393,8 +394,8 @@ table_schema table_name row_format
test t8 Compact test t8 Compact
test t9 Redundant test t9 Redundant
drop table t8, t9; drop table t8, t9;
set global innodb_file_per_table=0; set global innodb_file_per_table=1;
set global innodb_file_format=Antelope; set global innodb_file_format=Barracuda;
set global innodb_file_per_table=on; set global innodb_file_per_table=on;
set global innodb_file_format=`Barracuda`; set global innodb_file_format=`Barracuda`;
set global innodb_file_format_max=`Antelope`; set global innodb_file_format_max=`Antelope`;
......
...@@ -125,6 +125,6 @@ Warning 1264 Out of range value for column 'col78' at row 1 ...@@ -125,6 +125,6 @@ Warning 1264 Out of range value for column 'col78' at row 1
Warning 1265 Data truncated for column 'col79' at row 1 Warning 1265 Data truncated for column 'col79' at row 1
Warning 1264 Out of range value for column 'col84' at row 1 Warning 1264 Out of range value for column 'col84' at row 1
DROP TABLE bug52745; DROP TABLE bug52745;
SET GLOBAL innodb_file_format=Antelope; SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_format_max=Antelope; SET GLOBAL innodb_file_format_max=Antelope;
SET GLOBAL innodb_file_per_table=0; SET GLOBAL innodb_file_per_table=1;
...@@ -11,6 +11,6 @@ Error 139 Too big row ...@@ -11,6 +11,6 @@ Error 139 Too big row
Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
Error 1030 Got error 139 from storage engine Error 1030 Got error 139 from storage engine
DROP TABLE bug53591; DROP TABLE bug53591;
SET GLOBAL innodb_file_format=Antelope; SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_format_max=Antelope; SET GLOBAL innodb_file_format_max=Antelope;
SET GLOBAL innodb_file_per_table=0; SET GLOBAL innodb_file_per_table=1;
select @@innodb_file_format; select @@innodb_file_format;
@@innodb_file_format @@innodb_file_format
Antelope Barracuda
select @@innodb_file_format_check; select @@innodb_file_format_check;
@@innodb_file_format_check @@innodb_file_format_check
1 1
...@@ -17,14 +17,14 @@ Barracuda ...@@ -17,14 +17,14 @@ Barracuda
set global innodb_file_format=default; set global innodb_file_format=default;
select @@innodb_file_format; select @@innodb_file_format;
@@innodb_file_format @@innodb_file_format
Antelope Barracuda
set global innodb_file_format=on; set global innodb_file_format=on;
ERROR 42000: Variable 'innodb_file_format' can't be set to the value of 'ON' ERROR 42000: Variable 'innodb_file_format' can't be set to the value of 'ON'
set global innodb_file_format=off; set global innodb_file_format=off;
ERROR 42000: Variable 'innodb_file_format' can't be set to the value of 'off' ERROR 42000: Variable 'innodb_file_format' can't be set to the value of 'off'
select @@innodb_file_format; select @@innodb_file_format;
@@innodb_file_format @@innodb_file_format
Antelope Barracuda
set global innodb_file_format_max=antelope; set global innodb_file_format_max=antelope;
set global innodb_file_format_max=barracuda; set global innodb_file_format_max=barracuda;
set global innodb_file_format_max=cheetah; set global innodb_file_format_max=cheetah;
...@@ -46,5 +46,5 @@ Antelope ...@@ -46,5 +46,5 @@ Antelope
set global innodb_file_format_max=antelope; set global innodb_file_format_max=antelope;
set global innodb_file_format_check=off; set global innodb_file_format_check=off;
ERROR HY000: Variable 'innodb_file_format_check' is a read only variable ERROR HY000: Variable 'innodb_file_format_check' is a read only variable
SET GLOBAL innodb_file_format=Antelope; SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_format_max=Antelope; SET GLOBAL innodb_file_format_max=Antelope;
--innodb-use-sys-malloc=true --default-storage-engine=MyISAM
--loose-innodb-use-sys-malloc=true
--loose-innodb-use-sys-malloc=true
...@@ -3,9 +3,12 @@ ...@@ -3,9 +3,12 @@
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`;
let $innodb_file_format_max_orig=`select @@innodb_file_format_max`; let $innodb_file_format_max_orig=`select @@innodb_file_format_max`;
let $innodb_strict_mode_orig=`select @@session.innodb_strict_mode`;
set session innodb_strict_mode=0;
set global innodb_file_per_table=off; set global innodb_file_per_table=off;
set global innodb_file_format=`0`; set global innodb_file_format=`0`;
create table t0(a int primary key) engine=innodb row_format=compressed; create table t0(a int primary key) engine=innodb row_format=compressed;
create table t00(a int primary key) engine=innodb create table t00(a int primary key) engine=innodb
key_block_size=4 row_format=compressed; key_block_size=4 row_format=compressed;
...@@ -342,3 +345,4 @@ drop table normal_table, zip_table; ...@@ -342,3 +345,4 @@ drop table normal_table, zip_table;
eval set global innodb_file_format=$format; eval set global innodb_file_format=$format;
eval set global innodb_file_per_table=$per_table; eval set global innodb_file_per_table=$per_table;
eval set global innodb_file_format_max=$innodb_file_format_max_orig; eval set global innodb_file_format_max=$innodb_file_format_max_orig;
eval set session innodb_strict_mode=$innodb_strict_mode_orig;
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# 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.
--source include/not_embedded.inc
--source include/have_innodb.inc --source include/have_innodb.inc
# Save the value (Antelope) in 'innodb_file_format_max' to # Save the value (Antelope) in 'innodb_file_format_max' to
......
-- source include/not_embedded.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $innodb_file_format_orig=`select @@innodb_file_format`; let $innodb_file_format_orig=`select @@innodb_file_format`;
......
--innodb-lock-wait-timeout=2 --innodb-lock-wait-timeout=2 --default-storage-engine=MyISAM
...@@ -57,6 +57,7 @@ t1 CREATE TABLE `t1` ( ...@@ -57,6 +57,7 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL `f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
t1.frm t1.frm
t1.ibd
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
id select_type table partitions type possible_keys key key_len ref rows Extra id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where
...@@ -78,6 +79,7 @@ t1 CREATE TABLE `t1` ( ...@@ -78,6 +79,7 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL `f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (YEAR(f_date)) */ /*!50100 PARTITION BY HASH (YEAR(f_date)) */
t1#P#p0.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -96,6 +98,7 @@ t1 CREATE TABLE `t1` ( ...@@ -96,6 +98,7 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL `f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (DAYOFYEAR(f_date)) */ /*!50100 PARTITION BY HASH (DAYOFYEAR(f_date)) */
t1#P#p0.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -112,6 +115,7 @@ t1 CREATE TABLE `t1` ( ...@@ -112,6 +115,7 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL `f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (YEAR(f_date)) */ /*!50100 PARTITION BY HASH (YEAR(f_date)) */
t1#P#p0.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -137,6 +141,9 @@ t1 CREATE TABLE `t1` ( ...@@ -137,6 +141,9 @@ t1 CREATE TABLE `t1` (
(PARTITION p0 ENGINE = InnoDB, (PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB) */ PARTITION part7 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#part1.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -161,6 +168,10 @@ t1 CREATE TABLE `t1` ( ...@@ -161,6 +168,10 @@ t1 CREATE TABLE `t1` (
PARTITION part1 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB) */ PARTITION part2 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#part1.ibd
t1#P#part2.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -186,6 +197,14 @@ t1 CREATE TABLE `t1` ( ...@@ -186,6 +197,14 @@ t1 CREATE TABLE `t1` (
PARTITION p5 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB,
PARTITION p6 ENGINE = InnoDB, PARTITION p6 ENGINE = InnoDB,
PARTITION p7 ENGINE = InnoDB) */ PARTITION p7 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#p4.ibd
t1#P#p5.ibd
t1#P#p6.ibd
t1#P#p7.ibd
t1#P#part1.ibd
t1#P#part2.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -222,6 +241,13 @@ t1 CREATE TABLE `t1` ( ...@@ -222,6 +241,13 @@ t1 CREATE TABLE `t1` (
PARTITION p4 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB,
PARTITION p5 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB,
PARTITION p6 ENGINE = InnoDB) */ PARTITION p6 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#p4.ibd
t1#P#p5.ibd
t1#P#p6.ibd
t1#P#part1.ibd
t1#P#part2.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -244,6 +270,12 @@ t1 CREATE TABLE `t1` ( ...@@ -244,6 +270,12 @@ t1 CREATE TABLE `t1` (
PARTITION part2 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB,
PARTITION p4 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB,
PARTITION p5 ENGINE = InnoDB) */ PARTITION p5 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#p4.ibd
t1#P#p5.ibd
t1#P#part1.ibd
t1#P#part2.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -265,6 +297,11 @@ t1 CREATE TABLE `t1` ( ...@@ -265,6 +297,11 @@ t1 CREATE TABLE `t1` (
PARTITION part7 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB,
PARTITION p4 ENGINE = InnoDB) */ PARTITION p4 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#p4.ibd
t1#P#part1.ibd
t1#P#part2.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -285,6 +322,10 @@ t1 CREATE TABLE `t1` ( ...@@ -285,6 +322,10 @@ t1 CREATE TABLE `t1` (
PARTITION part1 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB) */ PARTITION part2 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#part1.ibd
t1#P#part2.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -304,6 +345,9 @@ t1 CREATE TABLE `t1` ( ...@@ -304,6 +345,9 @@ t1 CREATE TABLE `t1` (
(PARTITION p0 ENGINE = InnoDB, (PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB) */ PARTITION part7 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#part1.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -322,6 +366,8 @@ t1 CREATE TABLE `t1` ( ...@@ -322,6 +366,8 @@ t1 CREATE TABLE `t1` (
/*!50100 PARTITION BY HASH (YEAR(f_date)) /*!50100 PARTITION BY HASH (YEAR(f_date))
(PARTITION p0 ENGINE = InnoDB, (PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB) */ PARTITION part1 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#part1.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -339,6 +385,7 @@ t1 CREATE TABLE `t1` ( ...@@ -339,6 +385,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (YEAR(f_date)) /*!50100 PARTITION BY HASH (YEAR(f_date))
(PARTITION p0 ENGINE = InnoDB) */ (PARTITION p0 ENGINE = InnoDB) */
t1#P#p0.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
...@@ -359,6 +406,7 @@ t1 CREATE TABLE `t1` ( ...@@ -359,6 +406,7 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL `f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
t1.frm t1.frm
t1.ibd
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
id select_type table partitions type possible_keys key key_len ref rows Extra id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where
...@@ -398,6 +446,7 @@ t1 CREATE TABLE `t1` ( ...@@ -398,6 +446,7 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL `f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
t1.frm t1.frm
t1.ibd
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
id select_type table partitions type possible_keys key key_len ref rows Extra id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where
...@@ -420,6 +469,7 @@ t1 CREATE TABLE `t1` ( ...@@ -420,6 +469,7 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL `f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (f_int1) */ /*!50100 PARTITION BY KEY (f_int1) */
t1#P#p0.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
...@@ -448,6 +498,9 @@ t1 CREATE TABLE `t1` ( ...@@ -448,6 +498,9 @@ t1 CREATE TABLE `t1` (
(PARTITION p0 ENGINE = InnoDB, (PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB) */ PARTITION part7 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#part1.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
...@@ -472,6 +525,10 @@ t1 CREATE TABLE `t1` ( ...@@ -472,6 +525,10 @@ t1 CREATE TABLE `t1` (
PARTITION part1 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB) */ PARTITION part2 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#part1.ibd
t1#P#part2.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
...@@ -500,6 +557,14 @@ t1 CREATE TABLE `t1` ( ...@@ -500,6 +557,14 @@ t1 CREATE TABLE `t1` (
PARTITION p5 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB,
PARTITION p6 ENGINE = InnoDB, PARTITION p6 ENGINE = InnoDB,
PARTITION p7 ENGINE = InnoDB) */ PARTITION p7 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#p4.ibd
t1#P#p5.ibd
t1#P#p6.ibd
t1#P#p7.ibd
t1#P#part1.ibd
t1#P#part2.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
...@@ -534,6 +599,13 @@ t1 CREATE TABLE `t1` ( ...@@ -534,6 +599,13 @@ t1 CREATE TABLE `t1` (
PARTITION p4 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB,
PARTITION p5 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB,
PARTITION p6 ENGINE = InnoDB) */ PARTITION p6 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#p4.ibd
t1#P#p5.ibd
t1#P#p6.ibd
t1#P#part1.ibd
t1#P#part2.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
...@@ -559,6 +631,12 @@ t1 CREATE TABLE `t1` ( ...@@ -559,6 +631,12 @@ t1 CREATE TABLE `t1` (
PARTITION part2 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB,
PARTITION p4 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB,
PARTITION p5 ENGINE = InnoDB) */ PARTITION p5 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#p4.ibd
t1#P#p5.ibd
t1#P#part1.ibd
t1#P#part2.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
...@@ -583,6 +661,11 @@ t1 CREATE TABLE `t1` ( ...@@ -583,6 +661,11 @@ t1 CREATE TABLE `t1` (
PARTITION part7 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB,
PARTITION p4 ENGINE = InnoDB) */ PARTITION p4 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#p4.ibd
t1#P#part1.ibd
t1#P#part2.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
...@@ -606,6 +689,10 @@ t1 CREATE TABLE `t1` ( ...@@ -606,6 +689,10 @@ t1 CREATE TABLE `t1` (
PARTITION part1 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB) */ PARTITION part2 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#part1.ibd
t1#P#part2.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
...@@ -628,6 +715,9 @@ t1 CREATE TABLE `t1` ( ...@@ -628,6 +715,9 @@ t1 CREATE TABLE `t1` (
(PARTITION p0 ENGINE = InnoDB, (PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB) */ PARTITION part7 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#part1.ibd
t1#P#part7.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
...@@ -649,6 +739,8 @@ t1 CREATE TABLE `t1` ( ...@@ -649,6 +739,8 @@ t1 CREATE TABLE `t1` (
/*!50100 PARTITION BY KEY (f_int1) /*!50100 PARTITION BY KEY (f_int1)
(PARTITION p0 ENGINE = InnoDB, (PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB) */ PARTITION part1 ENGINE = InnoDB) */
t1#P#p0.ibd
t1#P#part1.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
...@@ -669,6 +761,7 @@ t1 CREATE TABLE `t1` ( ...@@ -669,6 +761,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (f_int1) /*!50100 PARTITION BY KEY (f_int1)
(PARTITION p0 ENGINE = InnoDB) */ (PARTITION p0 ENGINE = InnoDB) */
t1#P#p0.ibd
t1.frm t1.frm
t1.par t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
...@@ -692,6 +785,7 @@ t1 CREATE TABLE `t1` ( ...@@ -692,6 +785,7 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL `f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
t1.frm t1.frm
t1.ibd
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
id select_type table partitions type possible_keys key key_len ref rows Extra id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where
......
...@@ -7,11 +7,11 @@ master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (c1 char(50)) ...@@ -7,11 +7,11 @@ master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (c1 char(50))
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Xid # # COMMIT /* XID */
DROP TABLE t1; DROP TABLE t1;
stop slave; stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
......
...@@ -8,15 +8,15 @@ start slave; ...@@ -8,15 +8,15 @@ start slave;
STOP SLAVE; STOP SLAVE;
**** On Master **** **** On Master ****
SET SESSION BINLOG_FORMAT=ROW; SET SESSION BINLOG_FORMAT=ROW;
CREATE TABLE t1 (a INT, b INT); CREATE TABLE t1 (a INT, b INT) ENGINE=MyISAM;
CREATE TABLE t2 (c INT, d INT); CREATE TABLE t2 (c INT, d INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1,1),(2,4),(3,9); INSERT INTO t1 VALUES (1,1),(2,4),(3,9);
INSERT INTO t2 VALUES (1,1),(2,8),(3,27); INSERT INTO t2 VALUES (1,1),(2,8),(3,27);
UPDATE t1,t2 SET b = d, d = b * 2 WHERE a = c; UPDATE t1,t2 SET b = d, d = b * 2 WHERE a = c;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b INT) master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b INT) ENGINE=MyISAM
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (c INT, d INT) master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (c INT, d INT) ENGINE=MyISAM
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
......
...@@ -66,7 +66,7 @@ SHOW CREATE TABLE mysqltest1.tmp2; ...@@ -66,7 +66,7 @@ SHOW CREATE TABLE mysqltest1.tmp2;
Table Create Table Table Create Table
tmp2 CREATE TEMPORARY TABLE `tmp2` ( tmp2 CREATE TEMPORARY TABLE `tmp2` (
`a` int(11) DEFAULT NULL `a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
######### Must return no rows here ######### ######### Must return no rows here #########
SELECT COUNT(*) FROM mysqltest1.t1; SELECT COUNT(*) FROM mysqltest1.t1;
COUNT(*) COUNT(*)
......
RESET MASTER; RESET MASTER;
CREATE TABLE t1 (c1 char(50)); CREATE TABLE t1 (c1 char(50)) ENGINE=MyISAM;
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE t1; LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE t1;
LOAD DATA CONCURRENT INFILE '../../std_data/words.dat' INTO TABLE t1; LOAD DATA CONCURRENT INFILE '../../std_data/words.dat' INTO TABLE t1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (c1 char(50)) master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (c1 char(50)) ENGINE=MyISAM
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=# master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`c1`) ;file_id=# master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`c1`) ;file_id=#
......
--binlog_ignore_db=test_ignore --binlog_ignore_db=test_ignore --default-storage-engine=MyISAM
--binlog_cache_size=4096 --max_binlog_cache_size=7680 --binlog_cache_size=4096 --max_binlog_cache_size=7680 --default-storage-engine=MyISAM
...@@ -17,8 +17,8 @@ STOP SLAVE; ...@@ -17,8 +17,8 @@ STOP SLAVE;
connection master; connection master;
SET SESSION BINLOG_FORMAT=ROW; SET SESSION BINLOG_FORMAT=ROW;
CREATE TABLE t1 (a INT, b INT); CREATE TABLE t1 (a INT, b INT) ENGINE=MyISAM;
CREATE TABLE t2 (c INT, d INT); CREATE TABLE t2 (c INT, d INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1,1),(2,4),(3,9); INSERT INTO t1 VALUES (1,1),(2,4),(3,9);
INSERT INTO t2 VALUES (1,1),(2,8),(3,27); INSERT INTO t2 VALUES (1,1),(2,8),(3,27);
let $master_log_pos= query_get_value(SHOW MASTER STATUS, Position, 1); let $master_log_pos= query_get_value(SHOW MASTER STATUS, Position, 1);
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
RESET MASTER; RESET MASTER;
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1); let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
CREATE TABLE t1 (c1 char(50)); CREATE TABLE t1 (c1 char(50)) ENGINE=MyISAM;
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE t1; LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE t1;
LOAD DATA CONCURRENT INFILE '../../std_data/words.dat' INTO TABLE t1; LOAD DATA CONCURRENT INFILE '../../std_data/words.dat' INTO TABLE t1;
-- source include/show_binlog_events.inc -- source include/show_binlog_events.inc
......
SET @start_global_value = @@global.default_storage_engine; SET @start_global_value = @@global.default_storage_engine;
SELECT @start_global_value; SELECT @start_global_value;
@start_global_value @start_global_value
MyISAM InnoDB
SET @start_session_value = @@session.default_storage_engine; SET @start_session_value = @@session.default_storage_engine;
SELECT @start_session_value; SELECT @start_session_value;
@start_session_value @start_session_value
MyISAM InnoDB
'#--------------------FN_DYNVARS_005_01-------------------------#' '#--------------------FN_DYNVARS_005_01-------------------------#'
SET @@global.default_storage_engine = INNODB; SET @@global.default_storage_engine = INNODB;
SET @@global.default_storage_engine = DEFAULT; SET @@global.default_storage_engine = DEFAULT;
SELECT @@global.default_storage_engine; SELECT @@global.default_storage_engine;
@@global.default_storage_engine @@global.default_storage_engine
MyISAM InnoDB
SET @@session.default_storage_engine = INNODB; SET @@session.default_storage_engine = INNODB;
SET @@session.default_storage_engine = DEFAULT; SET @@session.default_storage_engine = DEFAULT;
SELECT @@session.default_storage_engine; SELECT @@session.default_storage_engine;
@@session.default_storage_engine @@session.default_storage_engine
MyISAM InnoDB
'#--------------------FN_DYNVARS_005_02-------------------------#' '#--------------------FN_DYNVARS_005_02-------------------------#'
SET @@global.default_storage_engine = MYISAM; SET @@global.default_storage_engine = MYISAM;
SELECT @@global.default_storage_engine; SELECT @@global.default_storage_engine;
...@@ -110,8 +110,8 @@ SET @@default_storage_engine = @start_global_value; ...@@ -110,8 +110,8 @@ SET @@default_storage_engine = @start_global_value;
SET @@global.default_storage_engine = @start_global_value; SET @@global.default_storage_engine = @start_global_value;
SELECT @@global.default_storage_engine; SELECT @@global.default_storage_engine;
@@global.default_storage_engine @@global.default_storage_engine
MyISAM InnoDB
SET @@session.default_storage_engine = @start_session_value; SET @@session.default_storage_engine = @start_session_value;
SELECT @@session.default_storage_engine; SELECT @@session.default_storage_engine;
@@session.default_storage_engine @@session.default_storage_engine
MyISAM InnoDB
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
# # # #
######################################################################## ########################################################################
--source include/not_embedded.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/load_sysvars.inc --source include/load_sysvars.inc
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# 2010-01-25 - Added # 2010-01-25 - Added
# #
--source include/not_embedded.inc
--source include/have_innodb.inc --source include/have_innodb.inc
SET @start_global_value = @@global.innodb_file_format_max; SET @start_global_value = @@global.innodb_file_format_max;
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
# # # #
######################################################################## ########################################################################
--source include/not_embedded.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/load_sysvars.inc --source include/load_sysvars.inc
......
--default-storage-engine=MyISAM --skip-innodb
...@@ -8,8 +8,7 @@ drop table if exists t1; ...@@ -8,8 +8,7 @@ drop table if exists t1;
# Add the datadir to the bootstrap command # Add the datadir to the bootstrap command
let $MYSQLD_DATADIR= `select @@datadir`; let $MYSQLD_DATADIR= `select @@datadir`;
let $MYSQLD_BOOTSTRAP_CMD= $MYSQLD_BOOTSTRAP_CMD --datadir=$MYSQLD_DATADIR; let $MYSQLD_BOOTSTRAP_CMD= $MYSQLD_BOOTSTRAP_CMD --datadir=$MYSQLD_DATADIR --default-storage-engine=MyISAM --skip-innodb;
# #
# Check that --bootstrap reads from stdin # Check that --bootstrap reads from stdin
# #
...@@ -20,7 +19,6 @@ EOF ...@@ -20,7 +19,6 @@ EOF
--exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/bootstrap_test.sql >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1 --exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/bootstrap_test.sql >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1
drop table t1; drop table t1;
remove_file $MYSQLTEST_VARDIR/tmp/bootstrap_test.sql; remove_file $MYSQLTEST_VARDIR/tmp/bootstrap_test.sql;
# #
# Check that --bootstrap of file with SQL error returns error # Check that --bootstrap of file with SQL error returns error
# #
......
...@@ -29,7 +29,7 @@ DROP TABLE t1; ...@@ -29,7 +29,7 @@ DROP TABLE t1;
--echo # ROW_FORMAT=COMPRESSED --echo # ROW_FORMAT=COMPRESSED
--echo # --echo #
CREATE TABLE t1 (a INT) ROW_FORMAT=compressed; CREATE TABLE t1 (a INT) ROW_FORMAT=compressed, ENGINE=MyISAM;
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
OPTIMIZE TABLE t1; OPTIMIZE TABLE t1;
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
......
--default-storage-engine=MyISAM
--default-storage-engine=MyISAM
--default-storage-engine=MyISAM
--default-storage-engine=MyISAM
--default-storage-engine=MyISAM
--default-storage-engine=MyISAM
--source include/not_embedded.inc
--source include/have_partition.inc --source include/have_partition.inc
--source include/have_innodb.inc --source include/have_innodb.inc
......
--innodb_lock_wait_timeout=2 --innodb_lock_wait_timeout=2 --default-storage-engine=MyISAM
--default-storage-engine=MyISAM
--default-storage-engine=MyISAM
...@@ -3435,8 +3435,16 @@ static int init_common_variables() ...@@ -3435,8 +3435,16 @@ static int init_common_variables()
compiler error in the Sun Studio 12 compiler. As a work-around we compiler error in the Sun Studio 12 compiler. As a work-around we
set the def_value member to 0 in my_long_options and initialize it set the def_value member to 0 in my_long_options and initialize it
to the correct value here. to the correct value here.
From MySQL 5.5 onwards, the default storage engine is InnoDB
(except in the embedded server, where the default continues to
be MyISAM)
*/ */
#ifdef EMBEDDED_LIBRARY
default_storage_engine= const_cast<char *>("MyISAM"); default_storage_engine= const_cast<char *>("MyISAM");
#else
default_storage_engine= const_cast<char *>("InnoDB");
#endif
/* /*
Add server status variables to the dynamic list of Add server status variables to the dynamic list of
......
...@@ -272,6 +272,7 @@ ELSEIF (MYSQL_VERSION_ID LESS "50137") ...@@ -272,6 +272,7 @@ ELSEIF (MYSQL_VERSION_ID LESS "50137")
ELSE() ELSE()
# New plugin support, cross-platform , base name for shared module is "ha_innodb" # New plugin support, cross-platform , base name for shared module is "ha_innodb"
MYSQL_ADD_PLUGIN(innobase ${INNOBASE_SOURCES} STORAGE_ENGINE MYSQL_ADD_PLUGIN(innobase ${INNOBASE_SOURCES} STORAGE_ENGINE
DEFAULT
MODULE_OUTPUT_NAME ha_innodb MODULE_OUTPUT_NAME ha_innodb
LINK_LIBRARIES ${ZLIB_LIBRARY}) LINK_LIBRARIES ${ZLIB_LIBRARY})
ENDIF() ENDIF()
...@@ -429,7 +429,7 @@ static MYSQL_THDVAR_BOOL(table_locks, PLUGIN_VAR_OPCMDARG, ...@@ -429,7 +429,7 @@ static MYSQL_THDVAR_BOOL(table_locks, PLUGIN_VAR_OPCMDARG,
static MYSQL_THDVAR_BOOL(strict_mode, PLUGIN_VAR_OPCMDARG, static MYSQL_THDVAR_BOOL(strict_mode, PLUGIN_VAR_OPCMDARG,
"Use strict mode when evaluating create options.", "Use strict mode when evaluating create options.",
NULL, NULL, FALSE); NULL, NULL, TRUE);
static MYSQL_THDVAR_ULONG(lock_wait_timeout, PLUGIN_VAR_RQCMDARG, static MYSQL_THDVAR_ULONG(lock_wait_timeout, PLUGIN_VAR_RQCMDARG,
"Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. Values above 100000000 disable the timeout.", "Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. Values above 100000000 disable the timeout.",
...@@ -10809,13 +10809,13 @@ static MYSQL_SYSVAR_ULONG(fast_shutdown, innobase_fast_shutdown, ...@@ -10809,13 +10809,13 @@ static MYSQL_SYSVAR_ULONG(fast_shutdown, innobase_fast_shutdown,
static MYSQL_SYSVAR_BOOL(file_per_table, srv_file_per_table, static MYSQL_SYSVAR_BOOL(file_per_table, srv_file_per_table,
PLUGIN_VAR_NOCMDARG, PLUGIN_VAR_NOCMDARG,
"Stores each InnoDB table to an .ibd file in the database dir.", "Stores each InnoDB table to an .ibd file in the database dir.",
NULL, NULL, FALSE); NULL, NULL, TRUE);
static MYSQL_SYSVAR_STR(file_format, innobase_file_format_name, static MYSQL_SYSVAR_STR(file_format, innobase_file_format_name,
PLUGIN_VAR_RQCMDARG, PLUGIN_VAR_RQCMDARG,
"File format to use for new tables in .ibd files.", "File format to use for new tables in .ibd files.",
innodb_file_format_name_validate, innodb_file_format_name_validate,
innodb_file_format_name_update, "Antelope"); innodb_file_format_name_update, "Barracuda");
/* "innobase_file_format_check" decides whether we would continue /* "innobase_file_format_check" decides whether we would continue
booting the server if the file format stamped on the system booting the server if the file format stamped on the system
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment