summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/my_base.h34
-rw-r--r--include/my_handler_errors.h23
-rw-r--r--include/my_icp.h48
-rw-r--r--mysql-test/include/have_innodb_16k.inc2
-rw-r--r--mysql-test/include/have_innodb_max_16k.inc4
-rw-r--r--mysql-test/include/have_numa.inc18
-rwxr-xr-xmysql-test/mysql-test-run.pl1
-rw-r--r--mysql-test/r/merge_debug.result1
-rw-r--r--mysql-test/suite/handler/innodb.result1
-rw-r--r--mysql-test/suite/innodb/include/have_innodb_bzip2.inc (renamed from mysql-test/include/have_innodb_bzip2.inc)0
-rw-r--r--mysql-test/suite/innodb/include/have_innodb_lz4.inc (renamed from mysql-test/include/have_innodb_lz4.inc)0
-rw-r--r--mysql-test/suite/innodb/include/have_innodb_lzma.inc (renamed from mysql-test/include/have_innodb_lzma.inc)0
-rw-r--r--mysql-test/suite/innodb/include/have_innodb_lzo.inc (renamed from mysql-test/include/have_innodb_lzo.inc)0
-rw-r--r--mysql-test/suite/innodb/include/have_innodb_snappy.inc (renamed from mysql-test/include/have_innodb_snappy.inc)0
-rw-r--r--mysql-test/suite/innodb/t/innodb.test24
-rw-r--r--mysql-test/suite/innodb_zip/include/have_innodb_zip.inc (renamed from mysql-test/include/have_innodb_zip.inc)0
-rw-r--r--mysql-test/suite/innodb_zip/include/have_no_undo_tablespaces.inc (renamed from mysql-test/include/have_no_undo_tablespaces.inc)0
-rw-r--r--mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff-disabled (renamed from mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff)0
-rw-r--r--mysql-test/suite/plugins/r/audit_null_debug.result6
-rw-r--r--mysql-test/suite/plugins/t/audit_null_debug.test2
-rw-r--r--mysql-test/suite/rpl/disabled.def3
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_numa_interleave_basic.result10
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff-disabled (renamed from mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff)0
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff-disabled (renamed from mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff)0
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb.result70
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_numa_interleave_basic.test13
-rw-r--r--mysql-test/t/merge_debug.test2
-rwxr-xr-xmysql-test/thou_shalt_not_kill.pm26
-rw-r--r--sql/handler.cc13
-rw-r--r--sql/handler.h35
-rw-r--r--sql/share/errmsg-utf8.txt22
-rw-r--r--sql/sql_class.h1
-rw-r--r--storage/innobase/handler/ha_innodb.cc36
-rw-r--r--storage/innobase/handler/handler0alter.cc8
-rw-r--r--storage/innobase/include/ha_prototypes.h5
-rw-r--r--storage/innobase/lock/lock0lock.cc2
-rw-r--r--storage/innobase/lock/lock0wait.cc2
-rw-r--r--storage/innobase/row/row0upd.cc4
-rw-r--r--storage/innobase/trx/trx0trx.cc2
-rw-r--r--storage/innobase/trx/trx0undo.cc24
-rw-r--r--storage/perfschema/ha_perfschema.cc5
-rw-r--r--storage/spider/ha_spider.cc3
-rw-r--r--storage/tokudb/ha_tokudb.cc14
-rw-r--r--storage/tokudb/mysql-test/tokudb_bugs/r/db938.result5
-rw-r--r--storage/xtradb/CMakeLists.txt3
-rw-r--r--storage/xtradb/handler/ha_innodb.cc10
-rw-r--r--storage/xtradb/include/ha_prototypes.h1
47 files changed, 141 insertions, 342 deletions
diff --git a/include/my_base.h b/include/my_base.h
index af053369f93..f5842685f9d 100644
--- a/include/my_base.h
+++ b/include/my_base.h
@@ -497,24 +497,19 @@ enum ha_base_keytype {
#define HA_ERR_DISK_FULL 189
#define HA_ERR_INCOMPATIBLE_DEFINITION 190
#define HA_ERR_FTS_TOO_MANY_WORDS_IN_PHRASE 191 /* Too many words in a phrase */
-#define HA_ERR_DECRYPTION_FAILED 192 /* Table encrypted but
- decypt failed */
+#define HA_ERR_DECRYPTION_FAILED 192 /* Table encrypted but decypt failed */
#define HA_ERR_FK_DEPTH_EXCEEDED 193 /* FK cascade depth exceeded */
-#define HA_MISSING_CREATE_OPTION 194 /* Option Missing during Create */
-#define HA_ERR_SE_OUT_OF_MEMORY 195 /* Out of memory in storage engine */
-#define HA_ERR_TABLE_CORRUPT 196 /* Table/Clustered index is corrupted. */
-#define HA_ERR_QUERY_INTERRUPTED 197 /* The query was interrupted */
-#define HA_ERR_TABLESPACE_MISSING 198 /* Missing Tablespace */
-#define HA_ERR_TABLESPACE_IS_NOT_EMPTY 199 /* Tablespace is not empty */
-#define HA_ERR_WRONG_FILE_NAME 200 /* Invalid Filename */
-#define HA_ERR_NOT_ALLOWED_COMMAND 201 /* Operation is not allowed */
-#define HA_ERR_COMPUTE_FAILED 202 /* Compute generated column value failed */
-#define HA_ERR_INNODB_READ_ONLY 203 /* InnoDB is in read only mode */
-#define HA_ERR_LAST 203 /* Copy of last error nr * */
+#define HA_ERR_TABLESPACE_MISSING 194 /* Missing Tablespace */
+#define HA_ERR_LAST 194 /* Copy of last error nr * */
/* Number of different errors */
#define HA_ERR_ERRORS (HA_ERR_LAST - HA_ERR_FIRST + 1)
+/* aliases */
+#define HA_ERR_TABLE_CORRUPT HA_ERR_WRONG_IN_RECORD
+#define HA_ERR_QUERY_INTERRUPTED HA_ERR_ABORTED_BY_USER
+#define HA_ERR_NOT_ALLOWED_COMMAND HA_ERR_WRONG_COMMAND
+
/* Other constants */
#define HA_NAMELEN 64 /* Max length of saved filename */
@@ -643,17 +638,4 @@ C_MODE_START
typedef void (* invalidator_by_filename)(const char * filename);
C_MODE_END
-
-enum durability_properties
-{
- /*
- Preserves the durability properties defined by the engine */
- HA_REGULAR_DURABILITY= 0,
- /*
- Ignore the durability properties defined by the engine and
- write only in-memory entries.
- */
- HA_IGNORE_DURABILITY= 1
-};
-
#endif /* _my_base_h */
diff --git a/include/my_handler_errors.h b/include/my_handler_errors.h
index 3d05fb75054..bdea4f71eaf 100644
--- a/include/my_handler_errors.h
+++ b/include/my_handler_errors.h
@@ -23,16 +23,18 @@
static const char *handler_error_messages[]=
{
+ /* 120 */
"Didn't find key on read or update",
"Duplicate key on write or update",
"Internal (unspecified) error in handler",
"Someone has changed the row since it was read (while the table was locked to prevent it)",
"Wrong index given to function",
"Undefined handler error 125",
- "Index file is crashed",
- "Record file is crashed",
+ "Index is corrupted",
+ "Table file is corrupted",
"Out of memory in engine",
"Undefined handler error 129",
+ /* 130 */
"Incorrect file format",
"Command not supported by database",
"Old database file",
@@ -43,6 +45,7 @@ static const char *handler_error_messages[]=
"No more records (read after end of file)",
"Unsupported extension used for table",
"Too big row",
+ /* 140 */
"Wrong create options",
"Duplicate unique key or constraint on write or update",
"Unknown character set used in table",
@@ -53,6 +56,7 @@ static const char *handler_error_messages[]=
"Lock table is full; Restart program with a larger lock table",
"Updates are not allowed under a read only transactions",
"Lock deadlock; Retry transaction",
+ /* 150 */
"Foreign key constraint is incorrectly formed",
"Cannot add a child row",
"Cannot delete a parent row",
@@ -63,6 +67,7 @@ static const char *handler_error_messages[]=
"Could not connect to storage engine",
"Unexpected null pointer found when using spatial index",
"The table changed in storage engine",
+ /* 160 */
"There's no partition in table for the given value",
"Row-based binary logging of row failed",
"Index needed in foreign key constraint",
@@ -73,6 +78,7 @@ static const char *handler_error_messages[]=
"Failed to set row auto increment value",
"Unknown (generic) error from engine",
"Record was not update. Original values was same as new values",
+ /* 170 */
"It is not possible to log this statement",
"The event was corrupt, leading to illegal data being read",
"The table is of a new format not supported by this version",
@@ -83,6 +89,7 @@ static const char *handler_error_messages[]=
"Too many active concurrent transactions",
"Record not matching the given partition set",
"Index column length exceeds limit",
+ /* 180 */
"Index corrupted",
"Undo record too big",
"Invalid InnoDB FTS Doc ID",
@@ -93,20 +100,12 @@ static const char *handler_error_messages[]=
"Row is not visible by the current transaction",
"Operation was interrupted by end user (probably kill command?)",
"Disk full",
+ /* 190 */
"Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump and restore the table to fix this",
"Too many words in a FTS phrase or proximity search",
"Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.",
"Foreign key cascade delete/update exceeds max depth",
- "Table storage engine found required create option missing",
- "Out of memory in storage engine",
- "Operation cannot be performed. The table is missing, corrupt or contains bad data.",
- "Query execution was interrupted",
- "Tablespace is missing for table",
- "Tablespace is not empty",
- "Incorrect File Name",
- "Table storage engine found required create option missing",
- "Compute virtual column value failed",
- "InnoDB is in read only mode"
+ "Tablespace is missing for table"
};
#endif /* MYSYS_MY_HANDLER_ERRORS_INCLUDED */
diff --git a/include/my_icp.h b/include/my_icp.h
deleted file mode 100644
index 8b77b7cc759..00000000000
--- a/include/my_icp.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; version 2 of the License.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
-
-#ifndef _my_icp_h
-#define _my_icp_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- Values returned by index_cond_func_xxx functions.
-*/
-
-typedef enum icp_result {
- /** Index tuple doesn't satisfy the pushed index condition (the engine
- should discard the tuple and go to the next one) */
- ICP_NO_MATCH,
-
- /** Index tuple satisfies the pushed index condition (the engine should
- fetch and return the record) */
- ICP_MATCH,
-
- /** Index tuple is out of the range that we're scanning, e.g. if we're
- scanning "t.key BETWEEN 10 AND 20" and got a "t.key=21" tuple (the engine
- should stop scanning and return HA_ERR_END_OF_FILE right away). */
- ICP_OUT_OF_RANGE
-
-} ICP_RESULT;
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _my_icp_h */
diff --git a/mysql-test/include/have_innodb_16k.inc b/mysql-test/include/have_innodb_16k.inc
index 0d5f021c606..f0198ca5ee7 100644
--- a/mysql-test/include/have_innodb_16k.inc
+++ b/mysql-test/include/have_innodb_16k.inc
@@ -1,6 +1,4 @@
---disable_warnings
if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE LOWER(variable_name) = 'innodb_page_size' AND variable_value = 16384`)
{
--skip Test requires InnoDB with 16k Page size.
}
---enable_warnings
diff --git a/mysql-test/include/have_innodb_max_16k.inc b/mysql-test/include/have_innodb_max_16k.inc
deleted file mode 100644
index f8346666299..00000000000
--- a/mysql-test/include/have_innodb_max_16k.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE LOWER(variable_name) = 'innodb_page_size' AND variable_value <= 16384`)
-{
- --skip Test requires InnoDB with page size not greater than 16k.
-}
diff --git a/mysql-test/include/have_numa.inc b/mysql-test/include/have_numa.inc
deleted file mode 100644
index bd1c7d7a085..00000000000
--- a/mysql-test/include/have_numa.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-let $numa_support = `SELECT COUNT(VARIABLE_VALUE) = 1 FROM
- INFORMATION_SCHEMA.GLOBAL_VARIABLES
- WHERE VARIABLE_NAME='innodb_numa_interleave'`;
-
-if ( $numa_support == 0 )
-{
- --skip Test requires: NUMA must be enabled
-}
-
-if ( $numa_support == 1 )
-{
- let $numa = `SELECT @@GLOBAL.innodb_numa_interleave = 'OFF'`;
- if ( $numa == 1 )
- {
- --skip Test requires: NUMA must be enabled
- }
-}
-
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index afad786358b..cf54d9e7a3f 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -4400,7 +4400,6 @@ sub extract_warning_lines ($$) {
qr/Slave SQL thread retried transaction/,
qr/Slave \(additional info\)/,
qr/Incorrect information in file/,
- qr/Incorrect key file for table .*crashed.*/,
qr/Slave I\/O: Get master SERVER_ID failed with error:.*/,
qr/Slave I\/O: Get master clock failed with error:.*/,
qr/Slave I\/O: Get master COLLATION_SERVER failed with error:.*/,
diff --git a/mysql-test/r/merge_debug.result b/mysql-test/r/merge_debug.result
index d6ca17f0659..51905e52d24 100644
--- a/mysql-test/r/merge_debug.result
+++ b/mysql-test/r/merge_debug.result
@@ -1,6 +1,7 @@
set @default_storage_engine= @@global.storage_engine;
set global storage_engine=myisam;
set session storage_engine=myisam;
+call mtr.add_suppression("Index for table .*crashed' is corrupt; try to repair it");
drop table if exists crashed,t2,t3,t4;
SET @orig_debug=@@debug;
CREATE TABLE crashed (c1 INT);
diff --git a/mysql-test/suite/handler/innodb.result b/mysql-test/suite/handler/innodb.result
index f3c0f798902..102237617fd 100644
--- a/mysql-test/suite/handler/innodb.result
+++ b/mysql-test/suite/handler/innodb.result
@@ -545,7 +545,6 @@ optimize table t1;
connection default;
handler t1 read next;
c1
-1
handler t1 close;
connection con2;
Table Op Msg_type Msg_text
diff --git a/mysql-test/include/have_innodb_bzip2.inc b/mysql-test/suite/innodb/include/have_innodb_bzip2.inc
index afbe78f0cf9..afbe78f0cf9 100644
--- a/mysql-test/include/have_innodb_bzip2.inc
+++ b/mysql-test/suite/innodb/include/have_innodb_bzip2.inc
diff --git a/mysql-test/include/have_innodb_lz4.inc b/mysql-test/suite/innodb/include/have_innodb_lz4.inc
index bda3ffa8623..bda3ffa8623 100644
--- a/mysql-test/include/have_innodb_lz4.inc
+++ b/mysql-test/suite/innodb/include/have_innodb_lz4.inc
diff --git a/mysql-test/include/have_innodb_lzma.inc b/mysql-test/suite/innodb/include/have_innodb_lzma.inc
index 86eda33f194..86eda33f194 100644
--- a/mysql-test/include/have_innodb_lzma.inc
+++ b/mysql-test/suite/innodb/include/have_innodb_lzma.inc
diff --git a/mysql-test/include/have_innodb_lzo.inc b/mysql-test/suite/innodb/include/have_innodb_lzo.inc
index f40418b00fb..f40418b00fb 100644
--- a/mysql-test/include/have_innodb_lzo.inc
+++ b/mysql-test/suite/innodb/include/have_innodb_lzo.inc
diff --git a/mysql-test/include/have_innodb_snappy.inc b/mysql-test/suite/innodb/include/have_innodb_snappy.inc
index c4dca4c19ee..c4dca4c19ee 100644
--- a/mysql-test/include/have_innodb_snappy.inc
+++ b/mysql-test/suite/innodb/include/have_innodb_snappy.inc
diff --git a/mysql-test/suite/innodb/t/innodb.test b/mysql-test/suite/innodb/t/innodb.test
index d129e866c8f..e456d48b5c2 100644
--- a/mysql-test/suite/innodb/t/innodb.test
+++ b/mysql-test/suite/innodb/t/innodb.test
@@ -1141,10 +1141,10 @@ insert into t1 values
(244, 243), (245, 244), (246, 245), (247, 246),
(248, 247), (249, 248), (250, 249), (251, 250),
(252, 251), (253, 252), (254, 253), (255, 254);
---error 4029,1451
+--error ER_GET_ERRMSG,ER_ROW_IS_REFERENCED_2
delete from t1 where id=0;
delete from t1 where id=255;
---error 0,1451
+--error 0,ER_ROW_IS_REFERENCED_2
delete from t1 where id=0;
drop table t1;
@@ -1636,10 +1636,10 @@ INSERT INTO t2 VALUES(2);
INSERT INTO t1 VALUES(1);
INSERT INTO t2 VALUES(1);
---error 1451
+--error ER_ROW_IS_REFERENCED_2
DELETE FROM t1 WHERE id = 1;
---error 1451, 1217
+--error ER_ROW_IS_REFERENCED_2, 1217
DROP TABLE t1;
SET FOREIGN_KEY_CHECKS=0;
@@ -1765,11 +1765,11 @@ insert into t2 values(2);
insert into t4 values(2);
insert into t2 values(1);
insert into t4 values(1);
--- error 1451
+-- error ER_ROW_IS_REFERENCED_2
update t1 set a=2;
-- error 1452
update t2 set a=2;
--- error 1451
+-- error ER_ROW_IS_REFERENCED_2
update t3 set a=2;
-- error 1452
update t4 set a=2;
@@ -1838,11 +1838,11 @@ insert into t2 values(0x41);
select hex(s1) from t2;
update t1 set s1=0x123456 where a=2;
select hex(s1) from t2;
--- error 1451
+-- error ER_ROW_IS_REFERENCED_2
update t1 set s1=0x12 where a=1;
--- error 1451
+-- error ER_ROW_IS_REFERENCED_2
update t1 set s1=0x12345678 where a=1;
--- error 1451
+-- error ER_ROW_IS_REFERENCED_2
update t1 set s1=0x123457 where a=1;
update t1 set s1=0x1220 where a=1;
select hex(s1) from t2;
@@ -1850,11 +1850,11 @@ update t1 set s1=0x1200 where a=1;
select hex(s1) from t2;
update t1 set s1=0x4200 where a=1;
select hex(s1) from t2;
--- error 1451
+-- error ER_ROW_IS_REFERENCED_2
delete from t1 where a=1;
delete from t1 where a=2;
update t2 set s1=0x4120;
--- error 1451
+-- error ER_ROW_IS_REFERENCED_2
delete from t1;
delete from t1 where a!=3;
select a,hex(s1) from t1;
@@ -1873,7 +1873,7 @@ select hex(s1) from t2;
update t1 set s1=0x12 where a=2;
select hex(s1) from t2;
delete from t1 where a=1;
--- error 1451
+-- error ER_ROW_IS_REFERENCED_2
delete from t1 where a=2;
select a,hex(s1) from t1;
select hex(s1) from t2;
diff --git a/mysql-test/include/have_innodb_zip.inc b/mysql-test/suite/innodb_zip/include/have_innodb_zip.inc
index 6af83d51304..6af83d51304 100644
--- a/mysql-test/include/have_innodb_zip.inc
+++ b/mysql-test/suite/innodb_zip/include/have_innodb_zip.inc
diff --git a/mysql-test/include/have_no_undo_tablespaces.inc b/mysql-test/suite/innodb_zip/include/have_no_undo_tablespaces.inc
index 4c163e7c1b0..4c163e7c1b0 100644
--- a/mysql-test/include/have_no_undo_tablespaces.inc
+++ b/mysql-test/suite/innodb_zip/include/have_no_undo_tablespaces.inc
diff --git a/mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff b/mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff-disabled
index bfa17407049..bfa17407049 100644
--- a/mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff
+++ b/mysql-test/suite/perfschema/r/threads_innodb,xtradb.rdiff-disabled
diff --git a/mysql-test/suite/plugins/r/audit_null_debug.result b/mysql-test/suite/plugins/r/audit_null_debug.result
index e88f5465e47..840d4307fb3 100644
--- a/mysql-test/suite/plugins/r/audit_null_debug.result
+++ b/mysql-test/suite/plugins/r/audit_null_debug.result
@@ -1,13 +1,13 @@
set @old_dbug=@@debug_dbug;
-call mtr.add_suppression("Incorrect key file for table.*mysql.plugin.MYI");
+call mtr.add_suppression("Index for table.*mysql.plugin.MYI");
SET debug_dbug='+d,myisam_pretend_crashed_table_on_usage';
install plugin audit_null soname 'adt_null';
-ERROR HY000: Incorrect key file for table './mysql/plugin.MYI'; try to repair it
+ERROR HY000: Index for table './mysql/plugin.MYI' is corrupt; try to repair it
SET debug_dbug=@old_dbug;
install plugin audit_null soname 'adt_null';
SET debug_dbug='+d,myisam_pretend_crashed_table_on_usage';
uninstall plugin audit_null;
-ERROR HY000: Incorrect key file for table './mysql/plugin.MYI'; try to repair it
+ERROR HY000: Index for table './mysql/plugin.MYI' is corrupt; try to repair it
SET debug_dbug=@old_dbug;
uninstall plugin audit_null;
ERROR 42000: PLUGIN audit_null does not exist
diff --git a/mysql-test/suite/plugins/t/audit_null_debug.test b/mysql-test/suite/plugins/t/audit_null_debug.test
index 8d77b02938b..2c457df4759 100644
--- a/mysql-test/suite/plugins/t/audit_null_debug.test
+++ b/mysql-test/suite/plugins/t/audit_null_debug.test
@@ -6,7 +6,7 @@ if (!$ADT_NULL_SO) {
}
set @old_dbug=@@debug_dbug;
-call mtr.add_suppression("Incorrect key file for table.*mysql.plugin.MYI");
+call mtr.add_suppression("Index for table.*mysql.plugin.MYI");
#
# MySQL BUG#14485479 - INSTALL AUDIT PLUGIN HANGS IF WE TRY TO DISABLE AND ENABLED DURING DDL OPERATION
diff --git a/mysql-test/suite/rpl/disabled.def b/mysql-test/suite/rpl/disabled.def
index c8799474e21..de3091a56e5 100644
--- a/mysql-test/suite/rpl/disabled.def
+++ b/mysql-test/suite/rpl/disabled.def
@@ -13,6 +13,3 @@
rpl_spec_variables : BUG#11755836 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux
rpl_get_master_version_and_clock : Bug#11766137 Jan 05 2011 joro Valgrind warnings rpl_get_master_version_and_clock
rpl_partition_archive : MDEV-5077 2013-09-27 svoj Cannot exchange partition with archive table
-
-
-
diff --git a/mysql-test/suite/sys_vars/r/innodb_numa_interleave_basic.result b/mysql-test/suite/sys_vars/r/innodb_numa_interleave_basic.result
deleted file mode 100644
index 6f6fb359b3d..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_numa_interleave_basic.result
+++ /dev/null
@@ -1,10 +0,0 @@
-SELECT @@GLOBAL.innodb_numa_interleave;
-@@GLOBAL.innodb_numa_interleave
-1
-SET @@GLOBAL.innodb_numa_interleave=off;
-ERROR HY000: Variable 'innodb_numa_interleave' is a read only variable
-SELECT @@GLOBAL.innodb_use_native_aio;
-@@GLOBAL.innodb_use_native_aio
-0
-SELECT @@SESSION.innodb_use_native_aio;
-ERROR HY000: Variable 'innodb_use_native_aio' is a GLOBAL variable
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff b/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff-disabled
index 4d507126872..4d507126872 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit,xtradb.rdiff-disabled
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff b/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff-disabled
index 6d95a517b33..6d95a517b33 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb,xtradb.rdiff-disabled
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb.result b/mysql-test/suite/sys_vars/r/sysvars_innodb.result
index 1a7a0188b1c..21d75f9e981 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_innodb.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb.result
@@ -173,6 +173,20 @@ NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_BACKGROUND_DROP_LIST_EMPTY
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Wait for the background drop list to become empty
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_BACKGROUND_SCRUB_DATA_CHECK_INTERVAL
SESSION_VALUE NULL
GLOBAL_VALUE 3600
@@ -572,7 +586,7 @@ GLOBAL_VALUE_ORIGIN COMPILE-TIME
DEFAULT_VALUE none
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE ENUM
-VARIABLE_COMMENT Compress all tables, without specifying the COMRPESS table attribute
+VARIABLE_COMMENT Compress all tables, without specifying the COMPRESS table attribute
NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
@@ -747,6 +761,20 @@ NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_DICT_STATS_DISABLED_DEBUG
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Disable dict_stats thread
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_DISABLE_BACKGROUND_MERGE
SESSION_VALUE NULL
GLOBAL_VALUE OFF
@@ -1511,7 +1539,7 @@ DEFAULT_VALUE 50331648
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BIGINT
VARIABLE_COMMENT Size of each log file in a log group.
-NUMERIC_MIN_VALUE 1048576
+NUMERIC_MIN_VALUE 4194304
NUMERIC_MAX_VALUE 9223372036854775807
NUMERIC_BLOCK_SIZE 1048576
ENUM_VALUE_LIST NULL
@@ -1559,6 +1587,20 @@ NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
+VARIABLE_NAME INNODB_MASTER_THREAD_DISABLED_DEBUG
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Disable master thread
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_MAX_DIRTY_PAGES_PCT
SESSION_VALUE NULL
GLOBAL_VALUE 75.000000
@@ -1757,7 +1799,7 @@ READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME INNODB_OPEN_FILES
SESSION_VALUE NULL
-GLOBAL_VALUE 2000
+GLOBAL_VALUE 300
GLOBAL_VALUE_ORIGIN COMPILE-TIME
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
@@ -1797,6 +1839,20 @@ NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY YES
COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME INNODB_PAGE_CLEANER_DISABLED_DEBUG
+SESSION_VALUE NULL
+GLOBAL_VALUE OFF
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE OFF
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Disable page cleaner
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_PAGE_HASH_LOCKS
SESSION_VALUE NULL
GLOBAL_VALUE 16
@@ -2260,10 +2316,10 @@ ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_STRICT_MODE
-SESSION_VALUE OFF
-GLOBAL_VALUE OFF
+SESSION_VALUE ON
+GLOBAL_VALUE ON
GLOBAL_VALUE_ORIGIN COMPILE-TIME
-DEFAULT_VALUE OFF
+DEFAULT_VALUE ON
VARIABLE_SCOPE SESSION
VARIABLE_TYPE BOOLEAN
VARIABLE_COMMENT Use strict mode when evaluating create options.
@@ -2541,7 +2597,7 @@ READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_VERSION
SESSION_VALUE NULL
-GLOBAL_VALUE 5.7.9
+GLOBAL_VALUE 5.7.14
GLOBAL_VALUE_ORIGIN COMPILE-TIME
DEFAULT_VALUE NULL
VARIABLE_SCOPE GLOBAL
diff --git a/mysql-test/suite/sys_vars/t/innodb_numa_interleave_basic.test b/mysql-test/suite/sys_vars/t/innodb_numa_interleave_basic.test
deleted file mode 100644
index 9f41cb74da8..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_numa_interleave_basic.test
+++ /dev/null
@@ -1,13 +0,0 @@
---source include/have_innodb.inc
---source include/have_numa.inc
-
-SELECT @@GLOBAL.innodb_numa_interleave;
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SET @@GLOBAL.innodb_numa_interleave=off;
-
-SELECT @@GLOBAL.innodb_use_native_aio;
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT @@SESSION.innodb_use_native_aio;
-
diff --git a/mysql-test/t/merge_debug.test b/mysql-test/t/merge_debug.test
index e147946b394..3c617cfc545 100644
--- a/mysql-test/t/merge_debug.test
+++ b/mysql-test/t/merge_debug.test
@@ -8,6 +8,8 @@ set @default_storage_engine= @@global.storage_engine;
set global storage_engine=myisam;
set session storage_engine=myisam;
+call mtr.add_suppression("Index for table .*crashed' is corrupt; try to repair it");
+
--disable_warnings
drop table if exists crashed,t2,t3,t4;
--enable_warnings
diff --git a/mysql-test/thou_shalt_not_kill.pm b/mysql-test/thou_shalt_not_kill.pm
deleted file mode 100755
index 9a562761d04..00000000000
--- a/mysql-test/thou_shalt_not_kill.pm
+++ /dev/null
@@ -1,26 +0,0 @@
-package thou_shalt_not_kill;
-require Exporter;
-@ISA = 'Exporter';
-@EXPORT_OK = 'kill';
-
-use subs 'kill';
-use Carp qw(cluck);
-
-sub import {
- my $pkg = shift;
- $pkg->export('CORE::GLOBAL', 'kill', @_);
-}
-
-sub kill {
- return CORE::kill(@_) unless $_[0];
- cluck "kill(@_)";
- print "\e[1;31m" if -t STDOUT;
- system "pstree -c $_" foreach @_[1..$#_];
- print "\e[0;39m" if -t STDOUT;
- print STDERR 'Kill [y/n] ? ';
- my $answer=<STDIN>;
- return CORE::kill(@_) if $answer =~ /y/i or $answer eq "\n";
- 1;
-}
-
-1;
diff --git a/sql/handler.cc b/sql/handler.cc
index 6e9d8dcb4d2..7307afb6cd2 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -370,17 +370,8 @@ int ha_init_errors(void)
SETMSG(HA_ERR_TABLE_IN_FK_CHECK, ER_DEFAULT(ER_TABLE_IN_FK_CHECK));
SETMSG(HA_ERR_DISK_FULL, ER_DEFAULT(ER_DISK_FULL));
SETMSG(HA_ERR_FTS_TOO_MANY_WORDS_IN_PHRASE, "Too many words in a FTS phrase or proximity search");
- SETMSG(HA_ERR_FK_DEPTH_EXCEEDED, ER_DEFAULT(ER_FK_DEPTH_EXCEEDED));
- SETMSG(HA_MISSING_CREATE_OPTION, ER_DEFAULT(ER_MISSING_HA_CREATE_OPTION));
- SETMSG(HA_ERR_SE_OUT_OF_MEMORY, ER_DEFAULT(ER_ENGINE_OUT_OF_MEMORY));
- SETMSG(HA_ERR_TABLE_CORRUPT, ER_DEFAULT(ER_TABLE_CORRUPT));
- SETMSG(HA_ERR_QUERY_INTERRUPTED, ER_DEFAULT(ER_QUERY_INTERRUPTED));
+ SETMSG(HA_ERR_FK_DEPTH_EXCEEDED, "Foreign key cascade delete/update exceeds");
SETMSG(HA_ERR_TABLESPACE_MISSING, ER_DEFAULT(ER_TABLESPACE_MISSING));
- SETMSG(HA_ERR_TABLESPACE_IS_NOT_EMPTY,ER_DEFAULT(ER_TABLESPACE_IS_NOT_EMPTY));
- SETMSG(HA_ERR_WRONG_FILE_NAME, ER_DEFAULT(ER_WRONG_FILE_NAME));
- SETMSG(HA_ERR_NOT_ALLOWED_COMMAND, ER_DEFAULT(ER_NOT_ALLOWED_COMMAND));
- SETMSG(HA_ERR_COMPUTE_FAILED, "Compute virtual column value failed");
- SETMSG(HA_ERR_INNODB_READ_ONLY, ER_DEFAULT(ER_INNODB_READ_ONLY));
/* Register the error messages for use with my_error(). */
return my_error_register(get_handler_errmsgs, HA_ERR_FIRST, HA_ERR_LAST);
@@ -5821,8 +5812,6 @@ int handler::ha_external_lock(THD *thd, int lock_type)
}
}
- ha_statistic_increment(&SSV::ha_external_lock_count);
-
/*
We cache the table flags if the locking succeeded. Otherwise, we
keep them as they were when they were fetched in ha_open().
diff --git a/sql/handler.h b/sql/handler.h
index 75f8df98add..dbf05759dfc 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -574,31 +574,6 @@ struct xid_t {
char data[XIDDATASIZE]; // not \0-terminated !
xid_t() {} /* Remove gcc warning */
- long get_format_id() const
- { return formatID; }
- void set_format_id(long v)
- {
- formatID= v;
- }
- long get_gtrid_length() const
- { return gtrid_length; }
- void set_gtrid_length(long v)
- {
- gtrid_length= v;
- }
- long get_bqual_length() const
- { return bqual_length; }
- void set_bqual_length(long v)
- {
- bqual_length= v;
- }
- const char* get_data() const
- { return data; }
- void set_data(const void* v, long l)
- {
- DBUG_ASSERT(l <= XIDDATASIZE);
- memcpy(data, v, l);
- }
bool eq(struct xid_t *xid)
{ return !xid->is_null() && eq(xid->gtrid_length, xid->bqual_length, xid->data); }
bool eq(long g, long b, const char *d)
@@ -611,13 +586,6 @@ struct xid_t {
memcpy(data, g, gtrid_length= gl);
memcpy(data+gl, b, bqual_length= bl);
}
- void reset()
- {
- formatID= -1;
- gtrid_length= 0;
- bqual_length= 0;
- memset(data, 0, XIDDATASIZE);
- }
void set(ulonglong xid)
{
my_xid tmp;
@@ -3916,9 +3884,6 @@ public:
TABLE* get_table() { return table; }
TABLE_SHARE* get_table_share() { return table_share; }
protected:
- /* deprecated, don't use in new engines */
- // inline void ha_statistic_increment(ulong SSV::*offset) const { }
- #define ha_statistic_increment(A)
/* Service methods for use by storage engines. */
void **ha_data(THD *) const;
THD *ha_thd(void) const;
diff --git a/sql/share/errmsg-utf8.txt b/sql/share/errmsg-utf8.txt
index 7c3c4ab0ac5..8cf176eea6d 100644
--- a/sql/share/errmsg-utf8.txt
+++ b/sql/share/errmsg-utf8.txt
@@ -748,7 +748,7 @@ ER_NOT_KEYFILE
cze "Nesprávný klíč pro tabulku '%-.200s'; pokuste se ho opravit"
dan "Fejl i indeksfilen til tabellen '%-.200s'; prøv at reparere den"
nla "Verkeerde zoeksleutel file voor tabel: '%-.200s'; probeer het te repareren"
- eng "Incorrect key file for table '%-.200s'; try to repair it"
+ eng "Index for table '%-.200s' is corrupt; try to repair it"
est "Tabeli '%-.200s' võtmefail on vigane; proovi seda parandada"
fre "Index corrompu dans la table: '%-.200s'; essayez de le réparer"
ger "Fehlerhafte Index-Datei für Tabelle '%-.200s'; versuche zu reparieren"
@@ -7150,6 +7150,8 @@ skip-to-error-number 3000
ER_MYSQL_57_TEST
eng "5.7 test"
+ER_CANNOT_DISCARD_TEMPORARY_TABLE
+ eng "Cannot DISCARD/IMPORT tablespace associated with temporary table"
# MariaDB extra error numbers starts from 4000
skip-to-error-number 4000
@@ -7214,21 +7216,3 @@ ER_CALCULATING_DEFAULT_VALUE
eng "Got an error when calculating default value for %`s"
ER_EXPRESSION_REFERS_TO_UNINIT_FIELD 01000
eng "Expression for field %`-.64s is refering to uninitialized field %`s"
-ER_BUFPOOL_RESIZE_INPROGRESS
- eng "Another buffer pool resize is already in progress."
-ER_CANNOT_DISCARD_TEMPORARY_TABLE
- eng "Cannot DISCARD/IMPORT tablespace associated with temporary table"
-ER_FK_DEPTH_EXCEEDED
- eng "Foreign key cascade delete/update exceeds max depth of %d."
-ER_INNODB_FORCED_RECOVERY
- eng "Operation not allowed when innodb_forced_recovery > 0."
-ER_TABLE_REFERENCED
- eng "Cannot complete the operation because table is referenced by another connection."
-ER_TABLESPACE_IS_NOT_EMPTY
- eng "Tablespace `%-.192s` is not empty."
-ER_MISSING_HA_CREATE_OPTION
- eng "Table storage engine '%-.64s' found required create option missing"
-ER_ENGINE_OUT_OF_MEMORY
- eng "Out of memory in storage engine '%-.64s'."
-ER_WRONG_FILE_NAME
- eng "Incorrect File Name '%s'."
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 55c0948d46e..5a24a2ed2a4 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -21,6 +21,7 @@
/* Classes in mysql */
#include "my_global.h" /* NO_EMBEDDED_ACCESS_CHECKS */
+#include "dur_prop.h"
#include <waiting_threads.h>
#include "sql_const.h"
#include <mysql/plugin_audit.h>
diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
index f8c1273375f..a7ce1264a05 100644
--- a/storage/innobase/handler/ha_innodb.cc
+++ b/storage/innobase/handler/ha_innodb.cc
@@ -2151,8 +2151,6 @@ convert_error_code_to_mysql(
"depth of %d. Please "
"drop extra constraints and try "
"again", DICT_FK_MAX_RECURSIVE_LOAD);
-
- my_error(ER_FK_DEPTH_EXCEEDED, MYF(0), FK_MAX_CASCADE_DEL);
return(HA_ERR_FK_DEPTH_EXCEEDED);
case DB_CANT_CREATE_GEOMETRY_OBJECT:
@@ -2322,9 +2320,9 @@ convert_error_code_to_mysql(
case DB_FTS_TOO_MANY_WORDS_IN_PHRASE:
return(HA_ERR_FTS_TOO_MANY_WORDS_IN_PHRASE);
case DB_WRONG_FILE_NAME:
- return(HA_ERR_WRONG_FILE_NAME);
+ return(HA_ERR_GENERIC); // when can this happen?
case DB_COMPUTE_VALUE_FAILED:
- return(HA_ERR_COMPUTE_FAILED);
+ return(HA_ERR_GENERIC); // impossible
}
}
@@ -9068,8 +9066,6 @@ ha_innobase::write_row(
++trx->will_lock;
}
- ha_statistic_increment(&SSV::ha_write_count);
-
/* Step-2: Intermediate commit if original operation involves ALTER
table with algorithm = copy. Intermediate commit ease pressure on
recovery if server crashes while ALTER is active. */
@@ -9996,8 +9992,6 @@ ha_innobase::update_row(
}
}
- ha_statistic_increment(&SSV::ha_update_count);
-
upd_t* uvect;
if (m_prebuilt->upd_node) {
@@ -10153,8 +10147,6 @@ ha_innobase::delete_row(
++trx->will_lock;
}
- ha_statistic_increment(&SSV::ha_delete_count);
-
if (!m_prebuilt->upd_node) {
row_get_prebuilt_update_vector(m_prebuilt);
}
@@ -10471,8 +10463,6 @@ ha_innobase::index_read(
ut_a(m_prebuilt->trx == thd_to_trx(m_user_thd));
ut_ad(key_len != 0 || find_flag != HA_READ_KEY_EXACT);
- ha_statistic_increment(&SSV::ha_read_key_count);
-
dict_index_t* index = m_prebuilt->index;
if (index == NULL || dict_index_is_corrupted(index)) {
@@ -10964,8 +10954,6 @@ ha_innobase::index_next(
uchar* buf) /*!< in/out: buffer for next row in MySQL
format */
{
- ha_statistic_increment(&SSV::ha_read_next_count);
-
return(general_fetch(buf, ROW_SEL_NEXT, 0));
}
@@ -10980,8 +10968,6 @@ ha_innobase::index_next_same(
const uchar* key, /*!< in: key value */
uint keylen) /*!< in: key value length */
{
- ha_statistic_increment(&SSV::ha_read_next_count);
-
return(general_fetch(buf, ROW_SEL_NEXT, m_last_match_mode));
}
@@ -10995,8 +10981,6 @@ ha_innobase::index_prev(
/*====================*/
uchar* buf) /*!< in/out: buffer for previous row in MySQL format */
{
- ha_statistic_increment(&SSV::ha_read_prev_count);
-
return(general_fetch(buf, ROW_SEL_PREV, 0));
}
@@ -11012,8 +10996,6 @@ ha_innobase::index_first(
{
DBUG_ENTER("index_first");
- ha_statistic_increment(&SSV::ha_read_first_count);
-
int error = index_read(buf, NULL, 0, HA_READ_AFTER_KEY);
/* MySQL does not seem to allow this to return HA_ERR_KEY_NOT_FOUND */
@@ -11037,8 +11019,6 @@ ha_innobase::index_last(
{
DBUG_ENTER("index_last");
- ha_statistic_increment(&SSV::ha_read_last_count);
-
int error = index_read(buf, NULL, 0, HA_READ_BEFORE_KEY);
/* MySQL does not seem to allow this to return HA_ERR_KEY_NOT_FOUND */
@@ -11116,8 +11096,6 @@ ha_innobase::rnd_next(
DBUG_ENTER("rnd_next");
- ha_statistic_increment(&SSV::ha_read_rnd_next_count);
-
if (m_start_of_scan) {
error = index_first(buf);
@@ -11149,8 +11127,6 @@ ha_innobase::rnd_pos(
DBUG_ENTER("rnd_pos");
DBUG_DUMP("key", pos, ref_length);
- ha_statistic_increment(&SSV::ha_read_rnd_count);
-
ut_a(m_prebuilt->trx == thd_to_trx(ha_thd()));
/* Note that we assume the length of the row reference is fixed
@@ -12193,7 +12169,6 @@ create_table_info_t::create_table_def()
ulint long_true_varchar;
ulint charset_no;
ulint i;
- ulint j = 0;
ulint doc_id_col = 0;
ibool has_doc_id_col = FALSE;
mem_heap_t* heap;
@@ -12459,6 +12434,7 @@ err_col:
}
#ifdef MYSQL_VIRTUAL_COLUMNS
if (num_v) {
+ ulint j = 0;
for (i = 0; i < n_cols; i++) {
dict_v_col_t* v_col;
@@ -14366,7 +14342,7 @@ create_table_info_t::prepare_create_table(
}
if (high_level_read_only && !is_intrinsic_temp_table()) {
- DBUG_RETURN(HA_ERR_INNODB_READ_ONLY);
+ DBUG_RETURN(HA_ERR_TABLE_READONLY);
}
DBUG_RETURN(parse_table_name(name));
@@ -23994,7 +23970,6 @@ static struct st_mysql_sys_var* innobase_system_variables[]= {
MYSQL_SYSVAR(master_thread_disabled_debug),
MYSQL_SYSVAR(sync_debug),
#endif /* UNIV_DEBUG */
- MYSQL_SYSVAR(tmpdir),
MYSQL_SYSVAR(force_primary_key),
MYSQL_SYSVAR(fatal_semaphore_wait_threshold),
/* Table page compression feature */
@@ -24853,7 +24828,8 @@ innodb_buffer_pool_size_validate(
if (srv_buf_pool_old_size != srv_buf_pool_size) {
buf_pool_mutex_exit_all();
- my_error(ER_BUFPOOL_RESIZE_INPROGRESS, MYF(0));
+ my_printf_error(ER_WRONG_ARGUMENTS,
+ "Another buffer pool resize is already in progress.", MYF(0));
return(1);
}
diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc
index 10051fc6612..ba95c9760a6 100644
--- a/storage/innobase/handler/handler0alter.cc
+++ b/storage/innobase/handler/handler0alter.cc
@@ -598,7 +598,7 @@ ha_innobase::check_if_supported_inplace_alter(
|| srv_sys_space.created_new_raw()
|| srv_force_recovery) {
ha_alter_info->unsupported_reason = (srv_force_recovery)?
- innobase_get_err_msg(ER_INNODB_FORCED_RECOVERY):
+ "Operation not allowed when innodb_forced_recovery > 0." :
innobase_get_err_msg(ER_READ_ONLY_MODE);
DBUG_RETURN(HA_ALTER_INPLACE_NOT_SUPPORTED);
@@ -7985,7 +7985,8 @@ commit_try_rebuild(
/* Normally, n_ref_count must be 1, because purge
cannot be executing on this very table as we are
holding dict_operation_lock X-latch. */
- my_error(ER_TABLE_REFERENCED,MYF(0));
+ my_printf_error(ER_ILLEGAL_HA, "Cannot complete the operation "
+ "because table is referenced by another connection.", MYF(0));
DBUG_RETURN(true);
}
@@ -9000,7 +9001,8 @@ foreign_fail:
row_mysql_unlock_data_dictionary(trx);
trx_free_for_mysql(trx);
- my_error(ER_TABLE_REFERENCED,MYF(0));
+ my_printf_error(ER_ILLEGAL_HA, "Cannot complete the operation "
+ "because table is referenced by another connection.", MYF(0));
DBUG_RETURN(true);
}
diff --git a/storage/innobase/include/ha_prototypes.h b/storage/innobase/include/ha_prototypes.h
index 837c377f448..6613d35f162 100644
--- a/storage/innobase/include/ha_prototypes.h
+++ b/storage/innobase/include/ha_prototypes.h
@@ -622,12 +622,7 @@ Used when writing either a prepare or commit record to the log
buffer.
@return the durability property. */
-/* JAN: TODO: missing 5.7 header */
-#ifdef HAVE_DUR_PROP_H
#include <dur_prop.h>
-#else
-#include <my_base.h>
-#endif
enum durability_properties
thd_requested_durability(
diff --git a/storage/innobase/lock/lock0lock.cc b/storage/innobase/lock/lock0lock.cc
index b4851ede4ba..927c3d5ff2c 100644
--- a/storage/innobase/lock/lock0lock.cc
+++ b/storage/innobase/lock/lock0lock.cc
@@ -58,7 +58,7 @@ Created 5/7/1996 Heikki Tuuri
#include <set>
#ifdef WITH_WSREP
-#include "wsrep_thd.h"
+#include <mysql/service_wsrep.h>
#endif /* WITH_WSREP */
/** Total number of cached record locks */
diff --git a/storage/innobase/lock/lock0wait.cc b/storage/innobase/lock/lock0wait.cc
index 7536fd88c42..0774182d934 100644
--- a/storage/innobase/lock/lock0wait.cc
+++ b/storage/innobase/lock/lock0wait.cc
@@ -28,6 +28,7 @@ Created 25/5/2010 Sunny Bains
#include "ha_prototypes.h"
#include <mysql/service_thd_wait.h>
+#include <mysql/service_wsrep.h>
#include "srv0mon.h"
#include "que0que.h"
@@ -35,7 +36,6 @@ Created 25/5/2010 Sunny Bains
#include "row0mysql.h"
#include "srv0start.h"
#include "lock0priv.h"
-#include "wsrep_thd.h"
/*********************************************************************//**
Print the contents of the lock_sys_t::waiting_threads array. */
diff --git a/storage/innobase/row/row0upd.cc b/storage/innobase/row/row0upd.cc
index 108e3d5db79..fb86c22fdd6 100644
--- a/storage/innobase/row/row0upd.cc
+++ b/storage/innobase/row/row0upd.cc
@@ -62,10 +62,6 @@ Created 12/27/1996 Heikki Tuuri
#include <mysql/plugin.h>
#include <mysql/service_wsrep.h>
-#ifdef WITH_WSREP
-extern my_bool wsrep_debug;
-#endif
-
/* What kind of latch and lock can we assume when the control comes to
-------------------------------------------------------------------
an update node?
diff --git a/storage/innobase/trx/trx0trx.cc b/storage/innobase/trx/trx0trx.cc
index 4bdd3b2bec5..b209412903f 100644
--- a/storage/innobase/trx/trx0trx.cc
+++ b/storage/innobase/trx/trx0trx.cc
@@ -3028,7 +3028,7 @@ trx_get_trx_by_xid_low(
/* Invalidate the XID, so that subsequent calls
will not find it. */
- trx->xid->reset();
+ trx->xid->null();
break;
}
}
diff --git a/storage/innobase/trx/trx0undo.cc b/storage/innobase/trx/trx0undo.cc
index bd2cc5ab040..932151b948d 100644
--- a/storage/innobase/trx/trx0undo.cc
+++ b/storage/innobase/trx/trx0undo.cc
@@ -633,19 +633,19 @@ trx_undo_write_xid(
mtr_t* mtr) /*!< in: mtr */
{
mlog_write_ulint(log_hdr + TRX_UNDO_XA_FORMAT,
- static_cast<ulint>(xid->get_format_id()),
+ static_cast<ulint>(xid->formatID),
MLOG_4BYTES, mtr);
mlog_write_ulint(log_hdr + TRX_UNDO_XA_TRID_LEN,
- static_cast<ulint>(xid->get_gtrid_length()),
+ static_cast<ulint>(xid->gtrid_length),
MLOG_4BYTES, mtr);
mlog_write_ulint(log_hdr + TRX_UNDO_XA_BQUAL_LEN,
- static_cast<ulint>(xid->get_bqual_length()),
+ static_cast<ulint>(xid->bqual_length),
MLOG_4BYTES, mtr);
mlog_write_string(log_hdr + TRX_UNDO_XA_XID,
- reinterpret_cast<const byte*>(xid->get_data()),
+ reinterpret_cast<const byte*>(xid->data),
XIDDATASIZE, mtr);
}
@@ -658,16 +658,16 @@ trx_undo_read_xid(
trx_ulogf_t* log_hdr,/*!< in: undo log header */
XID* xid) /*!< out: X/Open XA Transaction Identification */
{
- xid->set_format_id(static_cast<long>(mach_read_from_4(
- log_hdr + TRX_UNDO_XA_FORMAT)));
+ xid->formatID=static_cast<long>(mach_read_from_4(
+ log_hdr + TRX_UNDO_XA_FORMAT));
- xid->set_gtrid_length(static_cast<long>(mach_read_from_4(
- log_hdr + TRX_UNDO_XA_TRID_LEN)));
+ xid->gtrid_length=static_cast<long>(mach_read_from_4(
+ log_hdr + TRX_UNDO_XA_TRID_LEN));
- xid->set_bqual_length(static_cast<long>(mach_read_from_4(
- log_hdr + TRX_UNDO_XA_BQUAL_LEN)));
+ xid->bqual_length=static_cast<long>(mach_read_from_4(
+ log_hdr + TRX_UNDO_XA_BQUAL_LEN));
- xid->set_data(log_hdr + TRX_UNDO_XA_XID, XIDDATASIZE);
+ memcpy(xid->data, log_hdr + TRX_UNDO_XA_XID, XIDDATASIZE);
}
/***************************************************************//**
@@ -1338,7 +1338,7 @@ trx_undo_mem_create_at_db_start(
/* Read X/Open XA transaction identification if it exists, or
set it to NULL. */
- xid.reset();
+ xid.null();
if (xid_exists == TRUE) {
trx_undo_read_xid(undo_header, &xid);
diff --git a/storage/perfschema/ha_perfschema.cc b/storage/perfschema/ha_perfschema.cc
index 2a87ffba999..87ce386a7cd 100644
--- a/storage/perfschema/ha_perfschema.cc
+++ b/storage/perfschema/ha_perfschema.cc
@@ -271,7 +271,6 @@ int ha_perfschema::write_row(uchar *buf)
DBUG_RETURN(HA_ERR_WRONG_COMMAND);
DBUG_ASSERT(m_table_share);
- ha_statistic_increment(&SSV::ha_write_count);
result= m_table_share->write_row(table, buf, table->field);
DBUG_RETURN(result);
}
@@ -297,7 +296,6 @@ int ha_perfschema::update_row(const uchar *old_data, uchar *new_data)
DBUG_RETURN(0);
DBUG_ASSERT(m_table);
- ha_statistic_increment(&SSV::ha_update_count);
int result= m_table->update_row(table, old_data, new_data, table->field);
DBUG_RETURN(result);
}
@@ -309,7 +307,6 @@ int ha_perfschema::delete_row(const uchar *buf)
DBUG_RETURN(HA_ERR_WRONG_COMMAND);
DBUG_ASSERT(m_table);
- ha_statistic_increment(&SSV::ha_delete_count);
int result= m_table->delete_row(table, buf, table->field);
DBUG_RETURN(result);
}
@@ -354,7 +351,6 @@ int ha_perfschema::rnd_next(uchar *buf)
}
DBUG_ASSERT(m_table);
- ha_statistic_increment(&SSV::ha_read_rnd_next_count);
int result= m_table->rnd_next();
if (result == 0)
@@ -386,7 +382,6 @@ int ha_perfschema::rnd_pos(uchar *buf, uchar *pos)
}
DBUG_ASSERT(m_table);
- ha_statistic_increment(&SSV::ha_read_rnd_count);
int result= m_table->rnd_pos(pos);
if (result == 0)
result= m_table->read_row(table, buf, table->field);
diff --git a/storage/spider/ha_spider.cc b/storage/spider/ha_spider.cc
index 877e2621f5f..adb4c5c9bcb 100644
--- a/storage/spider/ha_spider.cc
+++ b/storage/spider/ha_spider.cc
@@ -9559,7 +9559,6 @@ int ha_spider::write_row(
DBUG_RETURN(error_num);
}
#endif
- ha_statistic_increment(&SSV::ha_write_count);
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100000
#else
if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_INSERT)
@@ -9795,7 +9794,6 @@ int ha_spider::update_row(
DBUG_RETURN(error_num);
}
#endif
- ha_statistic_increment(&SSV::ha_update_count);
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE;
#endif
@@ -10138,7 +10136,6 @@ int ha_spider::delete_row(
DBUG_RETURN(error_num);
}
#endif
- ha_statistic_increment(&SSV::ha_delete_count);
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
do_direct_update = FALSE;
#endif
diff --git a/storage/tokudb/ha_tokudb.cc b/storage/tokudb/ha_tokudb.cc
index 79d85a9b77c..c10dfc0e76e 100644
--- a/storage/tokudb/ha_tokudb.cc
+++ b/storage/tokudb/ha_tokudb.cc
@@ -3988,7 +3988,6 @@ int ha_tokudb::write_row(uchar * record) {
// some crap that needs to be done because MySQL does not properly abstract
// this work away from us, namely filling in auto increment and setting auto timestamp
//
- ha_statistic_increment(&SSV::ha_write_count);
#if MYSQL_VERSION_ID < 50600
if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_INSERT) {
table->timestamp_field->set_time();
@@ -4174,7 +4173,6 @@ int ha_tokudb::update_row(const uchar * old_row, uchar * new_row) {
memset((void *) &prim_row, 0, sizeof(prim_row));
memset((void *) &old_prim_row, 0, sizeof(old_prim_row));
- ha_statistic_increment(&SSV::ha_update_count);
#if MYSQL_VERSION_ID < 50600
if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_UPDATE) {
table->timestamp_field->set_time();
@@ -4342,8 +4340,6 @@ int ha_tokudb::delete_row(const uchar * record) {
uint curr_num_DBs;
tokudb_trx_data* trx = (tokudb_trx_data *) thd_get_ha_data(thd, tokudb_hton);
- ha_statistic_increment(&SSV::ha_delete_count);
-
//
// grab reader lock on numDBs_lock
//
@@ -4883,7 +4879,6 @@ int ha_tokudb::read_full_row(uchar * buf) {
//
int ha_tokudb::index_next_same(uchar* buf, const uchar* key, uint keylen) {
TOKUDB_HANDLER_DBUG_ENTER("");
- ha_statistic_increment(&SSV::ha_read_next_count);
DBT curr_key;
DBT found_key;
@@ -4972,7 +4967,6 @@ int ha_tokudb::index_read(
cursor->c_remove_restriction(cursor);
}
- ha_statistic_increment(&SSV::ha_read_key_count);
memset((void *) &row, 0, sizeof(row));
info.ha = this;
@@ -5632,7 +5626,6 @@ cleanup:
//
int ha_tokudb::index_next(uchar * buf) {
TOKUDB_HANDLER_DBUG_ENTER("");
- ha_statistic_increment(&SSV::ha_read_next_count);
int error = get_next(buf, 1, NULL, key_read);
TOKUDB_HANDLER_DBUG_RETURN(error);
}
@@ -5654,7 +5647,6 @@ int ha_tokudb::index_read_last(uchar * buf, const uchar * key, uint key_len) {
//
int ha_tokudb::index_prev(uchar * buf) {
TOKUDB_HANDLER_DBUG_ENTER("");
- ha_statistic_increment(&SSV::ha_read_prev_count);
int error = get_next(buf, -1, NULL, key_read);
TOKUDB_HANDLER_DBUG_RETURN(error);
}
@@ -5678,8 +5670,6 @@ int ha_tokudb::index_first(uchar * buf) {
tokudb_trx_data* trx = (tokudb_trx_data *) thd_get_ha_data(thd, tokudb_hton);;
HANDLE_INVALID_CURSOR();
- ha_statistic_increment(&SSV::ha_read_first_count);
-
info.ha = this;
info.buf = buf;
info.keynr = tokudb_active_index;
@@ -5722,8 +5712,6 @@ int ha_tokudb::index_last(uchar * buf) {
tokudb_trx_data* trx = (tokudb_trx_data *) thd_get_ha_data(thd, tokudb_hton);;
HANDLE_INVALID_CURSOR();
- ha_statistic_increment(&SSV::ha_read_last_count);
-
info.ha = this;
info.buf = buf;
info.keynr = tokudb_active_index;
@@ -5803,7 +5791,6 @@ int ha_tokudb::rnd_end() {
//
int ha_tokudb::rnd_next(uchar * buf) {
TOKUDB_HANDLER_DBUG_ENTER("");
- ha_statistic_increment(&SSV::ha_read_rnd_next_count);
int error = get_next(buf, 1, NULL, false);
TOKUDB_HANDLER_DBUG_RETURN(error);
}
@@ -5909,7 +5896,6 @@ int ha_tokudb::rnd_pos(uchar * buf, uchar * pos) {
DBT* key = get_pos(&db_pos, pos);
unpack_entire_row = true;
- ha_statistic_increment(&SSV::ha_read_rnd_count);
tokudb_active_index = MAX_KEY;
// test rpl slave by inducing a delay before the point query
diff --git a/storage/tokudb/mysql-test/tokudb_bugs/r/db938.result b/storage/tokudb/mysql-test/tokudb_bugs/r/db938.result
index 779d458221b..b64c240b1ea 100644
--- a/storage/tokudb/mysql-test/tokudb_bugs/r/db938.result
+++ b/storage/tokudb/mysql-test/tokudb_bugs/r/db938.result
@@ -19,10 +19,15 @@ insert into t1(b,c) values(0,0), (1,1), (2,2), (3,3);
select database_name, table_name, job_type, job_params, scheduler from information_schema.tokudb_background_job_status;
database_name table_name job_type job_params scheduler
test t1 TOKUDB_ANALYZE_MODE_STANDARD TOKUDB_ANALYZE_DELETE_FRACTION=1.000000; TOKUDB_ANALYZE_TIME=0; TOKUDB_ANALYZE_THROTTLE=0; AUTO
+connect conn1, localhost, root;
set DEBUG_SYNC = 'tokudb_after_truncate_all_dictionarys SIGNAL closed WAIT_FOR done';
TRUNCATE TABLE t1;
+connection default;
set global tokudb_debug_pause_background_job_manager = FALSE;
set DEBUG_SYNC = 'now SIGNAL done';
+connection conn1;
+connection default;
+disconnect conn1;
drop table t1;
set session tokudb_auto_analyze = @orig_auto_analyze;
set session tokudb_analyze_in_background = @orig_in_background;
diff --git a/storage/xtradb/CMakeLists.txt b/storage/xtradb/CMakeLists.txt
index a55671504ea..a9a4d422143 100644
--- a/storage/xtradb/CMakeLists.txt
+++ b/storage/xtradb/CMakeLists.txt
@@ -505,7 +505,8 @@ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")
ENDIF()
MYSQL_ADD_PLUGIN(xtradb ${INNOBASE_SOURCES} STORAGE_ENGINE
- DISABLED RECOMPILE_FOR_EMBEDDED
+ DISABLED # until upgraded to 5.7, see also mysql-test/include/have_xtradb.combinations
+ RECOMPILE_FOR_EMBEDDED
LINK_LIBRARIES ${ZLIB_LIBRARY} ${LINKER_SCRIPT})
IF(TARGET xtradb AND NOT XTRADB_OK)
diff --git a/storage/xtradb/handler/ha_innodb.cc b/storage/xtradb/handler/ha_innodb.cc
index 55832150f52..d5b2811fc7f 100644
--- a/storage/xtradb/handler/ha_innodb.cc
+++ b/storage/xtradb/handler/ha_innodb.cc
@@ -8540,8 +8540,6 @@ ha_innobase::write_row(
++trx->will_lock;
}
- ha_statistic_increment(&SSV::ha_write_count);
-
if (share->ib_table != prebuilt->table) {
fprintf(stderr,
"InnoDB: Warning: share->ib_table %p prebuilt->table %p table %s is_corrupt %lu.",
@@ -9313,8 +9311,6 @@ ha_innobase::update_row(
}
}
- ha_statistic_increment(&SSV::ha_update_count);
-
if (share->ib_table != prebuilt->table) {
fprintf(stderr,
"InnoDB: Warning: share->ib_table %p prebuilt->table %p table %s is_corrupt %lu.",
@@ -9472,8 +9468,6 @@ ha_innobase::delete_row(
++trx->will_lock;
}
- ha_statistic_increment(&SSV::ha_delete_count);
-
if (UNIV_UNLIKELY(share && share->ib_table
&& share->ib_table->is_corrupt)) {
DBUG_RETURN(HA_ERR_CRASHED);
@@ -9772,8 +9766,6 @@ ha_innobase::index_read(
ut_a(prebuilt->trx == thd_to_trx(user_thd));
ut_ad(key_len != 0 || find_flag != HA_READ_KEY_EXACT);
- ha_statistic_increment(&SSV::ha_read_key_count);
-
if (UNIV_UNLIKELY(srv_pass_corrupt_table <= 1 && share
&& share->ib_table && share->ib_table->is_corrupt)) {
DBUG_RETURN(HA_ERR_CRASHED);
@@ -20427,7 +20419,7 @@ static MYSQL_SYSVAR_BOOL(buffer_pool_load_abort, innodb_buffer_pool_load_abort,
static MYSQL_SYSVAR_BOOL(buffer_pool_load_at_startup, srv_buffer_pool_load_at_startup,
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
"Load the buffer pool from a file named @@innodb_buffer_pool_filename",
- NULL, NULL, TRUE);
+ NULL, NULL, FALSE);
static MYSQL_SYSVAR_BOOL(defragment, srv_defragment,
PLUGIN_VAR_RQCMDARG,
diff --git a/storage/xtradb/include/ha_prototypes.h b/storage/xtradb/include/ha_prototypes.h
index 077c00d8eb0..cadac675d70 100644
--- a/storage/xtradb/include/ha_prototypes.h
+++ b/storage/xtradb/include/ha_prototypes.h
@@ -32,6 +32,7 @@ Created 5/11/2006 Osku Salerma
#include "my_sys.h"
#include "m_string.h"
#include "my_base.h"
+#include "dur_prop.h"
#ifndef UNIV_INNOCHECKSUM
#include "mysqld_error.h"