mirror of
https://github.com/MariaDB/server.git
synced 2025-11-02 02:53:04 +03:00
------------------------------------------------------------ revno: 3414 revision-id: marko.makela@oracle.com-20100422093342-jf9ojlzdqsdebohn parent: marko.makela@oracle.com-20100421185359-8qaxoa2yyrpzwdd7 committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Thu 2010-04-22 12:33:42 +0300 message: Correct the definition of DICT_SYS_INDEXES_NAME_FIELD. When row_merge_drop_temp_indexes() was reworked to drop the indexes via the data dictionary cache, the code was broken because it would read the index name from the wrong field. modified: storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog storage/innodb_plugin/dict/dict0boot.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0boot.c storage/innodb_plugin/include/dict0boot.h 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Fdict0boot.h ------------------------------------------------------------ revno: 3413 revision-id: marko.makela@oracle.com-20100421185359-8qaxoa2yyrpzwdd7 parent: marko.makela@oracle.com-20100421102723-0i80uezbyu0ekj5d committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2010-04-21 21:53:59 +0300 message: btr_page_split_and_insert(): Avoid an infinite loop. (Bug #52964) btr_page_tuple_smaller(): New function, refactored from btr_page_split_and_insert(). btr_page_get_split_rec(): Renamed from btr_page_get_sure_split_rec(). Note that a NULL return may mean that the tuple is to be inserted into either the lower or upper page, to be determined by btr_page_tuple_smaller(). btr_page_split_and_insert(): When btr_page_get_split_rec() returns NULL, invoke btr_page_tuple_smaller() to determine which half-page the tuple belongs to. Reviewed by Sunny Bains modified: storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog storage/innodb_plugin/btr/btr0btr.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0btr.c ------------------------------------------------------------ revno: 3412 revision-id: marko.makela@oracle.com-20100421102723-0i80uezbyu0ekj5d parent: marko.makela@oracle.com-20100421100029-mji6lmdgvuqh96qq committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2010-04-21 13:27:23 +0300 message: dict_create_index_step(): Be strict about DYNAMIC and COMPRESSED tables. Bug #50495 is about REDUNDANT and COMPACT tables, after all. modified: mysql-test/suite/innodb_plugin/r/innodb-zip.result 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.result mysql-test/suite/innodb_plugin/t/innodb-zip.test 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.test storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog storage/innodb_plugin/dict/dict0crea.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0crea.c ------------------------------------------------------------ revno: 3411 revision-id: marko.makela@oracle.com-20100421100029-mji6lmdgvuqh96qq parent: marko.makela@oracle.com-20100421095033-0acvzxb8um8cms0a committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2010-04-21 13:00:29 +0300 message: ha_innobase::add_index(): Only check for duplicate indexes when the data dictionary is locked. This fixes a UNIV_DEBUG assertion failure in innodb-index.test. modified: storage/innodb_plugin/handler/handler0alter.cc 1845@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fhandler%2Fhandler0alter.cc ------------------------------------------------------------ revno: 3410 revision-id: marko.makela@oracle.com-20100421095033-0acvzxb8um8cms0a parent: marko.makela@oracle.com-20100421094032-ir4glqk46qvg2ywn committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2010-04-21 12:50:33 +0300 message: dtuple_convert_big_rec(): Store locally any fields whose maximum length is less than 256 bytes. (Bug #52745) Add related comments and debug assertions to the "offsets" functions in rem0rec.c. Approved by Sunny Bains modified: storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog storage/innodb_plugin/data/data0data.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdata%2Fdata0data.c storage/innodb_plugin/rem/rem0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frem%2Frem0rec.c ------------------------------------------------------------ revno: 3409 revision-id: marko.makela@oracle.com-20100421094032-ir4glqk46qvg2ywn parent: marko.makela@oracle.com-20100421091611-uu46iygmv5sizjru committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2010-04-21 12:40:32 +0300 message: Adjust tests for the Bug #50495 fix. modified: mysql-test/suite/innodb_plugin/r/innodb-zip.result 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.result mysql-test/suite/innodb_plugin/t/innodb-zip.test 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.test mysql-test/suite/innodb_plugin/t/innodb_bug36169.test 2418@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb_bug36169.test ------------------------------------------------------------ revno: 3408 revision-id: marko.makela@oracle.com-20100421091611-uu46iygmv5sizjru parent: marko.makela@oracle.com-20100421063916-h3gwjea7jzjilyww committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2010-04-21 12:16:11 +0300 message: rec_convert_dtuple_to_rec(): Correct the debug check. The "extern" accessor functions return zero or nonzero, not 0 or 1. modified: storage/innodb_plugin/rem/rem0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frem%2Frem0rec.c ------------------------------------------------------------ revno: 3407 revision-id: marko.makela@oracle.com-20100421063916-h3gwjea7jzjilyww parent: marko.makela@oracle.com-20100420201550-cax1xywvlcdshgfg committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2010-04-21 09:39:16 +0300 message: rec_convert_dtuple_to_rec(): Add a debug check. modified: storage/innodb_plugin/rem/rem0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frem%2Frem0rec.c ------------------------------------------------------------ revno: 3406 revision-id: marko.makela@oracle.com-20100420201550-cax1xywvlcdshgfg parent: marko.makela@oracle.com-20100420114222-diq7h2hiom9ww6me committer: Marko Makela <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2010-04-20 23:15:50 +0300 message: btr_cur_optimistic_insert(): Remove unused variable "heap". modified: storage/innodb_plugin/btr/btr0cur.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0cur.c ------------------------------------------------------------ revno: 3405 revision-id: marko.makela@oracle.com-20100420114222-diq7h2hiom9ww6me parent: marko.makela@oracle.com-20100420082908-tpako8jd4imkh1xb committer: Marko Makela <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2010-04-20 14:42:22 +0300 message: dict_create_index_step(): Invoke dict_index_add_to_cache() in strict mode only if innodb_strict_mode is set. (Bug #50495) trx_is_strict(): New function, for checking innodb_strict_mode. modified: storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog storage/innodb_plugin/dict/dict0crea.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0crea.c storage/innodb_plugin/handler/ha_innodb.cc 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fhandler%2Fha_innodb.cc storage/innodb_plugin/include/trx0trx.h 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Ftrx0trx.h ------------------------------------------------------------ revno: 3404 revision-id: marko.makela@oracle.com-20100420082908-tpako8jd4imkh1xb parent: marko.makela@oracle.com-20100419103603-u5pz4qc6hfhx4nua committer: Marko M?kel? <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2010-04-20 11:29:08 +0300 message: Implement UNIV_BTR_AVOID_COPY, an optimization of page splits. modified: storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog storage/innodb_plugin/btr/btr0btr.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0btr.c storage/innodb_plugin/include/univ.i 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Funiv.i ------------------------------------------------------------ revno: 3403 revision-id: marko.makela@oracle.com-20100419103603-u5pz4qc6hfhx4nua parent: marko.makela@oracle.com-20100419094405-fd3xwadullishv07 committer: Marko =?ISO-8859-1?Q?M=E4kel=E4?= <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Mon 2010-04-19 13:36:03 +0300 message: Enable UNIV_DEBUG_VALGRIND when HAVE_purify is set. modified: storage/innobase/include/univ.i 2@cee13dc7-1704-0410-992b-c9b4543f1246:trunk%2Finclude%2Funiv.i storage/innodb_plugin/include/univ.i 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Funiv.i
345 lines
11 KiB
Plaintext
345 lines
11 KiB
Plaintext
-- source include/have_innodb.inc
|
|
|
|
let $per_table=`select @@innodb_file_per_table`;
|
|
let $format=`select @@innodb_file_format`;
|
|
let $innodb_file_format_check_orig=`select @@innodb_file_format_check`;
|
|
set global innodb_file_per_table=off;
|
|
set global innodb_file_format=`0`;
|
|
|
|
create table t0(a int primary key) engine=innodb row_format=compressed;
|
|
create table t00(a int primary key) engine=innodb
|
|
key_block_size=4 row_format=compressed;
|
|
create table t1(a int primary key) engine=innodb row_format=dynamic;
|
|
create table t2(a int primary key) engine=innodb row_format=redundant;
|
|
create table t3(a int primary key) engine=innodb row_format=compact;
|
|
create table t4(a int primary key) engine=innodb key_block_size=9;
|
|
create table t5(a int primary key) engine=innodb
|
|
key_block_size=1 row_format=redundant;
|
|
|
|
set global innodb_file_per_table=on;
|
|
create table t6(a int primary key) engine=innodb
|
|
key_block_size=1 row_format=redundant;
|
|
set global innodb_file_format=`1`;
|
|
create table t7(a int primary key) engine=innodb
|
|
key_block_size=1 row_format=redundant;
|
|
create table t8(a int primary key) engine=innodb
|
|
key_block_size=1 row_format=fixed;
|
|
create table t9(a int primary key) engine=innodb
|
|
key_block_size=1 row_format=compact;
|
|
create table t10(a int primary key) engine=innodb
|
|
key_block_size=1 row_format=dynamic;
|
|
create table t11(a int primary key) engine=innodb
|
|
key_block_size=1 row_format=compressed;
|
|
create table t12(a int primary key) engine=innodb
|
|
key_block_size=1;
|
|
create table t13(a int primary key) engine=innodb
|
|
row_format=compressed;
|
|
create table t14(a int primary key) engine=innodb key_block_size=9;
|
|
|
|
SELECT table_schema, table_name, row_format
|
|
FROM information_schema.tables WHERE engine='innodb';
|
|
|
|
drop table t0,t00,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14;
|
|
alter table t1 key_block_size=0;
|
|
alter table t1 row_format=dynamic;
|
|
SELECT table_schema, table_name, row_format
|
|
FROM information_schema.tables WHERE engine='innodb';
|
|
alter table t1 row_format=compact;
|
|
SELECT table_schema, table_name, row_format
|
|
FROM information_schema.tables WHERE engine='innodb';
|
|
alter table t1 row_format=redundant;
|
|
SELECT table_schema, table_name, row_format
|
|
FROM information_schema.tables WHERE engine='innodb';
|
|
drop table t1;
|
|
|
|
create table t1(a int not null, b text, index(b(10))) engine=innodb
|
|
key_block_size=1;
|
|
|
|
create table t2(b text)engine=innodb;
|
|
insert into t2 values(concat('1abcdefghijklmnopqrstuvwxyz', repeat('A',5000)));
|
|
|
|
insert into t1 select 1, b from t2;
|
|
commit;
|
|
|
|
connect (a,localhost,root,,);
|
|
connect (b,localhost,root,,);
|
|
|
|
connection a;
|
|
begin;
|
|
update t1 set b=repeat('B',100);
|
|
|
|
connection b;
|
|
select a,left(b,40) from t1 natural join t2;
|
|
|
|
connection a;
|
|
rollback;
|
|
|
|
connection b;
|
|
select a,left(b,40) from t1 natural join t2;
|
|
|
|
connection default;
|
|
disconnect a;
|
|
disconnect b;
|
|
|
|
SELECT table_schema, table_name, row_format
|
|
FROM information_schema.tables WHERE engine='innodb';
|
|
drop table t1,t2;
|
|
|
|
# The following should fail in non-strict mode too.
|
|
# (The fix of Bug #50945 only affects REDUNDANT and COMPACT tables.)
|
|
SET SESSION innodb_strict_mode = off;
|
|
--error ER_TOO_BIG_ROWSIZE
|
|
CREATE TABLE t1(
|
|
c TEXT NOT NULL, d TEXT NOT NULL,
|
|
PRIMARY KEY (c(767),d(767)))
|
|
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
|
--error ER_TOO_BIG_ROWSIZE
|
|
CREATE TABLE t1(
|
|
c TEXT NOT NULL, d TEXT NOT NULL,
|
|
PRIMARY KEY (c(767),d(767)))
|
|
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 CHARSET=ASCII;
|
|
CREATE TABLE t1(
|
|
c TEXT NOT NULL, d TEXT NOT NULL,
|
|
PRIMARY KEY (c(767),d(767)))
|
|
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4 CHARSET=ASCII;
|
|
drop table t1;
|
|
--error ER_TOO_BIG_ROWSIZE
|
|
CREATE TABLE t1(c TEXT, PRIMARY KEY (c(440)))
|
|
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
|
CREATE TABLE t1(c TEXT, PRIMARY KEY (c(438)))
|
|
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
|
INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
|
|
DROP TABLE t1;
|
|
|
|
#
|
|
# Test blob column inheritance (mantis issue#36)
|
|
#
|
|
|
|
create table t1( c1 int not null, c2 blob, c3 blob, c4 blob,
|
|
primary key(c1, c2(22), c3(22)))
|
|
engine = innodb row_format = dynamic;
|
|
begin;
|
|
insert into t1 values(1, repeat('A', 20000), repeat('B', 20000),
|
|
repeat('C', 20000));
|
|
|
|
update t1 set c3 = repeat('D', 20000) where c1 = 1;
|
|
commit;
|
|
|
|
# one blob column which is unchanged in update and part of PK
|
|
# one blob column which is changed and part of of PK
|
|
# one blob column which is not part of PK and is unchanged
|
|
select count(*) from t1 where c2 = repeat('A', 20000);
|
|
select count(*) from t1 where c3 = repeat('D', 20000);
|
|
select count(*) from t1 where c4 = repeat('C', 20000);
|
|
|
|
update t1 set c3 = repeat('E', 20000) where c1 = 1;
|
|
drop table t1;
|
|
|
|
#
|
|
#
|
|
# Test innodb_file_format
|
|
#
|
|
set global innodb_file_format=`0`;
|
|
select @@innodb_file_format;
|
|
set global innodb_file_format=`1`;
|
|
select @@innodb_file_format;
|
|
-- error ER_WRONG_VALUE_FOR_VAR
|
|
set global innodb_file_format=`2`;
|
|
-- error ER_WRONG_VALUE_FOR_VAR
|
|
set global innodb_file_format=`-1`;
|
|
set global innodb_file_format=`Antelope`;
|
|
set global innodb_file_format=`Barracuda`;
|
|
-- error ER_WRONG_VALUE_FOR_VAR
|
|
set global innodb_file_format=`Cheetah`;
|
|
-- error ER_WRONG_VALUE_FOR_VAR
|
|
set global innodb_file_format=`abc`;
|
|
-- error ER_WRONG_VALUE_FOR_VAR
|
|
set global innodb_file_format=`1a`;
|
|
-- error ER_WRONG_VALUE_FOR_VAR
|
|
set global innodb_file_format=``;
|
|
|
|
#test strict mode.
|
|
# this does not work anymore, has been removed from mysqltest
|
|
# -- enable_errors
|
|
set global innodb_file_per_table = on;
|
|
set global innodb_file_format = `1`;
|
|
|
|
set innodb_strict_mode = off;
|
|
create table t1 (id int primary key) engine = innodb key_block_size = 0;
|
|
drop table t1;
|
|
|
|
#set strict_mode
|
|
set innodb_strict_mode = on;
|
|
|
|
#Test different values of KEY_BLOCK_SIZE
|
|
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t1 (id int primary key) engine = innodb key_block_size = 0;
|
|
show warnings;
|
|
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t2 (id int primary key) engine = innodb key_block_size = 9;
|
|
show warnings;
|
|
|
|
|
|
create table t3 (id int primary key) engine = innodb key_block_size = 1;
|
|
create table t4 (id int primary key) engine = innodb key_block_size = 2;
|
|
create table t5 (id int primary key) engine = innodb key_block_size = 4;
|
|
create table t6 (id int primary key) engine = innodb key_block_size = 8;
|
|
create table t7 (id int primary key) engine = innodb key_block_size = 16;
|
|
|
|
#check various ROW_FORMAT values.
|
|
create table t8 (id int primary key) engine = innodb row_format = compressed;
|
|
create table t9 (id int primary key) engine = innodb row_format = dynamic;
|
|
create table t10(id int primary key) engine = innodb row_format = compact;
|
|
create table t11(id int primary key) engine = innodb row_format = redundant;
|
|
|
|
SELECT table_schema, table_name, row_format
|
|
FROM information_schema.tables WHERE engine='innodb';
|
|
drop table t3, t4, t5, t6, t7, t8, t9, t10, t11;
|
|
|
|
#test different values of ROW_FORMAT with KEY_BLOCK_SIZE
|
|
create table t1 (id int primary key) engine = innodb
|
|
key_block_size = 8 row_format = compressed;
|
|
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t2 (id int primary key) engine = innodb
|
|
key_block_size = 8 row_format = redundant;
|
|
show warnings;
|
|
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t3 (id int primary key) engine = innodb
|
|
key_block_size = 8 row_format = compact;
|
|
show warnings;
|
|
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t4 (id int primary key) engine = innodb
|
|
key_block_size = 8 row_format = dynamic;
|
|
show warnings;
|
|
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t5 (id int primary key) engine = innodb
|
|
key_block_size = 8 row_format = default;
|
|
show warnings;
|
|
|
|
SELECT table_schema, table_name, row_format
|
|
FROM information_schema.tables WHERE engine='innodb';
|
|
drop table t1;
|
|
|
|
#test multiple errors
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t1 (id int primary key) engine = innodb
|
|
key_block_size = 9 row_format = redundant;
|
|
show warnings;
|
|
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t2 (id int primary key) engine = innodb
|
|
key_block_size = 9 row_format = compact;
|
|
show warnings;
|
|
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t2 (id int primary key) engine = innodb
|
|
key_block_size = 9 row_format = dynamic;
|
|
show warnings;
|
|
|
|
SELECT table_schema, table_name, row_format
|
|
FROM information_schema.tables WHERE engine='innodb';
|
|
|
|
#test valid values with innodb_file_per_table unset
|
|
set global innodb_file_per_table = off;
|
|
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t1 (id int primary key) engine = innodb key_block_size = 1;
|
|
show warnings;
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t2 (id int primary key) engine = innodb key_block_size = 2;
|
|
show warnings;
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t3 (id int primary key) engine = innodb key_block_size = 4;
|
|
show warnings;
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t4 (id int primary key) engine = innodb key_block_size = 8;
|
|
show warnings;
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t5 (id int primary key) engine = innodb key_block_size = 16;
|
|
show warnings;
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t6 (id int primary key) engine = innodb row_format = compressed;
|
|
show warnings;
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t7 (id int primary key) engine = innodb row_format = dynamic;
|
|
show warnings;
|
|
create table t8 (id int primary key) engine = innodb row_format = compact;
|
|
create table t9 (id int primary key) engine = innodb row_format = redundant;
|
|
|
|
SELECT table_schema, table_name, row_format
|
|
FROM information_schema.tables WHERE engine='innodb';
|
|
drop table t8, t9;
|
|
|
|
#test valid values with innodb_file_format unset
|
|
set global innodb_file_per_table = on;
|
|
set global innodb_file_format = `0`;
|
|
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t1 (id int primary key) engine = innodb key_block_size = 1;
|
|
show warnings;
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t2 (id int primary key) engine = innodb key_block_size = 2;
|
|
show warnings;
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t3 (id int primary key) engine = innodb key_block_size = 4;
|
|
show warnings;
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t4 (id int primary key) engine = innodb key_block_size = 8;
|
|
show warnings;
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t5 (id int primary key) engine = innodb key_block_size = 16;
|
|
show warnings;
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t6 (id int primary key) engine = innodb row_format = compressed;
|
|
show warnings;
|
|
--error ER_CANT_CREATE_TABLE
|
|
create table t7 (id int primary key) engine = innodb row_format = dynamic;
|
|
show warnings;
|
|
create table t8 (id int primary key) engine = innodb row_format = compact;
|
|
create table t9 (id int primary key) engine = innodb row_format = redundant;
|
|
|
|
SELECT table_schema, table_name, row_format
|
|
FROM information_schema.tables WHERE engine='innodb';
|
|
drop table t8, t9;
|
|
|
|
eval set global innodb_file_per_table=$per_table;
|
|
eval set global innodb_file_format=$format;
|
|
#
|
|
# Testing of tablespace tagging
|
|
#
|
|
-- disable_info
|
|
set global innodb_file_per_table=on;
|
|
set global innodb_file_format=`Barracuda`;
|
|
set global innodb_file_format_check=`Antelope`;
|
|
create table normal_table (
|
|
c1 int
|
|
) engine = innodb;
|
|
select @@innodb_file_format_check;
|
|
create table zip_table (
|
|
c1 int
|
|
) engine = innodb key_block_size = 8;
|
|
select @@innodb_file_format_check;
|
|
set global innodb_file_format_check=`Antelope`;
|
|
select @@innodb_file_format_check;
|
|
-- disable_result_log
|
|
show table status;
|
|
-- enable_result_log
|
|
select @@innodb_file_format_check;
|
|
drop table normal_table, zip_table;
|
|
-- disable_result_log
|
|
|
|
#
|
|
# restore environment to the state it was before this test execution
|
|
#
|
|
|
|
-- disable_query_log
|
|
eval set global innodb_file_format=$format;
|
|
eval set global innodb_file_per_table=$per_table;
|
|
eval set global innodb_file_format_check=$innodb_file_format_check_orig;
|