Commit 5a86a612 authored by Michael Widenius's avatar Michael Widenius

Fixed wrong error codes from InnoDB/XtraDB that caused %M to give system...

Fixed wrong error codes from InnoDB/XtraDB that caused %M to give system dependent error messages (for unknown error code)
- InnoDB now returns handler specific HA_WRONG_CREATE_OPTION instead of MySQL specific ER_ILLEGAL_HA_CREATE_OPTION
- This changes the user level error message from "Unknown error" to "Wrong create options"


mysql-test/r/lowercase_table2.result:
  Updated result file
mysql-test/r/partition_innodb_plugin.result:
  Updated to new error message
mysql-test/r/partition_open_files_limit.result:
  Updated result file
mysql-test/r/row-checksum-old.result:
  Updated to new error message
mysql-test/r/row-checksum.result:
  Updated to new error message
mysql-test/r/symlink.result:
  Updated result file
mysql-test/suite/innodb/r/innodb-create-options.result:
  Updated to new error message
mysql-test/suite/innodb/r/innodb-zip.result:
  Updated to new error message
mysql-test/suite/innodb/r/innodb.result:
  Updated to new error message
storage/innobase/handler/ha_innodb.cc:
  Return HA_WRONG_CREATE_OPTION instead of ER_ILLEGAL_HA_CREATE_OPTION
  This gives more clear and OS indepedent error messages
storage/xtradb/handler/ha_innodb.cc:
  Return HA_WRONG_CREATE_OPTION instead of ER_ILLEGAL_HA_CREATE_OPTION
  This gives more clear and OS indepedent error messages
