misc after-merge changes:

* remove new InnoDB-specific ER_ and HA_ERR_ codes
* renamed few old ER_ and HA_ERR_ error messages to be less MyISAM-specific
* remove duplicate enum definitions (durability_properties, icp_result)
* move new mysql-test include files to their owner suite
* rename xtradb.rdiff files to *-disabled
* remove mistakenly committed helper perl module
* remove long obsolete handler::ha_statistic_increment() method
* restore the standard C xid_t structure to not have setters and getters
* remove xid_t::reset that was cleaning too much
* move MySQL-5.7 ER_ codes where they belong
* fir innodb to include service_wsrep.h not internal wsrep headers
* update tests and results
This commit is contained in:
Sergei Golubchik 2016-09-10 16:04:44 +02:00
parent d8cbad069a
commit d019af402c
47 changed files with 141 additions and 342 deletions

View file

@ -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 */

View file

@ -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 */

View file

@ -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 */

View file

@ -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

View file

@ -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.
}

View file

@ -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
}
}

View file

@ -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:.*/,

View file

@ -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);

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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;

View file

@ -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().

View file

@ -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;

View file

@ -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'."

View file

@ -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>

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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(

View file

@ -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 */

View file

@ -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. */

View file

@ -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?

View file

@ -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;
}
}

View file

@ -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);

View file

@ -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);

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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)

View file

@ -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,

View file

@ -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"