mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Merge branch '10.1' of github.com:MariaDB/server into 10.1
This commit is contained in:
commit
0319304893
14 changed files with 125 additions and 32 deletions
|
@ -87,6 +87,17 @@ The following options may be given as the first argument:
|
|||
The maximum size of a row-based binary log event in
|
||||
bytes. Rows will be grouped into events smaller than this
|
||||
size if possible. The value has to be a multiple of 256.
|
||||
--binlog-row-image=name
|
||||
Controls whether rows should be logged in 'FULL',
|
||||
'NOBLOB' or 'MINIMAL' formats. 'FULL', means that all
|
||||
columns in the before and after image are logged.
|
||||
'NOBLOB', means that mysqld avoids logging blob columns
|
||||
whenever possible (eg, blob column was not changed or is
|
||||
not part of primary key). 'MINIMAL', means that a PK
|
||||
equivalent (PK columns or full row if there is no PK in
|
||||
the table) is logged in the before image, and only
|
||||
changed columns are logged in the after image. (Default:
|
||||
FULL).
|
||||
--binlog-stmt-cache-size=#
|
||||
The size of the statement cache for updates to
|
||||
non-transactional engines for the binary log. If you
|
||||
|
@ -1127,6 +1138,7 @@ binlog-direct-non-transactional-updates FALSE
|
|||
binlog-format STATEMENT
|
||||
binlog-optimize-thread-scheduling TRUE
|
||||
binlog-row-event-max-size 1024
|
||||
binlog-row-image FULL
|
||||
binlog-stmt-cache-size 32768
|
||||
bulk-insert-buffer-size 8388608
|
||||
changed-page-bitmaps ON
|
||||
|
|
|
@ -2243,4 +2243,28 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
|||
Warnings:
|
||||
Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t2` where 0
|
||||
drop table t1,t2;
|
||||
#
|
||||
# Start of 10.1 tests
|
||||
#
|
||||
#
|
||||
# MDEV-8189 field<>const and const<>field are not symmetric
|
||||
#
|
||||
CREATE TABLE t1 (a INT, b INT, KEY(a));
|
||||
INSERT INTO t1 (a) VALUES (10),(10),(10),(10),(10),(10),(10),(10),(10),(10),(70);
|
||||
EXPLAIN SELECT * FROM t1 WHERE a<>10;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 3 Using index condition; Rowid-ordered scan
|
||||
EXPLAIN SELECT * FROM t1 WHERE 10<>a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 3 Using index condition; Rowid-ordered scan
|
||||
SELECT * FROM t1 WHERE a<>10;
|
||||
a b
|
||||
70 NULL
|
||||
SELECT * FROM t1 WHERE 10<>a;
|
||||
a b
|
||||
70 NULL
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.1 tests
|
||||
#
|
||||
set optimizer_switch=@mrr_icp_extra_tmp;
|
||||
|
|
|
@ -1,12 +1,27 @@
|
|||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SET GLOBAL innodb_file_per_table = ON;
|
||||
create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=2;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=3;
|
||||
ERROR HY000: Can't create table `test`.`innodb_dynamic` (errno: 140 "Wrong create options")
|
||||
show warnings;
|
||||
Level Code Message
|
||||
Warning 140 InnoDB: ENCRYPTION_KEY_ID 3 not available
|
||||
Error 1005 Can't create table `test`.`innodb_dynamic` (errno: 140 "Wrong create options")
|
||||
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
|
||||
create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=33;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=4;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
set innodb_default_encryption_key_id = 5;
|
||||
create table innodb_defkey(c1 bigint not null, b char(200)) engine=innodb encrypted=yes;
|
||||
show create table innodb_defkey;
|
||||
|
|
|
@ -2,7 +2,11 @@ SET GLOBAL innodb_file_format = `Barracuda`;
|
|||
SET GLOBAL innodb_file_per_table = ON;
|
||||
set global innodb_compression_algorithm = 1;
|
||||
create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb page_compressed=1;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1 page_compressed=1;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=2 page_compressed=1;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
|
|
|
@ -4,10 +4,20 @@ call mtr.add_suppression("InnoDB: Redo log crypto: Can't initialize to key versi
|
|||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SET GLOBAL innodb_file_per_table = ON;
|
||||
create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=2;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=33;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=4;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
show create table innodb_compact;
|
||||
Table Create Table
|
||||
innodb_compact CREATE TABLE `innodb_compact` (
|
||||
|
|
|
@ -2,10 +2,20 @@
|
|||
SET GLOBAL innodb_file_format = `Barracuda`;
|
||||
SET GLOBAL innodb_file_per_table = ON;
|
||||
create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=2;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=3;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=4;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=5;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
insert into innodb_normal values (1,'test1'),(2,'foo'),(3,'bar'),(4,'mariadb');
|
||||
insert into innodb_compact select * from innodb_normal;
|
||||
insert into innodb_compressed select * from innodb_normal;
|
||||
|
|
|
@ -10,12 +10,18 @@ SET GLOBAL innodb_file_format = `Barracuda`;
|
|||
SET GLOBAL innodb_file_per_table = ON;
|
||||
|
||||
create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
|
||||
show warnings;
|
||||
create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1;
|
||||
show warnings;
|
||||
create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=2;
|
||||
show warnings;
|
||||
--error ER_CANT_CREATE_TABLE
|
||||
create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=3;
|
||||
show warnings;
|
||||
create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=33;
|
||||
show warnings;
|
||||
create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=4;
|
||||
show warnings;
|
||||
|
||||
set innodb_default_encryption_key_id = 5;
|
||||
create table innodb_defkey(c1 bigint not null, b char(200)) engine=innodb encrypted=yes;
|
||||
|
|
|
@ -15,7 +15,9 @@ SET GLOBAL innodb_file_per_table = ON;
|
|||
set global innodb_compression_algorithm = 1;
|
||||
|
||||
create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb page_compressed=1;
|
||||
show warnings;
|
||||
create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1 page_compressed=1;
|
||||
show warnings;
|
||||
create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=2 page_compressed=1;
|
||||
show warnings;
|
||||
|
||||
|
|
|
@ -15,10 +15,15 @@ SET GLOBAL innodb_file_format = `Barracuda`;
|
|||
SET GLOBAL innodb_file_per_table = ON;
|
||||
|
||||
create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
|
||||
show warnings;
|
||||
create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=1;
|
||||
show warnings;
|
||||
create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=2;
|
||||
show warnings;
|
||||
create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=33;
|
||||
show warnings;
|
||||
create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=4;
|
||||
show warnings;
|
||||
|
||||
show create table innodb_compact;
|
||||
show create table innodb_compressed;
|
||||
|
|
|
@ -16,10 +16,15 @@ SET GLOBAL innodb_file_format = `Barracuda`;
|
|||
SET GLOBAL innodb_file_per_table = ON;
|
||||
|
||||
create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb;
|
||||
show warnings;
|
||||
create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact encrypted=yes encryption_key_id=2;
|
||||
show warnings;
|
||||
create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed encrypted=yes encryption_key_id=3;
|
||||
show warnings;
|
||||
create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic encrypted=yes encryption_key_id=4;
|
||||
show warnings;
|
||||
create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant encrypted=yes encryption_key_id=5;
|
||||
show warnings;
|
||||
|
||||
insert into innodb_normal values (1,'test1'),(2,'foo'),(3,'bar'),(4,'mariadb');
|
||||
insert into innodb_compact select * from innodb_normal;
|
||||
|
|
|
@ -11398,12 +11398,12 @@ ha_innobase::check_table_options(
|
|||
|
||||
if (encrypt == FIL_SPACE_ENCRYPTION_ON ||
|
||||
(encrypt == FIL_SPACE_ENCRYPTION_DEFAULT && srv_encrypt_tables)) {
|
||||
if (!encryption_key_id_exists(options->encryption_key_id)) {
|
||||
if (!encryption_key_id_exists((unsigned int)options->encryption_key_id)) {
|
||||
push_warning_printf(
|
||||
thd, Sql_condition::WARN_LEVEL_WARN,
|
||||
HA_WRONG_CREATE_OPTION,
|
||||
"InnoDB: ENCRYPTION_KEY_ID %lu not available",
|
||||
options->encryption_key_id
|
||||
"InnoDB: ENCRYPTION_KEY_ID %u not available",
|
||||
(uint)options->encryption_key_id
|
||||
);
|
||||
return "ENCRYPTION_KEY_ID";
|
||||
}
|
||||
|
@ -11469,7 +11469,7 @@ ha_innobase::create(
|
|||
/* Cache table options */
|
||||
ha_table_option_struct *options= form->s->option_struct;
|
||||
fil_encryption_t encrypt = (fil_encryption_t)options->encryption;
|
||||
ulint key_id = options->encryption_key_id;
|
||||
uint key_id = (uint)options->encryption_key_id;
|
||||
|
||||
DBUG_ENTER("ha_innobase::create");
|
||||
|
||||
|
|
|
@ -60,18 +60,18 @@ struct row_prebuilt_t;
|
|||
/** Engine specific table options are defined using this struct */
|
||||
struct ha_table_option_struct
|
||||
{
|
||||
bool page_compressed; /*!< Table is using page compression
|
||||
if this option is true. */
|
||||
int page_compression_level; /*!< Table page compression level
|
||||
or UNIV_UNSPECIFIED. */
|
||||
uint atomic_writes; /*!< Use atomic writes for this
|
||||
table if this options is ON or
|
||||
in DEFAULT if
|
||||
srv_use_atomic_writes=1.
|
||||
Atomic writes are not used if
|
||||
value OFF.*/
|
||||
uint encryption; /*!< DEFAULT, ON, OFF */
|
||||
int encryption_key_id; /*!< encryption key id*/
|
||||
bool page_compressed; /*!< Table is using page compression
|
||||
if this option is true. */
|
||||
ulonglong page_compression_level; /*!< Table page compression level
|
||||
0-9. */
|
||||
uint atomic_writes; /*!< Use atomic writes for this
|
||||
table if this options is ON or
|
||||
in DEFAULT if
|
||||
srv_use_atomic_writes=1.
|
||||
Atomic writes are not used if
|
||||
value OFF.*/
|
||||
uint encryption; /*!< DEFAULT, ON, OFF */
|
||||
ulonglong encryption_key_id; /*!< encryption key id */
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -11915,12 +11915,12 @@ ha_innobase::check_table_options(
|
|||
|
||||
if (encrypt == FIL_SPACE_ENCRYPTION_ON ||
|
||||
(encrypt == FIL_SPACE_ENCRYPTION_DEFAULT && srv_encrypt_tables)) {
|
||||
if (!encryption_key_id_exists(options->encryption_key_id)) {
|
||||
if (!encryption_key_id_exists((unsigned int)options->encryption_key_id)) {
|
||||
push_warning_printf(
|
||||
thd, Sql_condition::WARN_LEVEL_WARN,
|
||||
HA_WRONG_CREATE_OPTION,
|
||||
"InnoDB: ENCRYPTION_KEY_ID %lu not available",
|
||||
options->encryption_key_id
|
||||
"InnoDB: ENCRYPTION_KEY_ID %u not available",
|
||||
(uint)options->encryption_key_id
|
||||
);
|
||||
return "ENCRYPTION_KEY_ID";
|
||||
|
||||
|
@ -11987,7 +11987,7 @@ ha_innobase::create(
|
|||
/* Cache table options */
|
||||
ha_table_option_struct *options= form->s->option_struct;
|
||||
fil_encryption_t encrypt = (fil_encryption_t)options->encryption;
|
||||
ulint key_id = options->encryption_key_id;
|
||||
uint key_id = (uint)options->encryption_key_id;
|
||||
|
||||
DBUG_ENTER("ha_innobase::create");
|
||||
|
||||
|
|
|
@ -61,18 +61,18 @@ struct row_prebuilt_t;
|
|||
/** Engine specific table options are defined using this struct */
|
||||
struct ha_table_option_struct
|
||||
{
|
||||
bool page_compressed; /*!< Table is using page compression
|
||||
if this option is true. */
|
||||
int page_compression_level; /*!< Table page compression level
|
||||
or UNIV_UNSPECIFIED. */
|
||||
uint atomic_writes; /*!< Use atomic writes for this
|
||||
table if this options is ON or
|
||||
in DEFAULT if
|
||||
srv_use_atomic_writes=1.
|
||||
Atomic writes are not used if
|
||||
value OFF.*/
|
||||
uint encryption; /*!< DEFAULT, ON, OFF */
|
||||
int encryption_key_id; /*!< encryption key id */
|
||||
bool page_compressed; /*!< Table is using page compression
|
||||
if this option is true. */
|
||||
ulonglong page_compression_level; /*!< Table page compression level
|
||||
0-9. */
|
||||
uint atomic_writes; /*!< Use atomic writes for this
|
||||
table if this options is ON or
|
||||
in DEFAULT if
|
||||
srv_use_atomic_writes=1.
|
||||
Atomic writes are not used if
|
||||
value OFF.*/
|
||||
uint encryption; /*!< DEFAULT, ON, OFF */
|
||||
ulonglong encryption_key_id; /*!< encryption key id */
|
||||
};
|
||||
|
||||
/** The class defining a handle to an Innodb table */
|
||||
|
|
Loading…
Reference in a new issue