parent f27c26e9
...@@ -272,7 +272,7 @@ Database Table In_use Name_locked ...@@ -272,7 +272,7 @@ Database Table In_use Name_locked
test t_bug44738_uppercase 0 0 test t_bug44738_uppercase 0 0
# So attempt to create table with the same name should fail. # So attempt to create table with the same name should fail.
create table t_bug44738_UPPERCASE (i int); create table t_bug44738_UPPERCASE (i int);
ERROR HY000: Can't find file: 't_bug44738_uppercase' (errno: 2) ERROR HY000: Can't find file: 't_bug44738_uppercase' (errno: 2 "No such file or directory")
# And should succeed after FLUSH TABLES. # And should succeed after FLUSH TABLES.
flush tables; flush tables;
create table t_bug44738_UPPERCASE (i int); create table t_bug44738_UPPERCASE (i int);
......
...@@ -67,7 +67,7 @@ LOCK TABLE t1 WRITE; ...@@ -67,7 +67,7 @@ LOCK TABLE t1 WRITE;
# ALTER fails because COMPRESSED/KEY_BLOCK_SIZE # ALTER fails because COMPRESSED/KEY_BLOCK_SIZE
# are incompatible with innodb_file_per_table = OFF; # are incompatible with innodb_file_per_table = OFF;
ALTER TABLE t1 ADD PARTITION PARTITIONS 1; ALTER TABLE t1 ADD PARTITION PARTITIONS 1;
ERROR HY000: Got error 1478 "Unknown error 1478" from storage engine ERROR HY000: Got error 140 "Wrong create options" from storage engine
t1#P#p0.ibd t1#P#p0.ibd
t1.frm t1.frm
t1.par t1.par
...@@ -76,18 +76,18 @@ t1.par ...@@ -76,18 +76,18 @@ t1.par
SET innodb_strict_mode = OFF; SET innodb_strict_mode = OFF;
ALTER TABLE t1 ADD PARTITION PARTITIONS 2; ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
Warnings: Warnings:
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table. Warning 140 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4. Warning 140 InnoDB: ignoring KEY_BLOCK_SIZE=4.
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table. Warning 140 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4. Warning 140 InnoDB: ignoring KEY_BLOCK_SIZE=4.
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table. Warning 140 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4. Warning 140 InnoDB: ignoring KEY_BLOCK_SIZE=4.
t1.frm t1.frm
t1.par t1.par
ALTER TABLE t1 REBUILD PARTITION p0; ALTER TABLE t1 REBUILD PARTITION p0;
Warnings: Warnings:
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table. Warning 140 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4. Warning 140 InnoDB: ignoring KEY_BLOCK_SIZE=4.
UNLOCK TABLES; UNLOCK TABLES;
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
Table Create Table Table Create Table
......
...@@ -5,7 +5,7 @@ ENGINE=MyISAM PARTITION BY KEY () PARTITIONS 1; ...@@ -5,7 +5,7 @@ ENGINE=MyISAM PARTITION BY KEY () PARTITIONS 1;
INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11); INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
# if the bug exists, then crash will happen here # if the bug exists, then crash will happen here
ALTER TABLE t1 ADD PARTITION PARTITIONS 511; ALTER TABLE t1 ADD PARTITION PARTITIONS 511;
ERROR HY000: Out of resources when opening file '<partition file>' (Errcode: 24 - Too many open files) ERROR HY000: Out of resources when opening file '<partition file>' (Errcode: 24 "Too many open files")
SELECT * FROM t1; SELECT * FROM t1;
a a
1 1
......
...@@ -73,7 +73,7 @@ test.t1 4108368782 ...@@ -73,7 +73,7 @@ test.t1 4108368782
drop table if exists t1; drop table if exists t1;
create table t1 (a int null, v varchar(100)) engine=innodb checksum=0 row_format=fixed; create table t1 (a int null, v varchar(100)) engine=innodb checksum=0 row_format=fixed;
Warnings: Warnings:
Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT. Warning 140 InnoDB: assuming ROW_FORMAT=COMPACT.
insert into t1 values(null, null), (1, "hello"); insert into t1 values(null, null), (1, "hello");
checksum table t1; checksum table t1;
Table Checksum Table Checksum
......
...@@ -73,7 +73,7 @@ test.t1 3885665021 ...@@ -73,7 +73,7 @@ test.t1 3885665021
drop table if exists t1; drop table if exists t1;
create table t1 (a int null, v varchar(100)) engine=innodb checksum=0 row_format=fixed; create table t1 (a int null, v varchar(100)) engine=innodb checksum=0 row_format=fixed;
Warnings: Warnings:
Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT. Warning 140 InnoDB: assuming ROW_FORMAT=COMPACT.
insert into t1 values(null, null), (1, "hello"); insert into t1 values(null, null), (1, "hello");
checksum table t1; checksum table t1;
Table Checksum Table Checksum
......
...@@ -120,7 +120,7 @@ CREATE TABLE t2(a INT) ...@@ -120,7 +120,7 @@ CREATE TABLE t2(a INT)
DATA DIRECTORY='TEST_DIR/tmp' DATA DIRECTORY='TEST_DIR/tmp'
INDEX DIRECTORY='TEST_DIR/tmp'; INDEX DIRECTORY='TEST_DIR/tmp';
RENAME TABLE t2 TO t1; RENAME TABLE t2 TO t1;
ERROR HY000: Can't create/write to file 'TEST_DIR/tmp/t1.MYI' (Errcode: 17 - File exists) ERROR HY000: Can't create/write to file 'TEST_DIR/tmp/t1.MYI' (Errcode: 17 "File exists")
DROP TABLE t2; DROP TABLE t2;
create temporary table t1 (a int) engine=myisam data directory="MYSQLTEST_VARDIR/log" select 9 a; create temporary table t1 (a int) engine=myisam data directory="MYSQLTEST_VARDIR/log" select 9 a;
show create table t1; show create table t1;
...@@ -167,7 +167,7 @@ INDEX DIRECTORY='MYSQLD_DATADIR'; ...@@ -167,7 +167,7 @@ INDEX DIRECTORY='MYSQLD_DATADIR';
DROP TABLE IF EXISTS t1; DROP TABLE IF EXISTS t1;
CREATE TABLE t1(a INT) CREATE TABLE t1(a INT)
INDEX DIRECTORY='TEST_DIR/master-data_var'; INDEX DIRECTORY='TEST_DIR/master-data_var';
ERROR HY000: Can't create/write to file 'TEST_DIR/master-data_var/t1.MYI' (Errcode: 2 - No such file or directory) ERROR HY000: Can't create/write to file 'TEST_DIR/master-data_var/t1.MYI' (Errcode: 2 "No such file or directory")
SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE='NO_DIR_IN_CREATE'; SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE='NO_DIR_IN_CREATE';
CREATE TABLE t1(a INT) DATA DIRECTORY='MYSQLTEST_VARDIR/tmp' INDEX DIRECTORY='MYSQLTEST_VARDIR/tmp'; CREATE TABLE t1(a INT) DATA DIRECTORY='MYSQLTEST_VARDIR/tmp' INDEX DIRECTORY='MYSQLTEST_VARDIR/tmp';
Warnings: Warnings:
......
This diff is collapsed.
...@@ -2259,7 +2259,7 @@ t1 CREATE TABLE `t1` ( ...@@ -2259,7 +2259,7 @@ t1 CREATE TABLE `t1` (
drop table t1; drop table t1;
create table t1 (v varchar(10), c char(10)) row_format=fixed; create table t1 (v varchar(10), c char(10)) row_format=fixed;
Warnings: Warnings:
Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT. Warning 140 InnoDB: assuming ROW_FORMAT=COMPACT.
show create table t1; show create table t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
......
...@@ -6869,7 +6869,7 @@ get_row_format_name( ...@@ -6869,7 +6869,7 @@ get_row_format_name(
if (!srv_file_per_table) { \ if (!srv_file_per_table) { \
push_warning_printf( \ push_warning_printf( \
thd, MYSQL_ERROR::WARN_LEVEL_WARN, \ thd, MYSQL_ERROR::WARN_LEVEL_WARN, \
ER_ILLEGAL_HA_CREATE_OPTION, \ HA_WRONG_CREATE_OPTION, \
"InnoDB: ROW_FORMAT=%s requires" \ "InnoDB: ROW_FORMAT=%s requires" \
" innodb_file_per_table.", \ " innodb_file_per_table.", \
get_row_format_name(row_format)); \ get_row_format_name(row_format)); \
...@@ -6881,7 +6881,7 @@ get_row_format_name( ...@@ -6881,7 +6881,7 @@ get_row_format_name(
if (srv_file_format < DICT_TF_FORMAT_ZIP) { \ if (srv_file_format < DICT_TF_FORMAT_ZIP) { \
push_warning_printf( \ push_warning_printf( \
thd, MYSQL_ERROR::WARN_LEVEL_WARN, \ thd, MYSQL_ERROR::WARN_LEVEL_WARN, \
ER_ILLEGAL_HA_CREATE_OPTION, \ HA_WRONG_CREATE_OPTION, \
"InnoDB: ROW_FORMAT=%s requires" \ "InnoDB: ROW_FORMAT=%s requires" \
" innodb_file_format > Antelope.", \ " innodb_file_format > Antelope.", \
get_row_format_name(row_format)); \ get_row_format_name(row_format)); \
...@@ -6931,7 +6931,7 @@ create_options_are_valid( ...@@ -6931,7 +6931,7 @@ create_options_are_valid(
if (!srv_file_per_table) { if (!srv_file_per_table) {
push_warning( push_warning(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: KEY_BLOCK_SIZE requires" "InnoDB: KEY_BLOCK_SIZE requires"
" innodb_file_per_table."); " innodb_file_per_table.");
ret = FALSE; ret = FALSE;
...@@ -6939,7 +6939,7 @@ create_options_are_valid( ...@@ -6939,7 +6939,7 @@ create_options_are_valid(
if (srv_file_format < DICT_TF_FORMAT_ZIP) { if (srv_file_format < DICT_TF_FORMAT_ZIP) {
push_warning( push_warning(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: KEY_BLOCK_SIZE requires" "InnoDB: KEY_BLOCK_SIZE requires"
" innodb_file_format > Antelope."); " innodb_file_format > Antelope.");
ret = FALSE; ret = FALSE;
...@@ -6948,7 +6948,7 @@ create_options_are_valid( ...@@ -6948,7 +6948,7 @@ create_options_are_valid(
default: default:
push_warning_printf( push_warning_printf(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: invalid KEY_BLOCK_SIZE = %lu." "InnoDB: invalid KEY_BLOCK_SIZE = %lu."
" Valid values are [1, 2, 4, 8, 16]", " Valid values are [1, 2, 4, 8, 16]",
create_info->key_block_size); create_info->key_block_size);
...@@ -6973,7 +6973,7 @@ create_options_are_valid( ...@@ -6973,7 +6973,7 @@ create_options_are_valid(
if (kbs_specified) { if (kbs_specified) {
push_warning_printf( push_warning_printf(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: cannot specify ROW_FORMAT = %s" "InnoDB: cannot specify ROW_FORMAT = %s"
" with KEY_BLOCK_SIZE.", " with KEY_BLOCK_SIZE.",
get_row_format_name(row_format)); get_row_format_name(row_format));
...@@ -6987,7 +6987,7 @@ create_options_are_valid( ...@@ -6987,7 +6987,7 @@ create_options_are_valid(
case ROW_TYPE_NOT_USED: case ROW_TYPE_NOT_USED:
push_warning( push_warning(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, \ HA_WRONG_CREATE_OPTION, \
"InnoDB: invalid ROW_FORMAT specifier."); "InnoDB: invalid ROW_FORMAT specifier.");
ret = FALSE; ret = FALSE;
break; break;
...@@ -7090,7 +7090,7 @@ ha_innobase::create( ...@@ -7090,7 +7090,7 @@ ha_innobase::create(
/* Validate create options if innodb_strict_mode is set. */ /* Validate create options if innodb_strict_mode is set. */
if (!create_options_are_valid(thd, form, create_info)) { if (!create_options_are_valid(thd, form, create_info)) {
DBUG_RETURN(ER_ILLEGAL_HA_CREATE_OPTION); DBUG_RETURN(HA_WRONG_CREATE_OPTION);
} }
if (create_info->key_block_size) { if (create_info->key_block_size) {
...@@ -7116,7 +7116,7 @@ ha_innobase::create( ...@@ -7116,7 +7116,7 @@ ha_innobase::create(
if (!srv_file_per_table) { if (!srv_file_per_table) {
push_warning( push_warning(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: KEY_BLOCK_SIZE requires" "InnoDB: KEY_BLOCK_SIZE requires"
" innodb_file_per_table."); " innodb_file_per_table.");
flags = 0; flags = 0;
...@@ -7125,7 +7125,7 @@ ha_innobase::create( ...@@ -7125,7 +7125,7 @@ ha_innobase::create(
if (file_format < DICT_TF_FORMAT_ZIP) { if (file_format < DICT_TF_FORMAT_ZIP) {
push_warning( push_warning(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: KEY_BLOCK_SIZE requires" "InnoDB: KEY_BLOCK_SIZE requires"
" innodb_file_format > Antelope."); " innodb_file_format > Antelope.");
flags = 0; flags = 0;
...@@ -7134,7 +7134,7 @@ ha_innobase::create( ...@@ -7134,7 +7134,7 @@ ha_innobase::create(
if (!flags) { if (!flags) {
push_warning_printf( push_warning_printf(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: ignoring KEY_BLOCK_SIZE=%lu.", "InnoDB: ignoring KEY_BLOCK_SIZE=%lu.",
create_info->key_block_size); create_info->key_block_size);
} }
...@@ -7156,7 +7156,7 @@ ha_innobase::create( ...@@ -7156,7 +7156,7 @@ ha_innobase::create(
with ALTER TABLE anyway. */ with ALTER TABLE anyway. */
push_warning_printf( push_warning_printf(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: ignoring KEY_BLOCK_SIZE=%lu" "InnoDB: ignoring KEY_BLOCK_SIZE=%lu"
" unless ROW_FORMAT=COMPRESSED.", " unless ROW_FORMAT=COMPRESSED.",
create_info->key_block_size); create_info->key_block_size);
...@@ -7187,14 +7187,14 @@ ha_innobase::create( ...@@ -7187,14 +7187,14 @@ ha_innobase::create(
if (!srv_file_per_table) { if (!srv_file_per_table) {
push_warning_printf( push_warning_printf(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: ROW_FORMAT=%s requires" "InnoDB: ROW_FORMAT=%s requires"
" innodb_file_per_table.", " innodb_file_per_table.",
get_row_format_name(row_format)); get_row_format_name(row_format));
} else if (file_format < DICT_TF_FORMAT_ZIP) { } else if (file_format < DICT_TF_FORMAT_ZIP) {
push_warning_printf( push_warning_printf(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: ROW_FORMAT=%s requires" "InnoDB: ROW_FORMAT=%s requires"
" innodb_file_format > Antelope.", " innodb_file_format > Antelope.",
get_row_format_name(row_format)); get_row_format_name(row_format));
...@@ -7211,7 +7211,7 @@ ha_innobase::create( ...@@ -7211,7 +7211,7 @@ ha_innobase::create(
case ROW_TYPE_PAGE: case ROW_TYPE_PAGE:
push_warning( push_warning(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: assuming ROW_FORMAT=COMPACT."); "InnoDB: assuming ROW_FORMAT=COMPACT.");
case ROW_TYPE_DEFAULT: case ROW_TYPE_DEFAULT:
case ROW_TYPE_COMPACT: case ROW_TYPE_COMPACT:
...@@ -8409,9 +8409,9 @@ ha_innobase::info_low( ...@@ -8409,9 +8409,9 @@ ha_innobase::info_low(
} }
else if (rec_per_key > 1) { else if (rec_per_key > 1) {
rec_per_key = rec_per_key =
k_rec_per_key * (ha_rows) (k_rec_per_key *
(double)rec_per_key / (double)rec_per_key /
n_rows; n_rows);
} }
key_info->rec_per_key[k++]= key_info->rec_per_key[k++]=
......
...@@ -7663,7 +7663,7 @@ get_row_format_name( ...@@ -7663,7 +7663,7 @@ get_row_format_name(
if (!srv_file_per_table) { \ if (!srv_file_per_table) { \
push_warning_printf( \ push_warning_printf( \
thd, MYSQL_ERROR::WARN_LEVEL_WARN, \ thd, MYSQL_ERROR::WARN_LEVEL_WARN, \
ER_ILLEGAL_HA_CREATE_OPTION, \ HA_WRONG_CREATE_OPTION, \
"InnoDB: ROW_FORMAT=%s requires" \ "InnoDB: ROW_FORMAT=%s requires" \
" innodb_file_per_table.", \ " innodb_file_per_table.", \
get_row_format_name(row_format)); \ get_row_format_name(row_format)); \
...@@ -7675,7 +7675,7 @@ get_row_format_name( ...@@ -7675,7 +7675,7 @@ get_row_format_name(
if (srv_file_format < DICT_TF_FORMAT_ZIP) { \ if (srv_file_format < DICT_TF_FORMAT_ZIP) { \
push_warning_printf( \ push_warning_printf( \
thd, MYSQL_ERROR::WARN_LEVEL_WARN, \ thd, MYSQL_ERROR::WARN_LEVEL_WARN, \
ER_ILLEGAL_HA_CREATE_OPTION, \ HA_WRONG_CREATE_OPTION, \
"InnoDB: ROW_FORMAT=%s requires" \ "InnoDB: ROW_FORMAT=%s requires" \
" innodb_file_format > Antelope.", \ " innodb_file_format > Antelope.", \
get_row_format_name(row_format)); \ get_row_format_name(row_format)); \
...@@ -7725,7 +7725,7 @@ create_options_are_valid( ...@@ -7725,7 +7725,7 @@ create_options_are_valid(
if (!srv_file_per_table) { if (!srv_file_per_table) {
push_warning( push_warning(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: KEY_BLOCK_SIZE requires" "InnoDB: KEY_BLOCK_SIZE requires"
" innodb_file_per_table."); " innodb_file_per_table.");
ret = FALSE; ret = FALSE;
...@@ -7733,7 +7733,7 @@ create_options_are_valid( ...@@ -7733,7 +7733,7 @@ create_options_are_valid(
if (srv_file_format < DICT_TF_FORMAT_ZIP) { if (srv_file_format < DICT_TF_FORMAT_ZIP) {
push_warning( push_warning(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: KEY_BLOCK_SIZE requires" "InnoDB: KEY_BLOCK_SIZE requires"
" innodb_file_format > Antelope."); " innodb_file_format > Antelope.");
ret = FALSE; ret = FALSE;
...@@ -7742,7 +7742,7 @@ create_options_are_valid( ...@@ -7742,7 +7742,7 @@ create_options_are_valid(
default: default:
push_warning_printf( push_warning_printf(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: invalid KEY_BLOCK_SIZE = %lu." "InnoDB: invalid KEY_BLOCK_SIZE = %lu."
" Valid values are [1, 2, 4, 8, 16]", " Valid values are [1, 2, 4, 8, 16]",
create_info->key_block_size); create_info->key_block_size);
...@@ -7767,7 +7767,7 @@ create_options_are_valid( ...@@ -7767,7 +7767,7 @@ create_options_are_valid(
if (kbs_specified) { if (kbs_specified) {
push_warning_printf( push_warning_printf(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: cannot specify ROW_FORMAT = %s" "InnoDB: cannot specify ROW_FORMAT = %s"
" with KEY_BLOCK_SIZE.", " with KEY_BLOCK_SIZE.",
get_row_format_name(row_format)); get_row_format_name(row_format));
...@@ -7781,7 +7781,7 @@ create_options_are_valid( ...@@ -7781,7 +7781,7 @@ create_options_are_valid(
case ROW_TYPE_NOT_USED: case ROW_TYPE_NOT_USED:
push_warning( push_warning(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, \ HA_WRONG_CREATE_OPTION, \
"InnoDB: invalid ROW_FORMAT specifier."); "InnoDB: invalid ROW_FORMAT specifier.");
ret = FALSE; ret = FALSE;
break; break;
...@@ -7884,7 +7884,7 @@ ha_innobase::create( ...@@ -7884,7 +7884,7 @@ ha_innobase::create(
/* Validate create options if innodb_strict_mode is set. */ /* Validate create options if innodb_strict_mode is set. */
if (!create_options_are_valid(thd, form, create_info)) { if (!create_options_are_valid(thd, form, create_info)) {
DBUG_RETURN(ER_ILLEGAL_HA_CREATE_OPTION); DBUG_RETURN(HA_WRONG_CREATE_OPTION);
} }
if (create_info->key_block_size) { if (create_info->key_block_size) {
...@@ -7910,7 +7910,7 @@ ha_innobase::create( ...@@ -7910,7 +7910,7 @@ ha_innobase::create(
if (!srv_file_per_table) { if (!srv_file_per_table) {
push_warning( push_warning(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: KEY_BLOCK_SIZE requires" "InnoDB: KEY_BLOCK_SIZE requires"
" innodb_file_per_table."); " innodb_file_per_table.");
flags = 0; flags = 0;
...@@ -7919,7 +7919,7 @@ ha_innobase::create( ...@@ -7919,7 +7919,7 @@ ha_innobase::create(
if (file_format < DICT_TF_FORMAT_ZIP) { if (file_format < DICT_TF_FORMAT_ZIP) {
push_warning( push_warning(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: KEY_BLOCK_SIZE requires" "InnoDB: KEY_BLOCK_SIZE requires"
" innodb_file_format > Antelope."); " innodb_file_format > Antelope.");
flags = 0; flags = 0;
...@@ -7928,7 +7928,7 @@ ha_innobase::create( ...@@ -7928,7 +7928,7 @@ ha_innobase::create(
if (!flags) { if (!flags) {
push_warning_printf( push_warning_printf(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: ignoring KEY_BLOCK_SIZE=%lu.", "InnoDB: ignoring KEY_BLOCK_SIZE=%lu.",
create_info->key_block_size); create_info->key_block_size);
} }
...@@ -7950,7 +7950,7 @@ ha_innobase::create( ...@@ -7950,7 +7950,7 @@ ha_innobase::create(
with ALTER TABLE anyway. */ with ALTER TABLE anyway. */
push_warning_printf( push_warning_printf(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: ignoring KEY_BLOCK_SIZE=%lu" "InnoDB: ignoring KEY_BLOCK_SIZE=%lu"
" unless ROW_FORMAT=COMPRESSED.", " unless ROW_FORMAT=COMPRESSED.",
create_info->key_block_size); create_info->key_block_size);
...@@ -7981,14 +7981,14 @@ ha_innobase::create( ...@@ -7981,14 +7981,14 @@ ha_innobase::create(
if (!srv_file_per_table) { if (!srv_file_per_table) {
push_warning_printf( push_warning_printf(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: ROW_FORMAT=%s requires" "InnoDB: ROW_FORMAT=%s requires"
" innodb_file_per_table.", " innodb_file_per_table.",
get_row_format_name(row_format)); get_row_format_name(row_format));
} else if (file_format < DICT_TF_FORMAT_ZIP) { } else if (file_format < DICT_TF_FORMAT_ZIP) {
push_warning_printf( push_warning_printf(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: ROW_FORMAT=%s requires" "InnoDB: ROW_FORMAT=%s requires"
" innodb_file_format > Antelope.", " innodb_file_format > Antelope.",
get_row_format_name(row_format)); get_row_format_name(row_format));
...@@ -8005,7 +8005,7 @@ ha_innobase::create( ...@@ -8005,7 +8005,7 @@ ha_innobase::create(
case ROW_TYPE_PAGE: case ROW_TYPE_PAGE:
push_warning( push_warning(
thd, MYSQL_ERROR::WARN_LEVEL_WARN, thd, MYSQL_ERROR::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, HA_WRONG_CREATE_OPTION,
"InnoDB: assuming ROW_FORMAT=COMPACT."); "InnoDB: assuming ROW_FORMAT=COMPACT.");
case ROW_TYPE_DEFAULT: case ROW_TYPE_DEFAULT:
case ROW_TYPE_COMPACT: case ROW_TYPE_COMPACT:
...@@ -9281,9 +9281,9 @@ ha_innobase::info_low( ...@@ -9281,9 +9281,9 @@ ha_innobase::info_low(
} }
else if (rec_per_key > 1) { else if (rec_per_key > 1) {
rec_per_key = rec_per_key =
k_rec_per_key * (ha_rows) (k_rec_per_key *
(double)rec_per_key / (double)rec_per_key /
n_rows; n_rows);
} }
key_info->rec_per_key[k++]= key_info->rec_per_key[k++]=
...@@ -12562,7 +12562,7 @@ static MYSQL_SYSVAR_BOOL(use_sys_stats_table, innobase_use_sys_stats_table, ...@@ -12562,7 +12562,7 @@ static MYSQL_SYSVAR_BOOL(use_sys_stats_table, innobase_use_sys_stats_table,
"So you should use ANALYZE TABLE command intentionally.", "So you should use ANALYZE TABLE command intentionally.",
NULL, NULL, FALSE); NULL, NULL, FALSE);
#ifdef UNIV_DEBUG #ifdef UNIV_DEBUG_never
static MYSQL_SYSVAR_ULONG(sys_stats_root_page, innobase_sys_stats_root_page, static MYSQL_SYSVAR_ULONG(sys_stats_root_page, innobase_sys_stats_root_page,
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY, PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
"Override the SYS_STATS root page id, 0 = no override (for testing only)", "Override the SYS_STATS root page id, 0 = no override (for testing only)",
...@@ -12785,7 +12785,7 @@ static MYSQL_SYSVAR_ULONG(read_ahead_threshold, srv_read_ahead_threshold, ...@@ -12785,7 +12785,7 @@ static MYSQL_SYSVAR_ULONG(read_ahead_threshold, srv_read_ahead_threshold,
"trigger a readahead.", "trigger a readahead.",
NULL, NULL, 56, 0, 64, 0); NULL, NULL, 56, 0, 64, 0);
#ifdef UNIV_DEBUG #ifdef UNIV_DEBUG_never
static MYSQL_SYSVAR_UINT(trx_rseg_n_slots_debug, trx_rseg_n_slots_debug, static MYSQL_SYSVAR_UINT(trx_rseg_n_slots_debug, trx_rseg_n_slots_debug,
PLUGIN_VAR_RQCMDARG, PLUGIN_VAR_RQCMDARG,
"Debug flags for InnoDB to limit TRX_RSEG_N_SLOTS for trx_rsegf_undo_find_free()", "Debug flags for InnoDB to limit TRX_RSEG_N_SLOTS for trx_rsegf_undo_find_free()",
......
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