Merge 10.4 into 10.5

This commit is contained in:
Marko Mäkelä 2020-08-01 14:42:51 +03:00
commit 50a11f396a
210 changed files with 5233 additions and 1209 deletions

View file

@ -896,6 +896,7 @@ static const char *expected_errors[]=
"ERROR 1290", /* RR_OPTION_PREVENTS_STATEMENT */
"ERROR 1347", /* 'mysql.user' is not of type 'BASE TABLE' */
"ERROR 1348", /* Column 'Show_db_priv' is not updatable */
"ERROR 1356", /* definer of view lack rights (UPDATE) */
0
};

View file

@ -69,6 +69,11 @@ IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "i686" AND CMAKE_COMPILER_IS_GNUCC AND
SET(PLUGIN_QUERY_RESPONSE_TIME NO CACHE BOOL "Disabled, gcc is too old")
ENDIF()
# use runtime atomic-support detection in aarch64
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
MY_CHECK_AND_SET_COMPILER_FLAG("-moutline-atomics")
ENDIF()
IF(WITHOUT_DYNAMIC_PLUGINS)
MESSAGE("Dynamic plugins are disabled.")
ENDIF(WITHOUT_DYNAMIC_PLUGINS)

View file

@ -244,14 +244,6 @@ static char* innobase_ignored_opt;
char* innobase_data_home_dir;
char* innobase_data_file_path;
/* The following counter is used to convey information to InnoDB
about server activity: in selects it is not sensible to call
srv_active_wake_master_thread after each fetch or search, we only do
it every INNOBASE_WAKE_INTERVAL'th step. */
#define INNOBASE_WAKE_INTERVAL 32
ulong innobase_active_counter = 0;
#ifndef _WIN32
static char *xtrabackup_debug_sync = NULL;
#endif

View file

@ -77,7 +77,7 @@ C_MODE_START
/**
A cycle timer.
On clang, we use __builtin_readcyclecounter().
On clang we use __builtin_readcyclecounter(), except for AARCH64.
On other compilers:
On IA-32 and AMD64, we use the RDTSC instruction.
@ -88,6 +88,9 @@ C_MODE_START
On IBM S/390 System z we use the STCK instruction.
On ARM, we probably should use the Generic Timer, but should figure out
how to ensure that it can be accessed.
On AARCH64, we use the generic timer base register. We override clang
implementation for aarch64 as it access a PMU register which is not
guarenteed to be active.
Sadly, we have nothing for the Digital Alpha, MIPS, Motorola m68k,
HP PA-RISC or other non-mainstream (or obsolete) processors.
@ -125,7 +128,7 @@ C_MODE_START
*/
static inline ulonglong my_timer_cycles(void)
{
# if __has_builtin(__builtin_readcyclecounter)
# if __has_builtin(__builtin_readcyclecounter) && !defined (__aarch64__)
return __builtin_readcyclecounter();
# elif defined _WIN32 || defined __i386__ || defined __x86_64__
return __rdtsc();
@ -164,6 +167,12 @@ static inline ulonglong my_timer_cycles(void)
__asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc");
return result;
}
#elif defined(__GNUC__) && defined (__aarch64__)
{
ulonglong result;
__asm __volatile("mrs %0, CNTVCT_EL0" : "=&r" (result));
return result;
}
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)
/* gethrtime may appear as either cycle or nanosecond counter */
return (ulonglong) gethrtime();
@ -221,6 +230,7 @@ C_MODE_END
#define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25
#define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26
#define MY_TIMER_ROUTINE_ASM_S390 28
#define MY_TIMER_ROUTINE_AARCH64 29
#endif

View file

@ -233,9 +233,16 @@ static inline long my_time_fraction_remainder(long nr, uint decimals)
DBUG_ASSERT(decimals <= TIME_SECOND_PART_DIGITS);
return nr % (long) log_10_int[TIME_SECOND_PART_DIGITS - decimals];
}
static inline void my_datetime_trunc(MYSQL_TIME *ltime, uint decimals)
{
ltime->second_part-= my_time_fraction_remainder(ltime->second_part, decimals);
}
static inline void my_time_trunc(MYSQL_TIME *ltime, uint decimals)
{
ltime->second_part-= my_time_fraction_remainder(ltime->second_part, decimals);
if (!ltime->second_part && ltime->neg &&
!ltime->hour && !ltime->minute && !ltime->second)
ltime->neg= FALSE;
}
static inline void my_timeval_trunc(struct timeval *tv, uint decimals)
{

View file

@ -112,9 +112,7 @@ my_bool vio_peer_addr(Vio *vio, char *buf, uint16 *port, size_t buflen);
/* Wait for an I/O event notification. */
int vio_io_wait(Vio *vio, enum enum_vio_io_event event, int timeout);
my_bool vio_is_connected(Vio *vio);
#ifndef DBUG_OFF
ssize_t vio_pending(Vio *vio);
#endif
/* Set timeout for a network operation. */
extern int vio_timeout(Vio *vio, uint which, int timeout_sec);
extern void vio_set_wait_callback(void (*before_wait)(void),

View file

@ -80,7 +80,7 @@ while (<F>) {
s/table id \d+/table id #/;
s/mapped to number \d+/mapped to number #/;
s/CRC32 0x[0-9a-f]+/CRC32 0x########/;
print if /\b(GTID|BEGIN|COMMIT|Table_map|Write_rows|Update_rows|Delete_rows|generated by server|40005 TEMPORARY)\b/;
print if /\b(GTID|START TRANSACTION|COMMIT|Table_map|Write_rows|Update_rows|Delete_rows|generated by server|40005 TEMPORARY)\b/;
}
close F;
EOF

View file

@ -2619,7 +2619,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(3) DEFAULT NULL
`c1` varchar(2) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(4));
@ -2664,7 +2664,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(5) DEFAULT NULL
`c1` varchar(3) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(7));
@ -2709,7 +2709,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(6) DEFAULT NULL
`c1` varchar(5) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(10));
@ -2754,7 +2754,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(7) DEFAULT NULL
`c1` varchar(6) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(13));
@ -2769,7 +2769,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(7) DEFAULT NULL
`c1` varchar(6) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(14));
@ -2799,7 +2799,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(9) DEFAULT NULL
`c1` varchar(7) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(16));
@ -2814,7 +2814,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(9) DEFAULT NULL
`c1` varchar(7) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(17));
@ -2844,7 +2844,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(10) DEFAULT NULL
`c1` varchar(9) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(19));
@ -2859,7 +2859,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(10) DEFAULT NULL
`c1` varchar(9) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(20));
@ -2889,7 +2889,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(11) DEFAULT NULL
`c1` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(22));
@ -2904,7 +2904,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(11) DEFAULT NULL
`c1` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(23));
@ -2919,7 +2919,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(11) DEFAULT NULL
`c1` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(24));
@ -2934,7 +2934,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(13) DEFAULT NULL
`c1` varchar(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(25));
@ -2949,7 +2949,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(13) DEFAULT NULL
`c1` varchar(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(26));
@ -2964,7 +2964,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(13) DEFAULT NULL
`c1` varchar(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(27));
@ -2979,7 +2979,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(14) DEFAULT NULL
`c1` varchar(13) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(28));
@ -2994,7 +2994,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(14) DEFAULT NULL
`c1` varchar(13) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(29));
@ -3009,7 +3009,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(14) DEFAULT NULL
`c1` varchar(13) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(30));
@ -3024,7 +3024,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(15) DEFAULT NULL
`c1` varchar(14) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(31));
@ -3039,7 +3039,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(15) DEFAULT NULL
`c1` varchar(14) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(32));
@ -3054,7 +3054,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(15) DEFAULT NULL
`c1` varchar(14) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(33));
@ -3069,7 +3069,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(17) DEFAULT NULL
`c1` varchar(14) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(34));
@ -3084,7 +3084,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(17) DEFAULT NULL
`c1` varchar(15) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(35));
@ -3099,7 +3099,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(17) DEFAULT NULL
`c1` varchar(15) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(36));
@ -3114,7 +3114,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(18) DEFAULT NULL
`c1` varchar(15) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(37));
@ -3129,7 +3129,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(18) DEFAULT NULL
`c1` varchar(17) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(38));
@ -3144,7 +3144,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(18) DEFAULT NULL
`c1` varchar(17) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(39));
@ -3159,7 +3159,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(19) DEFAULT NULL
`c1` varchar(17) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(40));
@ -3174,7 +3174,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(19) DEFAULT NULL
`c1` varchar(18) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(41));
@ -3189,7 +3189,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(19) DEFAULT NULL
`c1` varchar(18) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(42));
@ -3204,7 +3204,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(21) DEFAULT NULL
`c1` varchar(18) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(43));
@ -3219,7 +3219,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(21) DEFAULT NULL
`c1` varchar(18) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(44));
@ -3234,7 +3234,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(21) DEFAULT NULL
`c1` varchar(19) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(45));
@ -3249,7 +3249,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(22) DEFAULT NULL
`c1` varchar(19) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(46));
@ -3264,7 +3264,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(22) DEFAULT NULL
`c1` varchar(19) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(47));
@ -3279,7 +3279,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(22) DEFAULT NULL
`c1` varchar(21) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(48));
@ -3294,7 +3294,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(23) DEFAULT NULL
`c1` varchar(21) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(49));
@ -3309,7 +3309,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(23) DEFAULT NULL
`c1` varchar(21) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(50));
@ -3324,7 +3324,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(23) DEFAULT NULL
`c1` varchar(22) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(51));
@ -3339,7 +3339,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(25) DEFAULT NULL
`c1` varchar(22) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(52));
@ -3354,7 +3354,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(25) DEFAULT NULL
`c1` varchar(22) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(53));
@ -3369,7 +3369,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(25) DEFAULT NULL
`c1` varchar(22) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(54));
@ -3384,7 +3384,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(26) DEFAULT NULL
`c1` varchar(23) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(55));
@ -3399,7 +3399,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(26) DEFAULT NULL
`c1` varchar(23) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(56));
@ -3414,7 +3414,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(26) DEFAULT NULL
`c1` varchar(23) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(57));
@ -3429,7 +3429,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(27) DEFAULT NULL
`c1` varchar(25) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(58));
@ -3444,7 +3444,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(27) DEFAULT NULL
`c1` varchar(25) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(59));
@ -3459,7 +3459,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(27) DEFAULT NULL
`c1` varchar(25) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(60));
@ -3474,7 +3474,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(29) DEFAULT NULL
`c1` varchar(26) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(61));
@ -3489,7 +3489,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(29) DEFAULT NULL
`c1` varchar(26) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(62));
@ -3504,7 +3504,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(29) DEFAULT NULL
`c1` varchar(26) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(63));
@ -3519,7 +3519,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(30) DEFAULT NULL
`c1` varchar(26) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (c1 BIT(64));
@ -3534,7 +3534,7 @@ HEX(c1)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` varchar(30) DEFAULT NULL
`c1` varchar(27) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
CREATE OR REPLACE TABLE t1 (f float);

View file

@ -975,7 +975,6 @@ select * from information_schema.table_privileges;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
'mysqltest_8'@'%' def test t1 UPDATE NO
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
'mariadb.sys'@'localhost' def mysql global_priv UPDATE NO
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
connect conn5,localhost,mysqltest_8,,;
select * from t1;
@ -992,7 +991,6 @@ GRANT USAGE ON *.* TO `mysqltest_8`@`%`
select * from information_schema.table_privileges;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
'mariadb.sys'@'localhost' def mysql global_priv UPDATE NO
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
flush privileges;
show grants for mysqltest_8@'';

View file

@ -148,7 +148,7 @@ call mtr.add_suppression('mysql.user table is damaged');
rename table mysql.user to mysql.user1;
create table mysql.user (Host char(100), User char(100));
flush privileges;
ERROR HY000: Unknown error
ERROR HY000: Fatal error: mysql.user table is damaged or in unsupported 3.20 format
drop table mysql.user;
rename table mysql.user1 to mysql.user;
# switching back from mysql.user to mysql.global_priv

View file

@ -242,4 +242,10 @@ disconnect con1;
connection default;
drop database db;
drop user foo;
call mtr.add_suppression('mysql.host table is damaged');
create table mysql.host (c1 int);
insert mysql.host values (1);
flush privileges;
ERROR HY000: Fatal error: mysql.host table is damaged or in unsupported 3.20 format
drop table mysql.host;
# End of 10.4 tests

View file

@ -199,4 +199,14 @@ delete from db.t1 returning *;
drop database db;
drop user foo;
#
# MDEV-23009 SIGSEGV in get_field from acl_load (on optimized builds)
#
call mtr.add_suppression('mysql.host table is damaged');
create table mysql.host (c1 int);
insert mysql.host values (1);
--error ER_UNKNOWN_ERROR
flush privileges;
drop table mysql.host;
--echo # End of 10.4 tests

View file

@ -576,7 +576,6 @@ GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRAN
select * from INFORMATION_SCHEMA.TABLE_PRIVILEGES;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
'mariadb.sys'@'localhost' def mysql global_priv UPDATE NO
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
drop view v1, v2, v3;
drop table t1;

View file

@ -0,0 +1 @@
--thread-handling=pool-of-threads

View file

@ -0,0 +1,43 @@
SELECT
@@global.wait_timeout, @@global.thread_pool_max_threads, @@global.thread_pool_size,
@@global.thread_pool_oversubscribe, @@global.thread_pool_stall_limit
INTO
@_wait_timeout,@_thread_pool_max_threads,@_thread_pool_size,
@_thread_pool_oversubscribe,@_thread_pool_stall_limit;
SET @@global.wait_timeout=1,
@@global.thread_pool_max_threads=2,
@@global.thread_pool_size=1,
@@global.thread_pool_oversubscribe=1,
@@global.thread_pool_stall_limit=10;
connect c1, localhost, root,,;
connect c2, localhost, root,,;
connect c3, localhost, root,,;
connection c1;
select sleep(1.1);
connection c2;
select sleep(1.1);
connection c3;
select sleep(1.1);
connection default;
select sleep(1.1);
connection c1;
sleep(1.1)
0
connection c2;
sleep(1.1)
0
connection c3;
sleep(1.1)
0
connection default;
sleep(1.1)
0
disconnect c1;
disconnect c2;
disconnect c3;
connection default;
SET @@global.wait_timeout=@_wait_timeout,
@@global.thread_pool_max_threads=@_thread_pool_max_threads,
@@global.thread_pool_size=@_thread_pool_size,
@@global.thread_pool_oversubscribe=@_thread_pool_oversubscribe,
@@global.thread_pool_stall_limit=@_thread_pool_stall_limit;

View file

@ -0,0 +1,54 @@
--source include/not_embedded.inc
# Test that wait_timeout does not cause connection to be closed, when connection is delayed due to
# threadpool internal problems, e.g misconfiguration - too few threads and queueing.
# So if client did not cause wait_timeout, do not report it either.
# See MDEV-21101 for details.
# Intentionally misconfigure threadpool to have at most 1 or 2 threads (
# depends on the implementation). Use minimal wait_timeout, do some slow queries from
# different connections simultaneously, to force queueing occurs.
# Verify connections are intact, even if queueing time exceeds wait_timeout
SELECT
@@global.wait_timeout, @@global.thread_pool_max_threads, @@global.thread_pool_size,
@@global.thread_pool_oversubscribe, @@global.thread_pool_stall_limit
INTO
@_wait_timeout,@_thread_pool_max_threads,@_thread_pool_size,
@_thread_pool_oversubscribe,@_thread_pool_stall_limit;
SET @@global.wait_timeout=1,
@@global.thread_pool_max_threads=2,
@@global.thread_pool_size=1,
@@global.thread_pool_oversubscribe=1,
@@global.thread_pool_stall_limit=10;
--connect (c1, localhost, root,,)
--connect (c2, localhost, root,,)
--connect (c3, localhost, root,,)
--connection c1
--send select sleep(1.1)
--connection c2
--send select sleep(1.1)
--connection c3
--send select sleep(1.1)
--connection default
--send select sleep(1.1)
--connection c1
--reap
--connection c2
--reap
--connection c3
--reap
--connection default
--reap
--disconnect c1
--disconnect c2
--disconnect c3
--connection default
SET @@global.wait_timeout=@_wait_timeout,
@@global.thread_pool_max_threads=@_thread_pool_max_threads,
@@global.thread_pool_size=@_thread_pool_size,
@@global.thread_pool_oversubscribe=@_thread_pool_oversubscribe,
@@global.thread_pool_stall_limit=@_thread_pool_stall_limit;

View file

@ -715,16 +715,16 @@ CEILING(11111111),
CEILING(111111111),
CEILING(1111111111) LIMIT 0;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def CEILING(1) 3 3 0 N 32897 0 63
def CEILING(11) 3 4 0 N 32897 0 63
def CEILING(111) 3 5 0 N 32897 0 63
def CEILING(1111) 3 6 0 N 32897 0 63
def CEILING(11111) 3 7 0 N 32897 0 63
def CEILING(111111) 3 8 0 N 32897 0 63
def CEILING(1111111) 3 9 0 N 32897 0 63
def CEILING(11111111) 8 10 0 N 32897 0 63
def CEILING(111111111) 8 11 0 N 32897 0 63
def CEILING(1111111111) 8 12 0 N 32897 0 63
def CEILING(1) 3 1 0 N 32897 0 63
def CEILING(11) 3 2 0 N 32897 0 63
def CEILING(111) 3 3 0 N 32897 0 63
def CEILING(1111) 3 4 0 N 32897 0 63
def CEILING(11111) 3 5 0 N 32897 0 63
def CEILING(111111) 3 6 0 N 32897 0 63
def CEILING(1111111) 3 7 0 N 32897 0 63
def CEILING(11111111) 3 8 0 N 32897 0 63
def CEILING(111111111) 3 9 0 N 32897 0 63
def CEILING(1111111111) 8 10 0 N 32897 0 63
CEILING(1) CEILING(11) CEILING(111) CEILING(1111) CEILING(11111) CEILING(111111) CEILING(1111111) CEILING(11111111) CEILING(111111111) CEILING(1111111111)
SELECT
FLOOR(1),
@ -738,16 +738,16 @@ FLOOR(11111111),
FLOOR(111111111),
FLOOR(1111111111) LIMIT 0;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def FLOOR(1) 3 3 0 N 32897 0 63
def FLOOR(11) 3 4 0 N 32897 0 63
def FLOOR(111) 3 5 0 N 32897 0 63
def FLOOR(1111) 3 6 0 N 32897 0 63
def FLOOR(11111) 3 7 0 N 32897 0 63
def FLOOR(111111) 3 8 0 N 32897 0 63
def FLOOR(1111111) 3 9 0 N 32897 0 63
def FLOOR(11111111) 8 10 0 N 32897 0 63
def FLOOR(111111111) 8 11 0 N 32897 0 63
def FLOOR(1111111111) 8 12 0 N 32897 0 63
def FLOOR(1) 3 1 0 N 32897 0 63
def FLOOR(11) 3 2 0 N 32897 0 63
def FLOOR(111) 3 3 0 N 32897 0 63
def FLOOR(1111) 3 4 0 N 32897 0 63
def FLOOR(11111) 3 5 0 N 32897 0 63
def FLOOR(111111) 3 6 0 N 32897 0 63
def FLOOR(1111111) 3 7 0 N 32897 0 63
def FLOOR(11111111) 3 8 0 N 32897 0 63
def FLOOR(111111111) 3 9 0 N 32897 0 63
def FLOOR(1111111111) 8 10 0 N 32897 0 63
FLOOR(1) FLOOR(11) FLOOR(111) FLOOR(1111) FLOOR(11111) FLOOR(111111) FLOOR(1111111) FLOOR(11111111) FLOOR(111111111) FLOOR(1111111111)
SELECT
ROUND(1),

View file

@ -24,7 +24,7 @@ FLUSH LOGS;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -39,7 +39,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
INSERT INTO t1 VALUES (1)
/*!*/;
COMMIT/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
INSERT INTO t1 VALUES (2)
@ -55,7 +55,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `foo`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -70,7 +70,7 @@ SET @@session.collation_database=DEFAULT/*!*/;
INSERT INTO t1 VALUES (1)
/*!*/;
COMMIT/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
INSERT INTO t1 VALUES (2)

View file

@ -37,7 +37,7 @@ create table t1 (word varchar(20))
SET TIMESTAMP=1000000000/*!*/;
create table t2 (id int auto_increment not null primary key)
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
insert into t1 values ("abirvalg")
@ -45,7 +45,7 @@ insert into t1 values ("abirvalg")
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -54,7 +54,7 @@ insert into t2 values ()
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -62,7 +62,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -70,7 +70,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -78,7 +78,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -97,7 +97,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -114,7 +114,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
insert into t1 values ("Alas")
@ -134,7 +134,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
@ -147,28 +147,28 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
@ -184,7 +184,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -231,7 +231,7 @@ create table t1 (word varchar(20))
SET TIMESTAMP=1000000000/*!*/;
create table t2 (id int auto_increment not null primary key)
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
insert into t1 values ("abirvalg")
@ -239,7 +239,7 @@ insert into t1 values ("abirvalg")
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -248,7 +248,7 @@ insert into t2 values ()
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -256,7 +256,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -264,7 +264,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -272,7 +272,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
@ -291,7 +291,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -308,7 +308,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
insert into t1 values ("Alas")
@ -328,7 +328,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
@ -341,28 +341,28 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
COMMIT
@ -378,7 +378,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
@ -553,7 +553,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a varchar(64) character set utf8)
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
@ -561,7 +561,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.collation_database=7/*!*/;
@ -570,7 +570,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@ -579,7 +579,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
@ -587,7 +587,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.collation_database=7/*!*/;
@ -596,7 +596,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@ -605,7 +605,7 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FI
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET TIMESTAMP=1000000000/*!*/;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` CHARACTER SET koi8r FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)

View file

@ -53,7 +53,7 @@ CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMIN
# at 727
#<date> server id 1 end_log_pos 769 CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 769
# at 843
@ -82,7 +82,7 @@ COMMIT
# at 1040
#<date> server id 1 end_log_pos 1082 CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1082
# at 1158
@ -111,7 +111,7 @@ COMMIT
# at 1354
#<date> server id 1 end_log_pos 1396 CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1396
# at 1474
@ -140,7 +140,7 @@ COMMIT
# at 1669
#<date> server id 1 end_log_pos 1711 CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1711
# at 1786
@ -169,7 +169,7 @@ COMMIT
# at 1982
#<date> server id 1 end_log_pos 2024 CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2024
# at 2078
@ -231,7 +231,7 @@ COMMIT
# at 2298
#<date> server id 1 end_log_pos 2340 CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2340
# at 2406
@ -312,7 +312,7 @@ COMMIT
# at 2634
#<date> server id 1 end_log_pos 2676 CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2676
# at 2713
@ -374,7 +374,7 @@ COMMIT
# at 2934
#<date> server id 1 end_log_pos 2976 CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2976
# at 3013

View file

@ -51,7 +51,7 @@ CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMIN
# at 774
#<date> server id 1 end_log_pos 816 CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 816
# at 890
@ -80,7 +80,7 @@ COMMIT
# at 1088
#<date> server id 1 end_log_pos 1130 CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1130
# at 1206
@ -109,7 +109,7 @@ COMMIT
# at 1403
#<date> server id 1 end_log_pos 1445 CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1445
# at 1523
@ -138,7 +138,7 @@ COMMIT
# at 1719
#<date> server id 1 end_log_pos 1761 CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1761
# at 1836
@ -167,7 +167,7 @@ COMMIT
# at 2035
#<date> server id 1 end_log_pos 2077 CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2077
# at 2131
@ -229,7 +229,7 @@ COMMIT
# at 2427
#<date> server id 1 end_log_pos 2469 CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2469
# at 2535
@ -262,7 +262,7 @@ COMMIT
# at 2730
#<date> server id 1 end_log_pos 2772 CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2772
# at 2809
@ -292,7 +292,7 @@ COMMIT
# at 2992
#<date> server id 1 end_log_pos 3034 CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 3034
# at 3071
@ -357,7 +357,7 @@ DELIMITER /*!*/;
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=16*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 429
# at 543

View file

@ -53,7 +53,7 @@ CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMIN
# at 727
#<date> server id 1 end_log_pos 769 CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 769
#<date> server id 1 end_log_pos 897 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -68,7 +68,7 @@ COMMIT
# at 970
#<date> server id 1 end_log_pos 1012 CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1012
#<date> server id 1 end_log_pos 1140 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -83,7 +83,7 @@ COMMIT
# at 1213
#<date> server id 1 end_log_pos 1255 CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1255
#<date> server id 1 end_log_pos 1385 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -98,7 +98,7 @@ COMMIT
# at 1458
#<date> server id 1 end_log_pos 1500 CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1500
#<date> server id 1 end_log_pos 1627 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -113,7 +113,7 @@ COMMIT
# at 1700
#<date> server id 1 end_log_pos 1742 CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1742
#<date> server id 1 end_log_pos 1850 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -128,7 +128,7 @@ COMMIT
# at 1923
#<date> server id 1 end_log_pos 1965 CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 1965
#<date> server id 1 end_log_pos 2082 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -143,7 +143,7 @@ COMMIT
# at 2155
#<date> server id 1 end_log_pos 2197 CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2197
#<date> server id 1 end_log_pos 2288 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
@ -158,7 +158,7 @@ COMMIT
# at 2361
#<date> server id 1 end_log_pos 2403 CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at 2403
#<date> server id 1 end_log_pos 2494 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0

View file

@ -46,6 +46,18 @@ set @@optimizer_switch=@save_optimizer_switch;
SET @@session.session_track_system_variables= @save_session_track_system_variables;
# End of 10.2 tests
#
# MDEV-22134 handle_fatal_signal (sig=11) in __strlen_avx2 on START
# SLAVE | Assertion
# `global_system_variables.session_track_system_variables' failed in
# Session_sysvars_tracker::init | *** buffer overflow detected ***
# (on optimized builds)
#
SET @@GLOBAL.session_track_system_variables=NULL;
ERROR 42000: Variable 'session_track_system_variables' can't be set to the value of 'NULL'
SET SESSION session_track_system_variables=NULL;
ERROR 42000: Variable 'session_track_system_variables' can't be set to the value of 'NULL'
# End of 10.3 tests
#
# MDEV-16470 - Session user variables tracker
#
# End of 10.5 tests

View file

@ -46,6 +46,21 @@ SET @@session.session_track_system_variables= @save_session_track_system_variabl
--echo # End of 10.2 tests
--echo #
--echo # MDEV-22134 handle_fatal_signal (sig=11) in __strlen_avx2 on START
--echo # SLAVE | Assertion
--echo # `global_system_variables.session_track_system_variables' failed in
--echo # Session_sysvars_tracker::init | *** buffer overflow detected ***
--echo # (on optimized builds)
--echo #
--error ER_WRONG_VALUE_FOR_VAR
SET @@GLOBAL.session_track_system_variables=NULL;
--error ER_WRONG_VALUE_FOR_VAR
SET SESSION session_track_system_variables=NULL;
--echo # End of 10.3 tests
--echo #
--echo # MDEV-16470 - Session user variables tracker
--echo #

View file

@ -1930,6 +1930,14 @@ i
1
i
2
#
# MDEV-21998: Server crashes in st_select_lex::add_table_to_list
# upon mix of KILL and sequences
#
KILL ( SELECT 1 ) + LASTVAL(s);
ERROR 42000: KILL does not support subqueries or stored functions
KILL LASTVAL(s);
ERROR 42000: KILL does not support subqueries or stored functions
# End of 10.4 tests
#
# Start of 10.5 tests

View file

@ -1679,7 +1679,15 @@ $$
DELIMITER ;$$
--echo #
--echo # MDEV-21998: Server crashes in st_select_lex::add_table_to_list
--echo # upon mix of KILL and sequences
--echo #
--error ER_SUBQUERIES_NOT_SUPPORTED
KILL ( SELECT 1 ) + LASTVAL(s);
--error ER_SUBQUERIES_NOT_SUPPORTED
KILL LASTVAL(s);
--echo # End of 10.4 tests

View file

@ -342,6 +342,19 @@ ERROR 42S02: Table 'test.t1' doesn't exist
DROP TABLE t1;
# End of 10.1 test
#
# MDEV-21258: Can't uninstall plugin if the library file doesn't exist
#
insert into mysql.plugin values ("unexisting_plugin", "soname");
select * from mysql.plugin WHERE name='unexisting_plugin';
name dl
unexisting_plugin soname
UNINSTALL PLUGIN unexisting_plugin;
select * from mysql.plugin WHERE name='unexisting_plugin';
name dl
UNINSTALL PLUGIN unexisting_plugin;
ERROR 42000: PLUGIN unexisting_plugin does not exist
# End of 10.2 tests
#
# MDEV-16294: INSTALL PLUGIN IF NOT EXISTS / UNINSTALL PLUGIN IF EXISTS
#
# INSTALL IF NOT EXISTS PLUGIN name SONAME library /
@ -403,3 +416,4 @@ INSTALL PLUGIN example SONAME 'ha_example';
CREATE TEMPORARY TABLE t1(a INT) ENGINE=example;
DROP TABLE t1;
UNINSTALL PLUGIN example;
# End of 10.4 tests

View file

@ -277,8 +277,27 @@ DROP TABLE t1;
--echo # End of 10.1 test
--source include/install_plugin_if_exists.inc
--echo #
--echo # MDEV-21258: Can't uninstall plugin if the library file doesn't exist
--echo #
insert into mysql.plugin values ("unexisting_plugin", "soname");
# check that we have the plugin installed
select * from mysql.plugin WHERE name='unexisting_plugin';
# make attempt to uninstall the plugin
UNINSTALL PLUGIN unexisting_plugin;
# check that we have the plugin uninstalled
select * from mysql.plugin WHERE name='unexisting_plugin';
--error ER_SP_DOES_NOT_EXIST
UNINSTALL PLUGIN unexisting_plugin;
--echo # End of 10.2 tests
--source include/install_plugin_if_exists.inc
--echo #
--echo # Make sure temporary tables maintain plugin references properly
@ -294,3 +313,5 @@ INSTALL PLUGIN example SONAME 'ha_example';
CREATE TEMPORARY TABLE t1(a INT) ENGINE=example;
DROP TABLE t1;
UNINSTALL PLUGIN example;
--echo # End of 10.4 tests

View file

@ -2285,13 +2285,13 @@ begin
DECLARE foo CONDITION FOR SQLSTATE '12345';
SIGNAL foo SET MYSQL_ERRNO = `65`; /* illegal */
end $$
ERROR 42S22: Unknown column '65' in 'field list'
ERROR 42000: Undeclared variable: 65
create procedure test_signal()
begin
DECLARE foo CONDITION FOR SQLSTATE '12345';
SIGNAL foo SET MYSQL_ERRNO = `A`; /* illegal */
end $$
ERROR 42S22: Unknown column 'A' in 'field list'
ERROR 42000: Undeclared variable: A
create procedure test_signal()
begin
DECLARE foo CONDITION FOR SQLSTATE '12345';
@ -2342,7 +2342,7 @@ DECLARE foo CONDITION FOR SQLSTATE '12345';
SIGNAL foo SET MYSQL_ERRNO = 1000,
MESSAGE_TEXT = `Hello`;
end $$
ERROR 42S22: Unknown column 'Hello' in 'field list'
ERROR 42000: Undeclared variable: Hello
create procedure test_signal()
begin
DECLARE foo CONDITION FOR SQLSTATE '12345';

View file

@ -2546,7 +2546,7 @@ end $$
call test_signal $$
drop procedure test_signal $$
-- error ER_BAD_FIELD_ERROR
-- error ER_SP_UNDECLARED_VAR
create procedure test_signal()
begin
DECLARE foo CONDITION FOR SQLSTATE '12345';
@ -2554,7 +2554,7 @@ begin
end $$
-- error ER_BAD_FIELD_ERROR
-- error ER_SP_UNDECLARED_VAR
create procedure test_signal()
begin
DECLARE foo CONDITION FOR SQLSTATE '12345';
@ -2616,7 +2616,7 @@ end $$
call test_signal $$
drop procedure test_signal $$
-- error ER_BAD_FIELD_ERROR
-- error ER_SP_UNDECLARED_VAR
create procedure test_signal()
begin
DECLARE foo CONDITION FOR SQLSTATE '12345';

View file

@ -452,7 +452,7 @@ else
set b = a;
end if;
end|
ERROR 42S22: Unknown column 'aa' in 'field list'
ERROR 42000: Undeclared variable: aa
create procedure bug4344() drop procedure bug4344|
ERROR HY000: Can't drop or alter a PROCEDURE from within another stored routine
create procedure bug4344() drop function bug4344|
@ -1067,7 +1067,7 @@ IF bug13037_foo THEN
SELECT 1;
END IF;
END|
ERROR 42S22: Unknown column 'bug13037_foo' in 'field list'
ERROR 42000: Undeclared variable: bug13037_foo
CREATE PROCEDURE bug13037_p2()
BEGIN
SET @bug13037_foo = bug13037_bar;

View file

@ -612,7 +612,7 @@ create procedure bug2653_1(a int, out b int)
set b = aa|
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
create procedure bug2653_2(a int, out b int)
begin
if aa < 0 then
@ -1505,7 +1505,7 @@ DROP PROCEDURE IF EXISTS bug13037_p3;
delimiter |;
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
CREATE PROCEDURE bug13037_p1()
BEGIN
IF bug13037_foo THEN

View file

@ -4184,7 +4184,7 @@ select v, isnull(v);
end if;
end;
end|
ERROR 42S22: Unknown column 'undefined_var' in 'field list'
ERROR 42000: Undeclared variable: undefined_var
create procedure bug14643_2()
begin
declare continue handler for sqlexception select 'boo' as 'Handler';
@ -4196,7 +4196,7 @@ select 2;
end case;
select undefined_var;
end|
ERROR 42S22: Unknown column 'undefined_var' in 'field list'
ERROR 42000: Undeclared variable: undefined_var
drop procedure if exists bug14304|
drop table if exists t3, t4|
create table t3(a int primary key auto_increment)|
@ -4226,7 +4226,7 @@ create procedure bug14376()
begin
declare x int default x;
end|
ERROR 42S22: Unknown column 'x' in 'field list'
ERROR 42000: Undeclared variable: x
create procedure bug14376()
begin
declare x int default 42;
@ -4481,7 +4481,7 @@ select 'no' as 'v';
end if;
select 'done' as 'End';
end|
ERROR 42S22: Unknown column 'v' in 'field list'
ERROR 42000: Undeclared variable: v
create procedure bug14498_2()
begin
declare continue handler for sqlexception select 'error' as 'Handler';
@ -4490,7 +4490,7 @@ select 'yes' as 'v';
end while;
select 'done' as 'End';
end|
ERROR 42S22: Unknown column 'v' in 'field list'
ERROR 42000: Undeclared variable: v
create procedure bug14498_3()
begin
declare continue handler for sqlexception select 'error' as 'Handler';
@ -4499,7 +4499,7 @@ select 'maybe' as 'v';
until v end repeat;
select 'done' as 'End';
end|
ERROR 42S22: Unknown column 'v' in 'field list'
ERROR 42000: Undeclared variable: v
create procedure bug14498_4()
begin
declare continue handler for sqlexception select 'error' as 'Handler';
@ -4513,7 +4513,7 @@ select '?' as 'v';
end case;
select 'done' as 'End';
end|
ERROR 42S22: Unknown column 'v' in 'field list'
ERROR 42000: Undeclared variable: v
create procedure bug14498_5()
begin
declare continue handler for sqlexception select 'error' as 'Handler';
@ -4527,7 +4527,7 @@ select '?' as 'v';
end case;
select 'done' as 'End';
end|
ERROR 42S22: Unknown column 'v' in 'field list'
ERROR 42000: Undeclared variable: v
drop table if exists t3|
drop procedure if exists bug15231_1|
drop procedure if exists bug15231_2|
@ -8401,7 +8401,7 @@ DECLARE name VARCHAR(10);
SET name="hello";
call p1(name2);
END|
ERROR 42S22: Unknown column 'name2' in 'field list'
ERROR 42000: Undeclared variable: name2
call p2();
a
hello

View file

@ -5046,7 +5046,7 @@ drop procedure if exists bug14643_1|
drop procedure if exists bug14643_2|
--enable_warnings
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
create procedure bug14643_1()
begin
declare continue handler for sqlexception select 'boo' as 'Handler';
@ -5062,7 +5062,7 @@ begin
end;
end|
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
create procedure bug14643_2()
begin
declare continue handler for sqlexception select 'boo' as 'Handler';
@ -5117,7 +5117,7 @@ drop table t3, t4|
drop procedure if exists bug14376|
--enable_warnings
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
create procedure bug14376()
begin
declare x int default x;
@ -5344,7 +5344,7 @@ drop procedure if exists bug14498_4|
drop procedure if exists bug14498_5|
--enable_warnings
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
create procedure bug14498_1()
begin
declare continue handler for sqlexception select 'error' as 'Handler';
@ -5357,7 +5357,7 @@ begin
select 'done' as 'End';
end|
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
create procedure bug14498_2()
begin
declare continue handler for sqlexception select 'error' as 'Handler';
@ -5368,7 +5368,7 @@ begin
select 'done' as 'End';
end|
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
create procedure bug14498_3()
begin
declare continue handler for sqlexception select 'error' as 'Handler';
@ -5379,7 +5379,7 @@ begin
select 'done' as 'End';
end|
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
create procedure bug14498_4()
begin
declare continue handler for sqlexception select 'error' as 'Handler';
@ -5395,7 +5395,7 @@ begin
select 'done' as 'End';
end|
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
create procedure bug14498_5()
begin
declare continue handler for sqlexception select 'error' as 'Handler';
@ -9931,7 +9931,7 @@ BEGIN
call p1(name);
END|
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
CREATE OR REPLACE PROCEDURE p3 ()
BEGIN
DECLARE name VARCHAR(10);

View file

@ -876,6 +876,989 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
DROP TABLE t1;
#
# MDEV-23323 Rounding functions return a wrong data type for a BIT, ENUM, SET argument
#
BEGIN NOT ATOMIC
FOR i IN 1..64
DO
SELECT '-----', CONCAT('BIT(',i,')') AS Type;
EXECUTE IMMEDIATE REPLACE('CREATE TABLE t1 (a BIT(64))','64', i);
INSERT IGNORE INTO t1 VALUES (0xFFFFFFFFFFFFFFFF);
CREATE TABLE t2 AS SELECT
a,
FLOOR(a) AS cf,
CEILING(a) AS cc,
ROUND(a) AS cr,
TRUNCATE(a,0) AS ct
FROM t1;
SHOW CREATE TABLE t2;
SELECT CAST(a AS UNSIGNED) AS a, cf, cc, cr, ct FROM t2;
DROP TABLE t2;
DROP TABLE t1;
END FOR;
END;
$$
----- -----
Type BIT(1)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(1) DEFAULT NULL,
`cf` int(1) unsigned DEFAULT NULL,
`cc` int(1) unsigned DEFAULT NULL,
`cr` int(1) unsigned DEFAULT NULL,
`ct` int(1) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 1
cf 1
cc 1
cr 1
ct 1
----- -----
Type BIT(2)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(2) DEFAULT NULL,
`cf` int(1) unsigned DEFAULT NULL,
`cc` int(1) unsigned DEFAULT NULL,
`cr` int(1) unsigned DEFAULT NULL,
`ct` int(1) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 3
cf 3
cc 3
cr 3
ct 3
----- -----
Type BIT(3)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(3) DEFAULT NULL,
`cf` int(1) unsigned DEFAULT NULL,
`cc` int(1) unsigned DEFAULT NULL,
`cr` int(1) unsigned DEFAULT NULL,
`ct` int(1) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 7
cf 7
cc 7
cr 7
ct 7
----- -----
Type BIT(4)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(4) DEFAULT NULL,
`cf` int(2) unsigned DEFAULT NULL,
`cc` int(2) unsigned DEFAULT NULL,
`cr` int(2) unsigned DEFAULT NULL,
`ct` int(2) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 15
cf 15
cc 15
cr 15
ct 15
----- -----
Type BIT(5)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(5) DEFAULT NULL,
`cf` int(2) unsigned DEFAULT NULL,
`cc` int(2) unsigned DEFAULT NULL,
`cr` int(2) unsigned DEFAULT NULL,
`ct` int(2) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 31
cf 31
cc 31
cr 31
ct 31
----- -----
Type BIT(6)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(6) DEFAULT NULL,
`cf` int(2) unsigned DEFAULT NULL,
`cc` int(2) unsigned DEFAULT NULL,
`cr` int(2) unsigned DEFAULT NULL,
`ct` int(2) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 63
cf 63
cc 63
cr 63
ct 63
----- -----
Type BIT(7)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(7) DEFAULT NULL,
`cf` int(3) unsigned DEFAULT NULL,
`cc` int(3) unsigned DEFAULT NULL,
`cr` int(3) unsigned DEFAULT NULL,
`ct` int(3) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 127
cf 127
cc 127
cr 127
ct 127
----- -----
Type BIT(8)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(8) DEFAULT NULL,
`cf` int(3) unsigned DEFAULT NULL,
`cc` int(3) unsigned DEFAULT NULL,
`cr` int(3) unsigned DEFAULT NULL,
`ct` int(3) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 255
cf 255
cc 255
cr 255
ct 255
----- -----
Type BIT(9)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(9) DEFAULT NULL,
`cf` int(3) unsigned DEFAULT NULL,
`cc` int(3) unsigned DEFAULT NULL,
`cr` int(3) unsigned DEFAULT NULL,
`ct` int(3) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 511
cf 511
cc 511
cr 511
ct 511
----- -----
Type BIT(10)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(10) DEFAULT NULL,
`cf` int(4) unsigned DEFAULT NULL,
`cc` int(4) unsigned DEFAULT NULL,
`cr` int(4) unsigned DEFAULT NULL,
`ct` int(4) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 1023
cf 1023
cc 1023
cr 1023
ct 1023
----- -----
Type BIT(11)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(11) DEFAULT NULL,
`cf` int(4) unsigned DEFAULT NULL,
`cc` int(4) unsigned DEFAULT NULL,
`cr` int(4) unsigned DEFAULT NULL,
`ct` int(4) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 2047
cf 2047
cc 2047
cr 2047
ct 2047
----- -----
Type BIT(12)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(12) DEFAULT NULL,
`cf` int(4) unsigned DEFAULT NULL,
`cc` int(4) unsigned DEFAULT NULL,
`cr` int(4) unsigned DEFAULT NULL,
`ct` int(4) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 4095
cf 4095
cc 4095
cr 4095
ct 4095
----- -----
Type BIT(13)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(13) DEFAULT NULL,
`cf` int(4) unsigned DEFAULT NULL,
`cc` int(4) unsigned DEFAULT NULL,
`cr` int(4) unsigned DEFAULT NULL,
`ct` int(4) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 8191
cf 8191
cc 8191
cr 8191
ct 8191
----- -----
Type BIT(14)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(14) DEFAULT NULL,
`cf` int(5) unsigned DEFAULT NULL,
`cc` int(5) unsigned DEFAULT NULL,
`cr` int(5) unsigned DEFAULT NULL,
`ct` int(5) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 16383
cf 16383
cc 16383
cr 16383
ct 16383
----- -----
Type BIT(15)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(15) DEFAULT NULL,
`cf` int(5) unsigned DEFAULT NULL,
`cc` int(5) unsigned DEFAULT NULL,
`cr` int(5) unsigned DEFAULT NULL,
`ct` int(5) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 32767
cf 32767
cc 32767
cr 32767
ct 32767
----- -----
Type BIT(16)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(16) DEFAULT NULL,
`cf` int(5) unsigned DEFAULT NULL,
`cc` int(5) unsigned DEFAULT NULL,
`cr` int(5) unsigned DEFAULT NULL,
`ct` int(5) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 65535
cf 65535
cc 65535
cr 65535
ct 65535
----- -----
Type BIT(17)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(17) DEFAULT NULL,
`cf` int(6) unsigned DEFAULT NULL,
`cc` int(6) unsigned DEFAULT NULL,
`cr` int(6) unsigned DEFAULT NULL,
`ct` int(6) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 131071
cf 131071
cc 131071
cr 131071
ct 131071
----- -----
Type BIT(18)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(18) DEFAULT NULL,
`cf` int(6) unsigned DEFAULT NULL,
`cc` int(6) unsigned DEFAULT NULL,
`cr` int(6) unsigned DEFAULT NULL,
`ct` int(6) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 262143
cf 262143
cc 262143
cr 262143
ct 262143
----- -----
Type BIT(19)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(19) DEFAULT NULL,
`cf` int(6) unsigned DEFAULT NULL,
`cc` int(6) unsigned DEFAULT NULL,
`cr` int(6) unsigned DEFAULT NULL,
`ct` int(6) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 524287
cf 524287
cc 524287
cr 524287
ct 524287
----- -----
Type BIT(20)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(20) DEFAULT NULL,
`cf` int(7) unsigned DEFAULT NULL,
`cc` int(7) unsigned DEFAULT NULL,
`cr` int(7) unsigned DEFAULT NULL,
`ct` int(7) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 1048575
cf 1048575
cc 1048575
cr 1048575
ct 1048575
----- -----
Type BIT(21)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(21) DEFAULT NULL,
`cf` int(7) unsigned DEFAULT NULL,
`cc` int(7) unsigned DEFAULT NULL,
`cr` int(7) unsigned DEFAULT NULL,
`ct` int(7) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 2097151
cf 2097151
cc 2097151
cr 2097151
ct 2097151
----- -----
Type BIT(22)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(22) DEFAULT NULL,
`cf` int(7) unsigned DEFAULT NULL,
`cc` int(7) unsigned DEFAULT NULL,
`cr` int(7) unsigned DEFAULT NULL,
`ct` int(7) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 4194303
cf 4194303
cc 4194303
cr 4194303
ct 4194303
----- -----
Type BIT(23)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(23) DEFAULT NULL,
`cf` int(7) unsigned DEFAULT NULL,
`cc` int(7) unsigned DEFAULT NULL,
`cr` int(7) unsigned DEFAULT NULL,
`ct` int(7) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 8388607
cf 8388607
cc 8388607
cr 8388607
ct 8388607
----- -----
Type BIT(24)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(24) DEFAULT NULL,
`cf` int(8) unsigned DEFAULT NULL,
`cc` int(8) unsigned DEFAULT NULL,
`cr` int(8) unsigned DEFAULT NULL,
`ct` int(8) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 16777215
cf 16777215
cc 16777215
cr 16777215
ct 16777215
----- -----
Type BIT(25)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(25) DEFAULT NULL,
`cf` int(8) unsigned DEFAULT NULL,
`cc` int(8) unsigned DEFAULT NULL,
`cr` int(8) unsigned DEFAULT NULL,
`ct` int(8) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 33554431
cf 33554431
cc 33554431
cr 33554431
ct 33554431
----- -----
Type BIT(26)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(26) DEFAULT NULL,
`cf` int(8) unsigned DEFAULT NULL,
`cc` int(8) unsigned DEFAULT NULL,
`cr` int(8) unsigned DEFAULT NULL,
`ct` int(8) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 67108863
cf 67108863
cc 67108863
cr 67108863
ct 67108863
----- -----
Type BIT(27)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(27) DEFAULT NULL,
`cf` int(9) unsigned DEFAULT NULL,
`cc` int(9) unsigned DEFAULT NULL,
`cr` int(9) unsigned DEFAULT NULL,
`ct` int(9) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 134217727
cf 134217727
cc 134217727
cr 134217727
ct 134217727
----- -----
Type BIT(28)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(28) DEFAULT NULL,
`cf` int(9) unsigned DEFAULT NULL,
`cc` int(9) unsigned DEFAULT NULL,
`cr` int(9) unsigned DEFAULT NULL,
`ct` int(9) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 268435455
cf 268435455
cc 268435455
cr 268435455
ct 268435455
----- -----
Type BIT(29)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(29) DEFAULT NULL,
`cf` int(9) unsigned DEFAULT NULL,
`cc` int(9) unsigned DEFAULT NULL,
`cr` int(9) unsigned DEFAULT NULL,
`ct` int(9) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 536870911
cf 536870911
cc 536870911
cr 536870911
ct 536870911
----- -----
Type BIT(30)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(30) DEFAULT NULL,
`cf` int(10) unsigned DEFAULT NULL,
`cc` int(10) unsigned DEFAULT NULL,
`cr` int(10) unsigned DEFAULT NULL,
`ct` int(10) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 1073741823
cf 1073741823
cc 1073741823
cr 1073741823
ct 1073741823
----- -----
Type BIT(31)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(31) DEFAULT NULL,
`cf` int(10) unsigned DEFAULT NULL,
`cc` int(10) unsigned DEFAULT NULL,
`cr` int(10) unsigned DEFAULT NULL,
`ct` int(10) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 2147483647
cf 2147483647
cc 2147483647
cr 2147483647
ct 2147483647
----- -----
Type BIT(32)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(32) DEFAULT NULL,
`cf` int(10) unsigned DEFAULT NULL,
`cc` int(10) unsigned DEFAULT NULL,
`cr` int(10) unsigned DEFAULT NULL,
`ct` int(10) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 4294967295
cf 4294967295
cc 4294967295
cr 4294967295
ct 4294967295
----- -----
Type BIT(33)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(33) DEFAULT NULL,
`cf` bigint(10) unsigned DEFAULT NULL,
`cc` bigint(10) unsigned DEFAULT NULL,
`cr` bigint(10) unsigned DEFAULT NULL,
`ct` bigint(10) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 8589934591
cf 8589934591
cc 8589934591
cr 8589934591
ct 8589934591
----- -----
Type BIT(34)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(34) DEFAULT NULL,
`cf` bigint(11) unsigned DEFAULT NULL,
`cc` bigint(11) unsigned DEFAULT NULL,
`cr` bigint(11) unsigned DEFAULT NULL,
`ct` bigint(11) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 17179869183
cf 17179869183
cc 17179869183
cr 17179869183
ct 17179869183
----- -----
Type BIT(35)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(35) DEFAULT NULL,
`cf` bigint(11) unsigned DEFAULT NULL,
`cc` bigint(11) unsigned DEFAULT NULL,
`cr` bigint(11) unsigned DEFAULT NULL,
`ct` bigint(11) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 34359738367
cf 34359738367
cc 34359738367
cr 34359738367
ct 34359738367
----- -----
Type BIT(36)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(36) DEFAULT NULL,
`cf` bigint(11) unsigned DEFAULT NULL,
`cc` bigint(11) unsigned DEFAULT NULL,
`cr` bigint(11) unsigned DEFAULT NULL,
`ct` bigint(11) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 68719476735
cf 68719476735
cc 68719476735
cr 68719476735
ct 68719476735
----- -----
Type BIT(37)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(37) DEFAULT NULL,
`cf` bigint(12) unsigned DEFAULT NULL,
`cc` bigint(12) unsigned DEFAULT NULL,
`cr` bigint(12) unsigned DEFAULT NULL,
`ct` bigint(12) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 137438953471
cf 137438953471
cc 137438953471
cr 137438953471
ct 137438953471
----- -----
Type BIT(38)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(38) DEFAULT NULL,
`cf` bigint(12) unsigned DEFAULT NULL,
`cc` bigint(12) unsigned DEFAULT NULL,
`cr` bigint(12) unsigned DEFAULT NULL,
`ct` bigint(12) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 274877906943
cf 274877906943
cc 274877906943
cr 274877906943
ct 274877906943
----- -----
Type BIT(39)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(39) DEFAULT NULL,
`cf` bigint(12) unsigned DEFAULT NULL,
`cc` bigint(12) unsigned DEFAULT NULL,
`cr` bigint(12) unsigned DEFAULT NULL,
`ct` bigint(12) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 549755813887
cf 549755813887
cc 549755813887
cr 549755813887
ct 549755813887
----- -----
Type BIT(40)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(40) DEFAULT NULL,
`cf` bigint(13) unsigned DEFAULT NULL,
`cc` bigint(13) unsigned DEFAULT NULL,
`cr` bigint(13) unsigned DEFAULT NULL,
`ct` bigint(13) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 1099511627775
cf 1099511627775
cc 1099511627775
cr 1099511627775
ct 1099511627775
----- -----
Type BIT(41)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(41) DEFAULT NULL,
`cf` bigint(13) unsigned DEFAULT NULL,
`cc` bigint(13) unsigned DEFAULT NULL,
`cr` bigint(13) unsigned DEFAULT NULL,
`ct` bigint(13) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 2199023255551
cf 2199023255551
cc 2199023255551
cr 2199023255551
ct 2199023255551
----- -----
Type BIT(42)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(42) DEFAULT NULL,
`cf` bigint(13) unsigned DEFAULT NULL,
`cc` bigint(13) unsigned DEFAULT NULL,
`cr` bigint(13) unsigned DEFAULT NULL,
`ct` bigint(13) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 4398046511103
cf 4398046511103
cc 4398046511103
cr 4398046511103
ct 4398046511103
----- -----
Type BIT(43)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(43) DEFAULT NULL,
`cf` bigint(13) unsigned DEFAULT NULL,
`cc` bigint(13) unsigned DEFAULT NULL,
`cr` bigint(13) unsigned DEFAULT NULL,
`ct` bigint(13) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 8796093022207
cf 8796093022207
cc 8796093022207
cr 8796093022207
ct 8796093022207
----- -----
Type BIT(44)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(44) DEFAULT NULL,
`cf` bigint(14) unsigned DEFAULT NULL,
`cc` bigint(14) unsigned DEFAULT NULL,
`cr` bigint(14) unsigned DEFAULT NULL,
`ct` bigint(14) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 17592186044415
cf 17592186044415
cc 17592186044415
cr 17592186044415
ct 17592186044415
----- -----
Type BIT(45)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(45) DEFAULT NULL,
`cf` bigint(14) unsigned DEFAULT NULL,
`cc` bigint(14) unsigned DEFAULT NULL,
`cr` bigint(14) unsigned DEFAULT NULL,
`ct` bigint(14) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 35184372088831
cf 35184372088831
cc 35184372088831
cr 35184372088831
ct 35184372088831
----- -----
Type BIT(46)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(46) DEFAULT NULL,
`cf` bigint(14) unsigned DEFAULT NULL,
`cc` bigint(14) unsigned DEFAULT NULL,
`cr` bigint(14) unsigned DEFAULT NULL,
`ct` bigint(14) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 70368744177663
cf 70368744177663
cc 70368744177663
cr 70368744177663
ct 70368744177663
----- -----
Type BIT(47)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(47) DEFAULT NULL,
`cf` bigint(15) unsigned DEFAULT NULL,
`cc` bigint(15) unsigned DEFAULT NULL,
`cr` bigint(15) unsigned DEFAULT NULL,
`ct` bigint(15) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 140737488355327
cf 140737488355327
cc 140737488355327
cr 140737488355327
ct 140737488355327
----- -----
Type BIT(48)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(48) DEFAULT NULL,
`cf` bigint(15) unsigned DEFAULT NULL,
`cc` bigint(15) unsigned DEFAULT NULL,
`cr` bigint(15) unsigned DEFAULT NULL,
`ct` bigint(15) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 281474976710655
cf 281474976710655
cc 281474976710655
cr 281474976710655
ct 281474976710655
----- -----
Type BIT(49)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(49) DEFAULT NULL,
`cf` bigint(15) unsigned DEFAULT NULL,
`cc` bigint(15) unsigned DEFAULT NULL,
`cr` bigint(15) unsigned DEFAULT NULL,
`ct` bigint(15) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 562949953421311
cf 562949953421311
cc 562949953421311
cr 562949953421311
ct 562949953421311
----- -----
Type BIT(50)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(50) DEFAULT NULL,
`cf` bigint(16) unsigned DEFAULT NULL,
`cc` bigint(16) unsigned DEFAULT NULL,
`cr` bigint(16) unsigned DEFAULT NULL,
`ct` bigint(16) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 1125899906842623
cf 1125899906842623
cc 1125899906842623
cr 1125899906842623
ct 1125899906842623
----- -----
Type BIT(51)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(51) DEFAULT NULL,
`cf` bigint(16) unsigned DEFAULT NULL,
`cc` bigint(16) unsigned DEFAULT NULL,
`cr` bigint(16) unsigned DEFAULT NULL,
`ct` bigint(16) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 2251799813685247
cf 2251799813685247
cc 2251799813685247
cr 2251799813685247
ct 2251799813685247
----- -----
Type BIT(52)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(52) DEFAULT NULL,
`cf` bigint(16) unsigned DEFAULT NULL,
`cc` bigint(16) unsigned DEFAULT NULL,
`cr` bigint(16) unsigned DEFAULT NULL,
`ct` bigint(16) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 4503599627370495
cf 4503599627370495
cc 4503599627370495
cr 4503599627370495
ct 4503599627370495
----- -----
Type BIT(53)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(53) DEFAULT NULL,
`cf` bigint(16) unsigned DEFAULT NULL,
`cc` bigint(16) unsigned DEFAULT NULL,
`cr` bigint(16) unsigned DEFAULT NULL,
`ct` bigint(16) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 9007199254740991
cf 9007199254740991
cc 9007199254740991
cr 9007199254740991
ct 9007199254740991
----- -----
Type BIT(54)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(54) DEFAULT NULL,
`cf` bigint(17) unsigned DEFAULT NULL,
`cc` bigint(17) unsigned DEFAULT NULL,
`cr` bigint(17) unsigned DEFAULT NULL,
`ct` bigint(17) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 18014398509481983
cf 18014398509481983
cc 18014398509481983
cr 18014398509481983
ct 18014398509481983
----- -----
Type BIT(55)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(55) DEFAULT NULL,
`cf` bigint(17) unsigned DEFAULT NULL,
`cc` bigint(17) unsigned DEFAULT NULL,
`cr` bigint(17) unsigned DEFAULT NULL,
`ct` bigint(17) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 36028797018963967
cf 36028797018963967
cc 36028797018963967
cr 36028797018963967
ct 36028797018963967
----- -----
Type BIT(56)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(56) DEFAULT NULL,
`cf` bigint(17) unsigned DEFAULT NULL,
`cc` bigint(17) unsigned DEFAULT NULL,
`cr` bigint(17) unsigned DEFAULT NULL,
`ct` bigint(17) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 72057594037927935
cf 72057594037927935
cc 72057594037927935
cr 72057594037927935
ct 72057594037927935
----- -----
Type BIT(57)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(57) DEFAULT NULL,
`cf` bigint(18) unsigned DEFAULT NULL,
`cc` bigint(18) unsigned DEFAULT NULL,
`cr` bigint(18) unsigned DEFAULT NULL,
`ct` bigint(18) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 144115188075855871
cf 144115188075855871
cc 144115188075855871
cr 144115188075855871
ct 144115188075855871
----- -----
Type BIT(58)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(58) DEFAULT NULL,
`cf` bigint(18) unsigned DEFAULT NULL,
`cc` bigint(18) unsigned DEFAULT NULL,
`cr` bigint(18) unsigned DEFAULT NULL,
`ct` bigint(18) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 288230376151711743
cf 288230376151711743
cc 288230376151711743
cr 288230376151711743
ct 288230376151711743
----- -----
Type BIT(59)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(59) DEFAULT NULL,
`cf` bigint(18) unsigned DEFAULT NULL,
`cc` bigint(18) unsigned DEFAULT NULL,
`cr` bigint(18) unsigned DEFAULT NULL,
`ct` bigint(18) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 576460752303423487
cf 576460752303423487
cc 576460752303423487
cr 576460752303423487
ct 576460752303423487
----- -----
Type BIT(60)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(60) DEFAULT NULL,
`cf` bigint(19) unsigned DEFAULT NULL,
`cc` bigint(19) unsigned DEFAULT NULL,
`cr` bigint(19) unsigned DEFAULT NULL,
`ct` bigint(19) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 1152921504606846975
cf 1152921504606846975
cc 1152921504606846975
cr 1152921504606846975
ct 1152921504606846975
----- -----
Type BIT(61)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(61) DEFAULT NULL,
`cf` bigint(19) unsigned DEFAULT NULL,
`cc` bigint(19) unsigned DEFAULT NULL,
`cr` bigint(19) unsigned DEFAULT NULL,
`ct` bigint(19) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 2305843009213693951
cf 2305843009213693951
cc 2305843009213693951
cr 2305843009213693951
ct 2305843009213693951
----- -----
Type BIT(62)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(62) DEFAULT NULL,
`cf` bigint(19) unsigned DEFAULT NULL,
`cc` bigint(19) unsigned DEFAULT NULL,
`cr` bigint(19) unsigned DEFAULT NULL,
`ct` bigint(19) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 4611686018427387903
cf 4611686018427387903
cc 4611686018427387903
cr 4611686018427387903
ct 4611686018427387903
----- -----
Type BIT(63)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(63) DEFAULT NULL,
`cf` bigint(19) unsigned DEFAULT NULL,
`cc` bigint(19) unsigned DEFAULT NULL,
`cr` bigint(19) unsigned DEFAULT NULL,
`ct` bigint(19) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 9223372036854775807
cf 9223372036854775807
cc 9223372036854775807
cr 9223372036854775807
ct 9223372036854775807
----- -----
Type BIT(64)
Table t2
Create Table CREATE TABLE `t2` (
`a` bit(64) DEFAULT NULL,
`cf` bigint(20) unsigned DEFAULT NULL,
`cc` bigint(20) unsigned DEFAULT NULL,
`cr` bigint(20) unsigned DEFAULT NULL,
`ct` bigint(20) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 18446744073709551615
cf 18446744073709551615
cc 18446744073709551615
cr 18446744073709551615
ct 18446744073709551615
#
# End of 10.4 tests
#
#

View file

@ -507,6 +507,35 @@ EXPLAIN SELECT * FROM t1 WHERE a=200;
EXPLAIN SELECT * FROM t1 WHERE a<=>200;
DROP TABLE t1;
--echo #
--echo # MDEV-23323 Rounding functions return a wrong data type for a BIT, ENUM, SET argument
--echo #
--vertical_results
DELIMITER $$;
BEGIN NOT ATOMIC
FOR i IN 1..64
DO
SELECT '-----', CONCAT('BIT(',i,')') AS Type;
EXECUTE IMMEDIATE REPLACE('CREATE TABLE t1 (a BIT(64))','64', i);
INSERT IGNORE INTO t1 VALUES (0xFFFFFFFFFFFFFFFF);
CREATE TABLE t2 AS SELECT
a,
FLOOR(a) AS cf,
CEILING(a) AS cc,
ROUND(a) AS cr,
TRUNCATE(a,0) AS ct
FROM t1;
SHOW CREATE TABLE t2;
SELECT CAST(a AS UNSIGNED) AS a, cf, cc, cr, ct FROM t2;
DROP TABLE t2;
DROP TABLE t1;
END FOR;
END;
$$
DELIMITER ;$$
--horizontal_results
--echo #
--echo # End of 10.4 tests

View file

@ -1089,5 +1089,19 @@ CAST(1012.5 AS DATE) * 1.0
Warnings:
Note 1292 Truncated incorrect date value: '1012.5'
#
# MDEV-23351 Rounding functions return wrong data types for DATE input
#
CREATE TABLE t1 (a date);
CREATE TABLE t2 AS SELECT FLOOR(a), CEIL(a),ROUND(a),TRUNCATE(a,0) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`FLOOR(a)` int(8) unsigned DEFAULT NULL,
`CEIL(a)` int(8) unsigned DEFAULT NULL,
`ROUND(a)` int(8) unsigned DEFAULT NULL,
`TRUNCATE(a,0)` int(8) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2,t1;
#
# End of 10.4 tests
#

View file

@ -740,6 +740,14 @@ SET sql_mode=DEFAULT;
SELECT NULLIF(CAST(1012.5 AS DATE), 1);
SELECT CAST(1012.5 AS DATE) * 1.0;
--echo #
--echo # MDEV-23351 Rounding functions return wrong data types for DATE input
--echo #
CREATE TABLE t1 (a date);
CREATE TABLE t2 AS SELECT FLOOR(a), CEIL(a),ROUND(a),TRUNCATE(a,0) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2,t1;
--echo #
--echo # End of 10.4 tests

View file

@ -900,5 +900,170 @@ f
NULL
DROP TABLE t1;
#
# MDEV-23311 CEILING() and FLOOR() convert temporal input to numbers, unlike ROUND() and TRUNCATE()
#
CREATE TABLE t1 AS SELECT
FLOOR(TIMESTAMP'2001-01-01 00:00:00.999999'),
CEILING(TIMESTAMP'2001-01-01 00:00:00.999999');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`FLOOR(TIMESTAMP'2001-01-01 00:00:00.999999')` datetime DEFAULT NULL,
`CEILING(TIMESTAMP'2001-01-01 00:00:00.999999')` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (a DATETIME(6));
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.999999');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.99999');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.9999');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.999');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.99');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.9');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.1');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.0');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.999999');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.99999');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.9999');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.999');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.99');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.9');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.1');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.0');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.999999');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.99999');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.9999');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.999');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.99');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.9');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.1');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.0');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.999999');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.99999');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.9999');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.999');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.99');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.9');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.1');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.0');
CREATE FUNCTION FLOOR_SP(a DATETIME(6)) RETURNS DATETIME
BEGIN
RETURN
CASE
WHEN EXTRACT(MICROSECOND FROM a)=0 THEN a
ELSE TRUNCATE(a,0)
END;
END;
$$
CREATE FUNCTION CEILING_SP(a DATETIME(6)) RETURNS DATETIME
BEGIN
RETURN
CASE
WHEN TRUNCATE(a,0)=TIMESTAMP'9999-12-31 23:59:59' THEN a
WHEN EXTRACT(MICROSECOND FROM a)=0 THEN a
ELSE TRUNCATE(a,0)+INTERVAL 1 SECOND
END;
END;
$$
SELECT a, FLOOR(a), FLOOR_SP(a), FLOOR(a)=FLOOR_SP(a) FROM t1 ORDER BY a;
a FLOOR(a) FLOOR_SP(a) FLOOR(a)=FLOOR_SP(a)
0001-12-31 23:59:59.000000 0001-12-31 23:59:59 0001-12-31 23:59:59 1
0001-12-31 23:59:59.100000 0001-12-31 23:59:59 0001-12-31 23:59:59 1
0001-12-31 23:59:59.900000 0001-12-31 23:59:59 0001-12-31 23:59:59 1
0001-12-31 23:59:59.990000 0001-12-31 23:59:59 0001-12-31 23:59:59 1
0001-12-31 23:59:59.999000 0001-12-31 23:59:59 0001-12-31 23:59:59 1
0001-12-31 23:59:59.999900 0001-12-31 23:59:59 0001-12-31 23:59:59 1
0001-12-31 23:59:59.999990 0001-12-31 23:59:59 0001-12-31 23:59:59 1
0001-12-31 23:59:59.999999 0001-12-31 23:59:59 0001-12-31 23:59:59 1
0999-12-31 23:59:59.000000 0999-12-31 23:59:59 0999-12-31 23:59:59 1
0999-12-31 23:59:59.100000 0999-12-31 23:59:59 0999-12-31 23:59:59 1
0999-12-31 23:59:59.900000 0999-12-31 23:59:59 0999-12-31 23:59:59 1
0999-12-31 23:59:59.990000 0999-12-31 23:59:59 0999-12-31 23:59:59 1
0999-12-31 23:59:59.999000 0999-12-31 23:59:59 0999-12-31 23:59:59 1
0999-12-31 23:59:59.999900 0999-12-31 23:59:59 0999-12-31 23:59:59 1
0999-12-31 23:59:59.999990 0999-12-31 23:59:59 0999-12-31 23:59:59 1
0999-12-31 23:59:59.999999 0999-12-31 23:59:59 0999-12-31 23:59:59 1
9999-12-30 23:59:59.000000 9999-12-30 23:59:59 9999-12-30 23:59:59 1
9999-12-30 23:59:59.100000 9999-12-30 23:59:59 9999-12-30 23:59:59 1
9999-12-30 23:59:59.900000 9999-12-30 23:59:59 9999-12-30 23:59:59 1
9999-12-30 23:59:59.990000 9999-12-30 23:59:59 9999-12-30 23:59:59 1
9999-12-30 23:59:59.999000 9999-12-30 23:59:59 9999-12-30 23:59:59 1
9999-12-30 23:59:59.999900 9999-12-30 23:59:59 9999-12-30 23:59:59 1
9999-12-30 23:59:59.999990 9999-12-30 23:59:59 9999-12-30 23:59:59 1
9999-12-30 23:59:59.999999 9999-12-30 23:59:59 9999-12-30 23:59:59 1
9999-12-31 23:59:59.000000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.100000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.900000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.990000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.999000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.999900 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.999990 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.999999 9999-12-31 23:59:59 9999-12-31 23:59:59 1
SELECT a, CEILING(a), CEILING_SP(a), CEILING(a)=CEILING_SP(a) FROM t1 ORDER BY a;
a CEILING(a) CEILING_SP(a) CEILING(a)=CEILING_SP(a)
0001-12-31 23:59:59.000000 0001-12-31 23:59:59 0001-12-31 23:59:59 1
0001-12-31 23:59:59.100000 0002-01-01 00:00:00 0002-01-01 00:00:00 1
0001-12-31 23:59:59.900000 0002-01-01 00:00:00 0002-01-01 00:00:00 1
0001-12-31 23:59:59.990000 0002-01-01 00:00:00 0002-01-01 00:00:00 1
0001-12-31 23:59:59.999000 0002-01-01 00:00:00 0002-01-01 00:00:00 1
0001-12-31 23:59:59.999900 0002-01-01 00:00:00 0002-01-01 00:00:00 1
0001-12-31 23:59:59.999990 0002-01-01 00:00:00 0002-01-01 00:00:00 1
0001-12-31 23:59:59.999999 0002-01-01 00:00:00 0002-01-01 00:00:00 1
0999-12-31 23:59:59.000000 0999-12-31 23:59:59 0999-12-31 23:59:59 1
0999-12-31 23:59:59.100000 1000-01-01 00:00:00 1000-01-01 00:00:00 1
0999-12-31 23:59:59.900000 1000-01-01 00:00:00 1000-01-01 00:00:00 1
0999-12-31 23:59:59.990000 1000-01-01 00:00:00 1000-01-01 00:00:00 1
0999-12-31 23:59:59.999000 1000-01-01 00:00:00 1000-01-01 00:00:00 1
0999-12-31 23:59:59.999900 1000-01-01 00:00:00 1000-01-01 00:00:00 1
0999-12-31 23:59:59.999990 1000-01-01 00:00:00 1000-01-01 00:00:00 1
0999-12-31 23:59:59.999999 1000-01-01 00:00:00 1000-01-01 00:00:00 1
9999-12-30 23:59:59.000000 9999-12-30 23:59:59 9999-12-30 23:59:59 1
9999-12-30 23:59:59.100000 9999-12-31 00:00:00 9999-12-31 00:00:00 1
9999-12-30 23:59:59.900000 9999-12-31 00:00:00 9999-12-31 00:00:00 1
9999-12-30 23:59:59.990000 9999-12-31 00:00:00 9999-12-31 00:00:00 1
9999-12-30 23:59:59.999000 9999-12-31 00:00:00 9999-12-31 00:00:00 1
9999-12-30 23:59:59.999900 9999-12-31 00:00:00 9999-12-31 00:00:00 1
9999-12-30 23:59:59.999990 9999-12-31 00:00:00 9999-12-31 00:00:00 1
9999-12-30 23:59:59.999999 9999-12-31 00:00:00 9999-12-31 00:00:00 1
9999-12-31 23:59:59.000000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.100000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.900000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.990000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.999000 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.999900 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.999990 9999-12-31 23:59:59 9999-12-31 23:59:59 1
9999-12-31 23:59:59.999999 9999-12-31 23:59:59 9999-12-31 23:59:59 1
DROP FUNCTION FLOOR_SP;
DROP FUNCTION CEILING_SP;
DROP TABLE t1;
CREATE TABLE t1 (a DATETIME(6));
INSERT INTO t1 VALUES ('0000-00-00 23:59:59.999999');
INSERT INTO t1 VALUES ('0000-00-01 23:59:59.999999');
INSERT INTO t1 VALUES ('0000-01-01 23:59:59.999999');
INSERT INTO t1 VALUES ('0001-00-00 23:59:59.999999');
SELECT a, FLOOR(a), CEILING(a) FROM t1;
a FLOOR(a) CEILING(a)
0000-00-00 23:59:59.999999 0000-00-00 23:59:59 NULL
0000-00-01 23:59:59.999999 0000-00-01 23:59:59 NULL
0000-01-01 23:59:59.999999 0000-01-01 23:59:59 NULL
0001-00-00 23:59:59.999999 0001-00-00 23:59:59 NULL
Warnings:
Warning 1411 Incorrect date value: '0000-00-00' for function round(datetime)
Warning 1411 Incorrect date value: '0000-00-01' for function round(datetime)
Warning 1411 Incorrect date value: '0000-01-01' for function round(datetime)
Warning 1411 Incorrect date value: '0001-00-00' for function round(datetime)
DROP TABLE t1;
SET sql_mode=ALLOW_INVALID_DATES;
CREATE TABLE t1 (a DATETIME(6));
INSERT INTO t1 VALUES ('2001-02-28 23:59:59.999999');
INSERT INTO t1 VALUES ('2001-02-29 23:59:59.999999');
SELECT a, FLOOR(a), CEILING(a) FROM t1;
a FLOOR(a) CEILING(a)
2001-02-28 23:59:59.999999 2001-02-28 23:59:59 2001-03-01 00:00:00
2001-02-29 23:59:59.999999 2001-02-29 23:59:59 NULL
Warnings:
Warning 1411 Incorrect date value: '2001-02-29' for function round(datetime)
DROP TABLE t1;
SET sql_mode=DEFAULT;
#
# End of 10.4 tests
#

View file

@ -156,6 +156,104 @@ SELECT ROUND(a) AS f FROM t1 GROUP BY a WITH ROLLUP;
DROP TABLE t1;
--echo #
--echo # MDEV-23311 CEILING() and FLOOR() convert temporal input to numbers, unlike ROUND() and TRUNCATE()
--echo #
CREATE TABLE t1 AS SELECT
FLOOR(TIMESTAMP'2001-01-01 00:00:00.999999'),
CEILING(TIMESTAMP'2001-01-01 00:00:00.999999');
SHOW CREATE TABLE t1;
DROP TABLE t1;
CREATE TABLE t1 (a DATETIME(6));
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.999999');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.99999');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.9999');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.999');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.99');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.9');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.1');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.0');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.999999');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.99999');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.9999');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.999');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.99');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.9');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.1');
INSERT INTO t1 VALUES ('9999-12-30 23:59:59.0');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.999999');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.99999');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.9999');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.999');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.99');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.9');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.1');
INSERT INTO t1 VALUES ('0999-12-31 23:59:59.0');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.999999');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.99999');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.9999');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.999');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.99');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.9');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.1');
INSERT INTO t1 VALUES ('0001-12-31 23:59:59.0');
DELIMITER $$;
CREATE FUNCTION FLOOR_SP(a DATETIME(6)) RETURNS DATETIME
BEGIN
RETURN
CASE
WHEN EXTRACT(MICROSECOND FROM a)=0 THEN a
ELSE TRUNCATE(a,0)
END;
END;
$$
DELIMITER ;$$
DELIMITER $$;
CREATE FUNCTION CEILING_SP(a DATETIME(6)) RETURNS DATETIME
BEGIN
RETURN
CASE
WHEN TRUNCATE(a,0)=TIMESTAMP'9999-12-31 23:59:59' THEN a
WHEN EXTRACT(MICROSECOND FROM a)=0 THEN a
ELSE TRUNCATE(a,0)+INTERVAL 1 SECOND
END;
END;
$$
DELIMITER ;$$
SELECT a, FLOOR(a), FLOOR_SP(a), FLOOR(a)=FLOOR_SP(a) FROM t1 ORDER BY a;
SELECT a, CEILING(a), CEILING_SP(a), CEILING(a)=CEILING_SP(a) FROM t1 ORDER BY a;
DROP FUNCTION FLOOR_SP;
DROP FUNCTION CEILING_SP;
DROP TABLE t1;
CREATE TABLE t1 (a DATETIME(6));
INSERT INTO t1 VALUES ('0000-00-00 23:59:59.999999');
INSERT INTO t1 VALUES ('0000-00-01 23:59:59.999999');
INSERT INTO t1 VALUES ('0000-01-01 23:59:59.999999');
INSERT INTO t1 VALUES ('0001-00-00 23:59:59.999999');
SELECT a, FLOOR(a), CEILING(a) FROM t1;
DROP TABLE t1;
SET sql_mode=ALLOW_INVALID_DATES;
CREATE TABLE t1 (a DATETIME(6));
INSERT INTO t1 VALUES ('2001-02-28 23:59:59.999999');
INSERT INTO t1 VALUES ('2001-02-29 23:59:59.999999');
SELECT a, FLOOR(a), CEILING(a) FROM t1;
DROP TABLE t1;
SET sql_mode=DEFAULT;
--echo #
--echo # End of 10.4 tests
--echo #

View file

@ -2305,3 +2305,24 @@ t2 CREATE TABLE `t2` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP PROCEDURE p1;
DROP TABLE t1;
#
# MDEV-23323 Rounding functions return a wrong data type for a BIT, ENUM, SET argument
#
CREATE TABLE t1 (a ENUM('999999999999999999999999999999999999999999999999999999999999'));
INSERT INTO t1 VALUES (1);
CREATE TABLE t2 AS
SELECT a, FLOOR(a), CEILING(a), TRUNCATE(a,0), ROUND(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` enum('999999999999999999999999999999999999999999999999999999999999') DEFAULT NULL,
`FLOOR(a)` int(5) unsigned DEFAULT NULL,
`CEILING(a)` int(5) unsigned DEFAULT NULL,
`TRUNCATE(a,0)` int(5) unsigned DEFAULT NULL,
`ROUND(a)` int(5) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
a FLOOR(a) CEILING(a) TRUNCATE(a,0) ROUND(a)
999999999999999999999999999999999999999999999999999999999999 1 1 1 1
DROP TABLE t2;
DROP TABLE t1;

View file

@ -518,3 +518,16 @@ DELIMITER ;$$
CALL p1();
DROP PROCEDURE p1;
DROP TABLE t1;
--echo #
--echo # MDEV-23323 Rounding functions return a wrong data type for a BIT, ENUM, SET argument
--echo #
CREATE TABLE t1 (a ENUM('999999999999999999999999999999999999999999999999999999999999'));
INSERT INTO t1 VALUES (1);
CREATE TABLE t2 AS
SELECT a, FLOOR(a), CEILING(a), TRUNCATE(a,0), ROUND(a) FROM t1;
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2;
DROP TABLE t1;

View file

@ -20,5 +20,163 @@ Warnings:
Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where <cache>(octet_length(charset('a'))) + `test`.`t1`.`a` <=> <cache>(octet_length(charset(0x61))) + `test`.`t1`.`a`
DROP TABLE t1;
#
# MDEV-23320 Hex hybrid constants 0xHHHH work badly in rounding functions
#
BEGIN NOT ATOMIC
DECLARE arg TEXT DEFAULT '';
DECLARE query TEXT DEFAULT
'CREATE TABLE t1 AS SELECT '
'0xFFFFFFFFFFFFFFFF+0 AS c1,'
'FLOOR(0xFFFFFFFFFFFFFFFF) AS c2,'
'CEILING(0xFFFFFFFFFFFFFFFF) AS c3,'
'ROUND(0xFFFFFFFFFFFFFFFF) AS c4,'
'TRUNCATE(0xFFFFFFFFFFFFFFFF,0) AS c5';
FOR i IN 1..9
DO
SET arg= CONCAT('0x',REPEAT('FF',i));
SELECT i, arg;
EXECUTE IMMEDIATE REPLACE(query,'0xFFFFFFFFFFFFFFFF', arg);
SHOW CREATE TABLE t1;
SELECT * FROM t1;
DROP TABLE t1;
END FOR;
END;
$$
i 1
arg 0xFF
Table t1
Create Table CREATE TABLE `t1` (
`c1` int(4) unsigned NOT NULL,
`c2` int(3) unsigned NOT NULL,
`c3` int(3) unsigned NOT NULL,
`c4` int(3) unsigned NOT NULL,
`c5` int(3) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
c1 255
c2 255
c3 255
c4 255
c5 255
i 2
arg 0xFFFF
Table t1
Create Table CREATE TABLE `t1` (
`c1` int(6) unsigned NOT NULL,
`c2` int(5) unsigned NOT NULL,
`c3` int(5) unsigned NOT NULL,
`c4` int(5) unsigned NOT NULL,
`c5` int(5) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
c1 65535
c2 65535
c3 65535
c4 65535
c5 65535
i 3
arg 0xFFFFFF
Table t1
Create Table CREATE TABLE `t1` (
`c1` int(9) unsigned NOT NULL,
`c2` int(8) unsigned NOT NULL,
`c3` int(8) unsigned NOT NULL,
`c4` int(8) unsigned NOT NULL,
`c5` int(8) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
c1 16777215
c2 16777215
c3 16777215
c4 16777215
c5 16777215
i 4
arg 0xFFFFFFFF
Table t1
Create Table CREATE TABLE `t1` (
`c1` bigint(11) unsigned NOT NULL,
`c2` bigint(10) unsigned NOT NULL,
`c3` bigint(10) unsigned NOT NULL,
`c4` bigint(10) unsigned NOT NULL,
`c5` bigint(10) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
c1 4294967295
c2 4294967295
c3 4294967295
c4 4294967295
c5 4294967295
i 5
arg 0xFFFFFFFFFF
Table t1
Create Table CREATE TABLE `t1` (
`c1` bigint(14) unsigned NOT NULL,
`c2` bigint(13) unsigned NOT NULL,
`c3` bigint(13) unsigned NOT NULL,
`c4` bigint(13) unsigned NOT NULL,
`c5` bigint(13) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
c1 1099511627775
c2 1099511627775
c3 1099511627775
c4 1099511627775
c5 1099511627775
i 6
arg 0xFFFFFFFFFFFF
Table t1
Create Table CREATE TABLE `t1` (
`c1` bigint(16) unsigned NOT NULL,
`c2` bigint(15) unsigned NOT NULL,
`c3` bigint(15) unsigned NOT NULL,
`c4` bigint(15) unsigned NOT NULL,
`c5` bigint(15) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
c1 281474976710655
c2 281474976710655
c3 281474976710655
c4 281474976710655
c5 281474976710655
i 7
arg 0xFFFFFFFFFFFFFF
Table t1
Create Table CREATE TABLE `t1` (
`c1` bigint(18) unsigned NOT NULL,
`c2` bigint(17) unsigned NOT NULL,
`c3` bigint(17) unsigned NOT NULL,
`c4` bigint(17) unsigned NOT NULL,
`c5` bigint(17) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
c1 72057594037927935
c2 72057594037927935
c3 72057594037927935
c4 72057594037927935
c5 72057594037927935
i 8
arg 0xFFFFFFFFFFFFFFFF
Table t1
Create Table CREATE TABLE `t1` (
`c1` bigint(21) unsigned NOT NULL,
`c2` bigint(20) unsigned NOT NULL,
`c3` bigint(20) unsigned NOT NULL,
`c4` bigint(20) unsigned NOT NULL,
`c5` bigint(20) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
c1 18446744073709551615
c2 18446744073709551615
c3 18446744073709551615
c4 18446744073709551615
c5 18446744073709551615
i 9
arg 0xFFFFFFFFFFFFFFFFFF
Table t1
Create Table CREATE TABLE `t1` (
`c1` bigint(21) unsigned NOT NULL,
`c2` bigint(20) unsigned NOT NULL,
`c3` bigint(20) unsigned NOT NULL,
`c4` bigint(20) unsigned NOT NULL,
`c5` bigint(20) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
c1 18446744073709551615
c2 18446744073709551615
c3 18446744073709551615
c4 18446744073709551615
c5 18446744073709551615
#
# End of 10.4 tests
#

View file

@ -16,6 +16,36 @@ SELECT * FROM t1 WHERE LENGTH(CHARSET('a'))+a<=>LENGTH(CHARSET(0x61))+a;
EXPLAIN EXTENDED SELECT * FROM t1 WHERE LENGTH(CHARSET('a'))+a<=>LENGTH(CHARSET(0x61))+a;
DROP TABLE t1;
--echo #
--echo # MDEV-23320 Hex hybrid constants 0xHHHH work badly in rounding functions
--echo #
--vertical_results
DELIMITER $$;
BEGIN NOT ATOMIC
DECLARE arg TEXT DEFAULT '';
DECLARE query TEXT DEFAULT
'CREATE TABLE t1 AS SELECT '
'0xFFFFFFFFFFFFFFFF+0 AS c1,'
'FLOOR(0xFFFFFFFFFFFFFFFF) AS c2,'
'CEILING(0xFFFFFFFFFFFFFFFF) AS c3,'
'ROUND(0xFFFFFFFFFFFFFFFF) AS c4,'
'TRUNCATE(0xFFFFFFFFFFFFFFFF,0) AS c5';
FOR i IN 1..9
DO
SET arg= CONCAT('0x',REPEAT('FF',i));
SELECT i, arg;
EXECUTE IMMEDIATE REPLACE(query,'0xFFFFFFFFFFFFFFFF', arg);
SHOW CREATE TABLE t1;
SELECT * FROM t1;
DROP TABLE t1;
END FOR;
END;
$$
DELIMITER ;$$
--horizontal_results
--echo #
--echo # End of 10.4 tests
--echo #

View file

@ -412,6 +412,222 @@ COUNT(*)
0
DROP TABLE t1;
#
# MDEV-23337 Rounding functions create a wrong data type for numeric input
#
CREATE PROCEDURE p1(t VARCHAR(64))
BEGIN
SELECT t AS ``;
EXECUTE IMMEDIATE REPLACE('CREATE TABLE t1 (a TYPE)', 'TYPE', t);
INSERT IGNORE INTO t1 VALUES (-100000000000000000000000000000);
INSERT IGNORE INTO t1 VALUES (100000000000000000000000000000);
CREATE TABLE t2 AS SELECT a, ROUND(a), TRUNCATE(a,0), FLOOR(a), CEILING(a) FROM t1;
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t1, t2;
END;
$$
CALL p1('tinyint');
tinyint
Table t2
Create Table CREATE TABLE `t2` (
`a` tinyint(4) DEFAULT NULL,
`ROUND(a)` tinyint(4) DEFAULT NULL,
`TRUNCATE(a,0)` tinyint(4) DEFAULT NULL,
`FLOOR(a)` tinyint(4) DEFAULT NULL,
`CEILING(a)` tinyint(4) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a -128
ROUND(a) -128
TRUNCATE(a,0) -128
FLOOR(a) -128
CEILING(a) -128
a 127
ROUND(a) 127
TRUNCATE(a,0) 127
FLOOR(a) 127
CEILING(a) 127
CALL p1('smallint');
smallint
Table t2
Create Table CREATE TABLE `t2` (
`a` smallint(6) DEFAULT NULL,
`ROUND(a)` smallint(6) DEFAULT NULL,
`TRUNCATE(a,0)` smallint(6) DEFAULT NULL,
`FLOOR(a)` smallint(6) DEFAULT NULL,
`CEILING(a)` smallint(6) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a -32768
ROUND(a) -32768
TRUNCATE(a,0) -32768
FLOOR(a) -32768
CEILING(a) -32768
a 32767
ROUND(a) 32767
TRUNCATE(a,0) 32767
FLOOR(a) 32767
CEILING(a) 32767
CALL p1('mediumint');
mediumint
Table t2
Create Table CREATE TABLE `t2` (
`a` mediumint(9) DEFAULT NULL,
`ROUND(a)` mediumint(9) DEFAULT NULL,
`TRUNCATE(a,0)` mediumint(9) DEFAULT NULL,
`FLOOR(a)` mediumint(9) DEFAULT NULL,
`CEILING(a)` mediumint(9) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a -8388608
ROUND(a) -8388608
TRUNCATE(a,0) -8388608
FLOOR(a) -8388608
CEILING(a) -8388608
a 8388607
ROUND(a) 8388607
TRUNCATE(a,0) 8388607
FLOOR(a) 8388607
CEILING(a) 8388607
CALL p1('int');
int
Table t2
Create Table CREATE TABLE `t2` (
`a` int(11) DEFAULT NULL,
`ROUND(a)` int(11) DEFAULT NULL,
`TRUNCATE(a,0)` int(11) DEFAULT NULL,
`FLOOR(a)` int(11) DEFAULT NULL,
`CEILING(a)` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a -2147483648
ROUND(a) -2147483648
TRUNCATE(a,0) -2147483648
FLOOR(a) -2147483648
CEILING(a) -2147483648
a 2147483647
ROUND(a) 2147483647
TRUNCATE(a,0) 2147483647
FLOOR(a) 2147483647
CEILING(a) 2147483647
CALL p1('bigint');
bigint
Table t2
Create Table CREATE TABLE `t2` (
`a` bigint(20) DEFAULT NULL,
`ROUND(a)` bigint(20) DEFAULT NULL,
`TRUNCATE(a,0)` bigint(20) DEFAULT NULL,
`FLOOR(a)` bigint(20) DEFAULT NULL,
`CEILING(a)` bigint(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a -9223372036854775808
ROUND(a) -9223372036854775808
TRUNCATE(a,0) -9223372036854775808
FLOOR(a) -9223372036854775808
CEILING(a) -9223372036854775808
a 9223372036854775807
ROUND(a) 9223372036854775807
TRUNCATE(a,0) 9223372036854775807
FLOOR(a) 9223372036854775807
CEILING(a) 9223372036854775807
CALL p1('tinyint unsigned');
tinyint unsigned
Table t2
Create Table CREATE TABLE `t2` (
`a` tinyint(3) unsigned DEFAULT NULL,
`ROUND(a)` tinyint(3) unsigned DEFAULT NULL,
`TRUNCATE(a,0)` tinyint(3) unsigned DEFAULT NULL,
`FLOOR(a)` tinyint(3) unsigned DEFAULT NULL,
`CEILING(a)` tinyint(3) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 0
ROUND(a) 0
TRUNCATE(a,0) 0
FLOOR(a) 0
CEILING(a) 0
a 255
ROUND(a) 255
TRUNCATE(a,0) 255
FLOOR(a) 255
CEILING(a) 255
CALL p1('smallint unsigned');
smallint unsigned
Table t2
Create Table CREATE TABLE `t2` (
`a` smallint(5) unsigned DEFAULT NULL,
`ROUND(a)` smallint(5) unsigned DEFAULT NULL,
`TRUNCATE(a,0)` smallint(5) unsigned DEFAULT NULL,
`FLOOR(a)` smallint(5) unsigned DEFAULT NULL,
`CEILING(a)` smallint(5) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 0
ROUND(a) 0
TRUNCATE(a,0) 0
FLOOR(a) 0
CEILING(a) 0
a 65535
ROUND(a) 65535
TRUNCATE(a,0) 65535
FLOOR(a) 65535
CEILING(a) 65535
CALL p1('mediumint unsigned');
mediumint unsigned
Table t2
Create Table CREATE TABLE `t2` (
`a` mediumint(8) unsigned DEFAULT NULL,
`ROUND(a)` mediumint(8) unsigned DEFAULT NULL,
`TRUNCATE(a,0)` mediumint(8) unsigned DEFAULT NULL,
`FLOOR(a)` mediumint(8) unsigned DEFAULT NULL,
`CEILING(a)` mediumint(8) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 0
ROUND(a) 0
TRUNCATE(a,0) 0
FLOOR(a) 0
CEILING(a) 0
a 16777215
ROUND(a) 16777215
TRUNCATE(a,0) 16777215
FLOOR(a) 16777215
CEILING(a) 16777215
CALL p1('int unsigned');
int unsigned
Table t2
Create Table CREATE TABLE `t2` (
`a` int(10) unsigned DEFAULT NULL,
`ROUND(a)` int(10) unsigned DEFAULT NULL,
`TRUNCATE(a,0)` int(10) unsigned DEFAULT NULL,
`FLOOR(a)` int(10) unsigned DEFAULT NULL,
`CEILING(a)` int(10) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 0
ROUND(a) 0
TRUNCATE(a,0) 0
FLOOR(a) 0
CEILING(a) 0
a 4294967295
ROUND(a) 4294967295
TRUNCATE(a,0) 4294967295
FLOOR(a) 4294967295
CEILING(a) 4294967295
CALL p1('bigint unsigned');
bigint unsigned
Table t2
Create Table CREATE TABLE `t2` (
`a` bigint(20) unsigned DEFAULT NULL,
`ROUND(a)` bigint(20) unsigned DEFAULT NULL,
`TRUNCATE(a,0)` bigint(20) unsigned DEFAULT NULL,
`FLOOR(a)` bigint(20) unsigned DEFAULT NULL,
`CEILING(a)` bigint(20) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
a 0
ROUND(a) 0
TRUNCATE(a,0) 0
FLOOR(a) 0
CEILING(a) 0
a 18446744073709551615
ROUND(a) 18446744073709551615
TRUNCATE(a,0) 18446744073709551615
FLOOR(a) 18446744073709551615
CEILING(a) 18446744073709551615
DROP PROCEDURE p1;
#
# End of 10.4 tests
#
#

View file

@ -293,6 +293,41 @@ SELECT COUNT(*) FROM t1 WHERE a XOR a;
DROP TABLE t1;
--echo #
--echo # MDEV-23337 Rounding functions create a wrong data type for numeric input
--echo #
DELIMITER $$;
CREATE PROCEDURE p1(t VARCHAR(64))
BEGIN
SELECT t AS ``;
EXECUTE IMMEDIATE REPLACE('CREATE TABLE t1 (a TYPE)', 'TYPE', t);
INSERT IGNORE INTO t1 VALUES (-100000000000000000000000000000);
INSERT IGNORE INTO t1 VALUES (100000000000000000000000000000);
CREATE TABLE t2 AS SELECT a, ROUND(a), TRUNCATE(a,0), FLOOR(a), CEILING(a) FROM t1;
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t1, t2;
END;
$$
DELIMITER ;$$
--vertical_results
CALL p1('tinyint');
CALL p1('smallint');
CALL p1('mediumint');
CALL p1('int');
CALL p1('bigint');
CALL p1('tinyint unsigned');
CALL p1('smallint unsigned');
CALL p1('mediumint unsigned');
CALL p1('int unsigned');
CALL p1('bigint unsigned');
--horizontal_results
DROP PROCEDURE p1;
--echo #
--echo # End of 10.4 tests
--echo #

View file

@ -358,3 +358,24 @@ DROP TABLE t1;
SET NAMES utf8;
CREATE TABLE t1 (a SET('a,bü'));
ERROR 22007: Illegal set 'a,bü' value found during parsing
#
# MDEV-23323 Rounding functions return a wrong data type for a BIT, ENUM, SET argument
#
CREATE TABLE t1 (a SET('999999999999999999999999999999999999999999999999999999999999'));
INSERT INTO t1 VALUES (1);
CREATE TABLE t2 AS
SELECT a, FLOOR(a), CEILING(a), TRUNCATE(a,0), ROUND(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` set('999999999999999999999999999999999999999999999999999999999999') DEFAULT NULL,
`FLOOR(a)` int(5) unsigned DEFAULT NULL,
`CEILING(a)` int(5) unsigned DEFAULT NULL,
`TRUNCATE(a,0)` int(5) unsigned DEFAULT NULL,
`ROUND(a)` int(5) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
a FLOOR(a) CEILING(a) TRUNCATE(a,0) ROUND(a)
999999999999999999999999999999999999999999999999999999999999 1 1 1 1
DROP TABLE t2;
DROP TABLE t1;

View file

@ -248,3 +248,16 @@ DROP TABLE t1;
SET NAMES utf8;
--error ER_ILLEGAL_VALUE_FOR_TYPE
CREATE TABLE t1 (a SET('a,bü'));
--echo #
--echo # MDEV-23323 Rounding functions return a wrong data type for a BIT, ENUM, SET argument
--echo #
CREATE TABLE t1 (a SET('999999999999999999999999999999999999999999999999999999999999'));
INSERT INTO t1 VALUES (1);
CREATE TABLE t2 AS
SELECT a, FLOOR(a), CEILING(a), TRUNCATE(a,0), ROUND(a) FROM t1;
SHOW CREATE TABLE t2;
SELECT * FROM t2;
DROP TABLE t2;
DROP TABLE t1;

View file

@ -670,3 +670,240 @@ a ROUND(a,-6)
838:59:59.999999 838:59:59
DROP TABLE t1;
SET time_zone=DEFAULT;
#
# MDEV-23311 CEILING() and FLOOR() convert temporal input to numbers, unlike ROUND() and TRUNCATE()
#
CREATE TABLE t1 AS SELECT
FLOOR(TIME'00:00:00.999999'),
CEILING(TIME'00:00:00.999999');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`FLOOR(TIME'00:00:00.999999')` time NOT NULL,
`CEILING(TIME'00:00:00.999999')` time NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (a TIME(6));
INSERT INTO t1 VALUES ('838:59:59.999999');
INSERT INTO t1 VALUES ('838:59:59.99999');
INSERT INTO t1 VALUES ('838:59:59.9999');
INSERT INTO t1 VALUES ('838:59:59.999');
INSERT INTO t1 VALUES ('838:59:59.99');
INSERT INTO t1 VALUES ('838:59:59.9');
INSERT INTO t1 VALUES ('838:59:59.1');
INSERT INTO t1 VALUES ('838:59:59.0');
INSERT INTO t1 VALUES ('837:59:59.999999');
INSERT INTO t1 VALUES ('837:59:59.99999');
INSERT INTO t1 VALUES ('837:59:59.9999');
INSERT INTO t1 VALUES ('837:59:59.999');
INSERT INTO t1 VALUES ('837:59:59.99');
INSERT INTO t1 VALUES ('837:59:59.9');
INSERT INTO t1 VALUES ('837:59:59.1');
INSERT INTO t1 VALUES ('837:59:59.0');
INSERT INTO t1 VALUES ('23:59:59.999999');
INSERT INTO t1 VALUES ('23:59:59.99999');
INSERT INTO t1 VALUES ('23:59:59.9999');
INSERT INTO t1 VALUES ('23:59:59.999');
INSERT INTO t1 VALUES ('23:59:59.99');
INSERT INTO t1 VALUES ('23:59:59.9');
INSERT INTO t1 VALUES ('23:59:59.1');
INSERT INTO t1 VALUES ('23:59:59.0');
INSERT INTO t1 VALUES ('00:00:00.999999');
INSERT INTO t1 VALUES ('00:00:00.99999');
INSERT INTO t1 VALUES ('00:00:00.9999');
INSERT INTO t1 VALUES ('00:00:00.999');
INSERT INTO t1 VALUES ('00:00:00.99');
INSERT INTO t1 VALUES ('00:00:00.9');
INSERT INTO t1 VALUES ('00:00:00.1');
INSERT INTO t1 VALUES ('00:00:00.0');
INSERT INTO t1 VALUES ('-00:00:00.999999');
INSERT INTO t1 VALUES ('-00:00:00.99999');
INSERT INTO t1 VALUES ('-00:00:00.9999');
INSERT INTO t1 VALUES ('-00:00:00.999');
INSERT INTO t1 VALUES ('-00:00:00.99');
INSERT INTO t1 VALUES ('-00:00:00.9');
INSERT INTO t1 VALUES ('-00:00:00.1');
INSERT INTO t1 VALUES ('-00:00:00.0');
INSERT INTO t1 VALUES ('-23:59:59.999999');
INSERT INTO t1 VALUES ('-23:59:59.99999');
INSERT INTO t1 VALUES ('-23:59:59.9999');
INSERT INTO t1 VALUES ('-23:59:59.999');
INSERT INTO t1 VALUES ('-23:59:59.99');
INSERT INTO t1 VALUES ('-23:59:59.9');
INSERT INTO t1 VALUES ('-23:59:59.1');
INSERT INTO t1 VALUES ('-23:59:59.0');
INSERT INTO t1 VALUES ('-837:59:59.999999');
INSERT INTO t1 VALUES ('-837:59:59.99999');
INSERT INTO t1 VALUES ('-837:59:59.9999');
INSERT INTO t1 VALUES ('-837:59:59.999');
INSERT INTO t1 VALUES ('-837:59:59.99');
INSERT INTO t1 VALUES ('-837:59:59.9');
INSERT INTO t1 VALUES ('-837:59:59.1');
INSERT INTO t1 VALUES ('-837:59:59.0');
INSERT INTO t1 VALUES ('-838:59:59.999999');
INSERT INTO t1 VALUES ('-838:59:59.99999');
INSERT INTO t1 VALUES ('-838:59:59.9999');
INSERT INTO t1 VALUES ('-838:59:59.999');
INSERT INTO t1 VALUES ('-838:59:59.99');
INSERT INTO t1 VALUES ('-838:59:59.9');
INSERT INTO t1 VALUES ('-838:59:59.1');
INSERT INTO t1 VALUES ('-838:59:59.0');
CREATE FUNCTION FLOOR_SP(a TIME(6)) RETURNS TIME
BEGIN
RETURN
CASE
WHEN TRUNCATE(a,0)=TIME'838:59:59' THEN a
WHEN TRUNCATE(a,0)=TIME'-838:59:59' THEN a
WHEN a=TRUNCATE(a,0) THEN a -- no fractional digits
WHEN a<0 THEN TRUNCATE(a,0)-INTERVAL 1 SECOND -- negative values
WHEN a>0 THEN TRUNCATE(a,0) -- positive values
END;
END;
$$
CREATE FUNCTION CEILING_SP(a TIME(6)) RETURNS TIME
BEGIN
RETURN
CASE
WHEN TRUNCATE(a,0)=TIME'838:59:59' THEN a
WHEN TRUNCATE(a,0)=TIME'-838:59:59' THEN a
WHEN a=TRUNCATE(a,0) THEN a -- no fractional digits
WHEN a<0 THEN TRUNCATE(a,0) -- negative values
WHEN a>0 THEN TRUNCATE(a,0)+INTERVAL 1 SECOND -- positive values
END;
END;
$$
SELECT a, FLOOR(a), FLOOR_SP(a), FLOOR(a)=FLOOR_SP(a) FROM t1 ORDER BY a;
a FLOOR(a) FLOOR_SP(a) FLOOR(a)=FLOOR_SP(a)
-838:59:59.999999 -838:59:59 -838:59:59 1
-838:59:59.999990 -838:59:59 -838:59:59 1
-838:59:59.999900 -838:59:59 -838:59:59 1
-838:59:59.999000 -838:59:59 -838:59:59 1
-838:59:59.990000 -838:59:59 -838:59:59 1
-838:59:59.900000 -838:59:59 -838:59:59 1
-838:59:59.100000 -838:59:59 -838:59:59 1
-838:59:59.000000 -838:59:59 -838:59:59 1
-837:59:59.999999 -838:00:00 -838:00:00 1
-837:59:59.999990 -838:00:00 -838:00:00 1
-837:59:59.999900 -838:00:00 -838:00:00 1
-837:59:59.999000 -838:00:00 -838:00:00 1
-837:59:59.990000 -838:00:00 -838:00:00 1
-837:59:59.900000 -838:00:00 -838:00:00 1
-837:59:59.100000 -838:00:00 -838:00:00 1
-837:59:59.000000 -837:59:59 -837:59:59 1
-23:59:59.999999 -24:00:00 -24:00:00 1
-23:59:59.999990 -24:00:00 -24:00:00 1
-23:59:59.999900 -24:00:00 -24:00:00 1
-23:59:59.999000 -24:00:00 -24:00:00 1
-23:59:59.990000 -24:00:00 -24:00:00 1
-23:59:59.900000 -24:00:00 -24:00:00 1
-23:59:59.100000 -24:00:00 -24:00:00 1
-23:59:59.000000 -23:59:59 -23:59:59 1
-00:00:00.999999 -00:00:01 -00:00:01 1
-00:00:00.999990 -00:00:01 -00:00:01 1
-00:00:00.999900 -00:00:01 -00:00:01 1
-00:00:00.999000 -00:00:01 -00:00:01 1
-00:00:00.990000 -00:00:01 -00:00:01 1
-00:00:00.900000 -00:00:01 -00:00:01 1
-00:00:00.100000 -00:00:01 -00:00:01 1
00:00:00.000000 00:00:00 00:00:00 1
00:00:00.000000 00:00:00 00:00:00 1
00:00:00.100000 00:00:00 00:00:00 1
00:00:00.900000 00:00:00 00:00:00 1
00:00:00.990000 00:00:00 00:00:00 1
00:00:00.999000 00:00:00 00:00:00 1
00:00:00.999900 00:00:00 00:00:00 1
00:00:00.999990 00:00:00 00:00:00 1
00:00:00.999999 00:00:00 00:00:00 1
23:59:59.000000 23:59:59 23:59:59 1
23:59:59.100000 23:59:59 23:59:59 1
23:59:59.900000 23:59:59 23:59:59 1
23:59:59.990000 23:59:59 23:59:59 1
23:59:59.999000 23:59:59 23:59:59 1
23:59:59.999900 23:59:59 23:59:59 1
23:59:59.999990 23:59:59 23:59:59 1
23:59:59.999999 23:59:59 23:59:59 1
837:59:59.000000 837:59:59 837:59:59 1
837:59:59.100000 837:59:59 837:59:59 1
837:59:59.900000 837:59:59 837:59:59 1
837:59:59.990000 837:59:59 837:59:59 1
837:59:59.999000 837:59:59 837:59:59 1
837:59:59.999900 837:59:59 837:59:59 1
837:59:59.999990 837:59:59 837:59:59 1
837:59:59.999999 837:59:59 837:59:59 1
838:59:59.000000 838:59:59 838:59:59 1
838:59:59.100000 838:59:59 838:59:59 1
838:59:59.900000 838:59:59 838:59:59 1
838:59:59.990000 838:59:59 838:59:59 1
838:59:59.999000 838:59:59 838:59:59 1
838:59:59.999900 838:59:59 838:59:59 1
838:59:59.999990 838:59:59 838:59:59 1
838:59:59.999999 838:59:59 838:59:59 1
SELECT a, CEILING(a), CEILING_SP(a), CEILING(a)=CEILING_SP(a) FROM t1 ORDER BY a;
a CEILING(a) CEILING_SP(a) CEILING(a)=CEILING_SP(a)
-838:59:59.999999 -838:59:59 -838:59:59 1
-838:59:59.999990 -838:59:59 -838:59:59 1
-838:59:59.999900 -838:59:59 -838:59:59 1
-838:59:59.999000 -838:59:59 -838:59:59 1
-838:59:59.990000 -838:59:59 -838:59:59 1
-838:59:59.900000 -838:59:59 -838:59:59 1
-838:59:59.100000 -838:59:59 -838:59:59 1
-838:59:59.000000 -838:59:59 -838:59:59 1
-837:59:59.999999 -837:59:59 -837:59:59 1
-837:59:59.999990 -837:59:59 -837:59:59 1
-837:59:59.999900 -837:59:59 -837:59:59 1
-837:59:59.999000 -837:59:59 -837:59:59 1
-837:59:59.990000 -837:59:59 -837:59:59 1
-837:59:59.900000 -837:59:59 -837:59:59 1
-837:59:59.100000 -837:59:59 -837:59:59 1
-837:59:59.000000 -837:59:59 -837:59:59 1
-23:59:59.999999 -23:59:59 -23:59:59 1
-23:59:59.999990 -23:59:59 -23:59:59 1
-23:59:59.999900 -23:59:59 -23:59:59 1
-23:59:59.999000 -23:59:59 -23:59:59 1
-23:59:59.990000 -23:59:59 -23:59:59 1
-23:59:59.900000 -23:59:59 -23:59:59 1
-23:59:59.100000 -23:59:59 -23:59:59 1
-23:59:59.000000 -23:59:59 -23:59:59 1
-00:00:00.999999 00:00:00 00:00:00 1
-00:00:00.999990 00:00:00 00:00:00 1
-00:00:00.999900 00:00:00 00:00:00 1
-00:00:00.999000 00:00:00 00:00:00 1
-00:00:00.990000 00:00:00 00:00:00 1
-00:00:00.900000 00:00:00 00:00:00 1
-00:00:00.100000 00:00:00 00:00:00 1
00:00:00.000000 00:00:00 00:00:00 1
00:00:00.000000 00:00:00 00:00:00 1
00:00:00.100000 00:00:01 00:00:01 1
00:00:00.900000 00:00:01 00:00:01 1
00:00:00.990000 00:00:01 00:00:01 1
00:00:00.999000 00:00:01 00:00:01 1
00:00:00.999900 00:00:01 00:00:01 1
00:00:00.999990 00:00:01 00:00:01 1
00:00:00.999999 00:00:01 00:00:01 1
23:59:59.000000 23:59:59 23:59:59 1
23:59:59.100000 24:00:00 24:00:00 1
23:59:59.900000 24:00:00 24:00:00 1
23:59:59.990000 24:00:00 24:00:00 1
23:59:59.999000 24:00:00 24:00:00 1
23:59:59.999900 24:00:00 24:00:00 1
23:59:59.999990 24:00:00 24:00:00 1
23:59:59.999999 24:00:00 24:00:00 1
837:59:59.000000 837:59:59 837:59:59 1
837:59:59.100000 838:00:00 838:00:00 1
837:59:59.900000 838:00:00 838:00:00 1
837:59:59.990000 838:00:00 838:00:00 1
837:59:59.999000 838:00:00 838:00:00 1
837:59:59.999900 838:00:00 838:00:00 1
837:59:59.999990 838:00:00 838:00:00 1
837:59:59.999999 838:00:00 838:00:00 1
838:59:59.000000 838:59:59 838:59:59 1
838:59:59.100000 838:59:59 838:59:59 1
838:59:59.900000 838:59:59 838:59:59 1
838:59:59.990000 838:59:59 838:59:59 1
838:59:59.999000 838:59:59 838:59:59 1
838:59:59.999900 838:59:59 838:59:59 1
838:59:59.999990 838:59:59 838:59:59 1
838:59:59.999999 838:59:59 838:59:59 1
DROP FUNCTION FLOOR_SP;
DROP FUNCTION CEILING_SP;
DROP TABLE t1;

View file

@ -73,3 +73,126 @@ SELECT a, ROUND(a,-6) FROM t1;
DROP TABLE t1;
SET time_zone=DEFAULT;
--echo #
--echo # MDEV-23311 CEILING() and FLOOR() convert temporal input to numbers, unlike ROUND() and TRUNCATE()
--echo #
CREATE TABLE t1 AS SELECT
FLOOR(TIME'00:00:00.999999'),
CEILING(TIME'00:00:00.999999');
SHOW CREATE TABLE t1;
DROP TABLE t1;
CREATE TABLE t1 (a TIME(6));
INSERT INTO t1 VALUES ('838:59:59.999999');
INSERT INTO t1 VALUES ('838:59:59.99999');
INSERT INTO t1 VALUES ('838:59:59.9999');
INSERT INTO t1 VALUES ('838:59:59.999');
INSERT INTO t1 VALUES ('838:59:59.99');
INSERT INTO t1 VALUES ('838:59:59.9');
INSERT INTO t1 VALUES ('838:59:59.1');
INSERT INTO t1 VALUES ('838:59:59.0');
INSERT INTO t1 VALUES ('837:59:59.999999');
INSERT INTO t1 VALUES ('837:59:59.99999');
INSERT INTO t1 VALUES ('837:59:59.9999');
INSERT INTO t1 VALUES ('837:59:59.999');
INSERT INTO t1 VALUES ('837:59:59.99');
INSERT INTO t1 VALUES ('837:59:59.9');
INSERT INTO t1 VALUES ('837:59:59.1');
INSERT INTO t1 VALUES ('837:59:59.0');
INSERT INTO t1 VALUES ('23:59:59.999999');
INSERT INTO t1 VALUES ('23:59:59.99999');
INSERT INTO t1 VALUES ('23:59:59.9999');
INSERT INTO t1 VALUES ('23:59:59.999');
INSERT INTO t1 VALUES ('23:59:59.99');
INSERT INTO t1 VALUES ('23:59:59.9');
INSERT INTO t1 VALUES ('23:59:59.1');
INSERT INTO t1 VALUES ('23:59:59.0');
INSERT INTO t1 VALUES ('00:00:00.999999');
INSERT INTO t1 VALUES ('00:00:00.99999');
INSERT INTO t1 VALUES ('00:00:00.9999');
INSERT INTO t1 VALUES ('00:00:00.999');
INSERT INTO t1 VALUES ('00:00:00.99');
INSERT INTO t1 VALUES ('00:00:00.9');
INSERT INTO t1 VALUES ('00:00:00.1');
INSERT INTO t1 VALUES ('00:00:00.0');
INSERT INTO t1 VALUES ('-00:00:00.999999');
INSERT INTO t1 VALUES ('-00:00:00.99999');
INSERT INTO t1 VALUES ('-00:00:00.9999');
INSERT INTO t1 VALUES ('-00:00:00.999');
INSERT INTO t1 VALUES ('-00:00:00.99');
INSERT INTO t1 VALUES ('-00:00:00.9');
INSERT INTO t1 VALUES ('-00:00:00.1');
INSERT INTO t1 VALUES ('-00:00:00.0');
INSERT INTO t1 VALUES ('-23:59:59.999999');
INSERT INTO t1 VALUES ('-23:59:59.99999');
INSERT INTO t1 VALUES ('-23:59:59.9999');
INSERT INTO t1 VALUES ('-23:59:59.999');
INSERT INTO t1 VALUES ('-23:59:59.99');
INSERT INTO t1 VALUES ('-23:59:59.9');
INSERT INTO t1 VALUES ('-23:59:59.1');
INSERT INTO t1 VALUES ('-23:59:59.0');
INSERT INTO t1 VALUES ('-837:59:59.999999');
INSERT INTO t1 VALUES ('-837:59:59.99999');
INSERT INTO t1 VALUES ('-837:59:59.9999');
INSERT INTO t1 VALUES ('-837:59:59.999');
INSERT INTO t1 VALUES ('-837:59:59.99');
INSERT INTO t1 VALUES ('-837:59:59.9');
INSERT INTO t1 VALUES ('-837:59:59.1');
INSERT INTO t1 VALUES ('-837:59:59.0');
INSERT INTO t1 VALUES ('-838:59:59.999999');
INSERT INTO t1 VALUES ('-838:59:59.99999');
INSERT INTO t1 VALUES ('-838:59:59.9999');
INSERT INTO t1 VALUES ('-838:59:59.999');
INSERT INTO t1 VALUES ('-838:59:59.99');
INSERT INTO t1 VALUES ('-838:59:59.9');
INSERT INTO t1 VALUES ('-838:59:59.1');
INSERT INTO t1 VALUES ('-838:59:59.0');
DELIMITER $$;
CREATE FUNCTION FLOOR_SP(a TIME(6)) RETURNS TIME
BEGIN
RETURN
CASE
WHEN TRUNCATE(a,0)=TIME'838:59:59' THEN a
WHEN TRUNCATE(a,0)=TIME'-838:59:59' THEN a
WHEN a=TRUNCATE(a,0) THEN a -- no fractional digits
WHEN a<0 THEN TRUNCATE(a,0)-INTERVAL 1 SECOND -- negative values
WHEN a>0 THEN TRUNCATE(a,0) -- positive values
END;
END;
$$
DELIMITER ;$$
DELIMITER $$;
CREATE FUNCTION CEILING_SP(a TIME(6)) RETURNS TIME
BEGIN
RETURN
CASE
WHEN TRUNCATE(a,0)=TIME'838:59:59' THEN a
WHEN TRUNCATE(a,0)=TIME'-838:59:59' THEN a
WHEN a=TRUNCATE(a,0) THEN a -- no fractional digits
WHEN a<0 THEN TRUNCATE(a,0) -- negative values
WHEN a>0 THEN TRUNCATE(a,0)+INTERVAL 1 SECOND -- positive values
END;
END;
$$
DELIMITER ;$$
SELECT a, FLOOR(a), FLOOR_SP(a), FLOOR(a)=FLOOR_SP(a) FROM t1 ORDER BY a;
SELECT a, CEILING(a), CEILING_SP(a), CEILING(a)=CEILING_SP(a) FROM t1 ORDER BY a;
DROP FUNCTION FLOOR_SP;
DROP FUNCTION CEILING_SP;
DROP TABLE t1;

View file

@ -626,5 +626,17 @@ a ROUND(a,-6)
DROP TABLE t1;
SET time_zone=DEFAULT;
#
# MDEV-23311 CEILING() and FLOOR() convert temporal input to numbers, unlike ROUND() and TRUNCATE()
#
CREATE TABLE t1 (a TIMESTAMP NOT NULL);
CREATE TABLE t2 AS SELECT FLOOR(a), CEILING(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`FLOOR(a)` datetime DEFAULT NULL,
`CEILING(a)` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, t2;
#
# End of 10.4 tests
#

View file

@ -107,6 +107,16 @@ DROP TABLE t1;
SET time_zone=DEFAULT;
--echo #
--echo # MDEV-23311 CEILING() and FLOOR() convert temporal input to numbers, unlike ROUND() and TRUNCATE()
--echo #
CREATE TABLE t1 (a TIMESTAMP NOT NULL);
CREATE TABLE t2 AS SELECT FLOOR(a), CEILING(a) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t1, t2;
--echo #
--echo # End of 10.4 tests
--echo #

View file

@ -585,6 +585,33 @@ COALESCE(a) DATE(COALESCE(a))
NULL NULL
DROP TABLE t1;
#
# MDEV-23337 Rounding functions create a wrong data type for numeric input
#
CREATE TABLE t1 (a YEAR(2));
Warnings:
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
CREATE TABLE t2 AS SELECT a, ROUND(a), TRUNCATE(a,0), FLOOR(a), CEILING(a) FROM t1;
Warnings:
Note 1287 'YEAR(2)' is deprecated and will be removed in a future release. Please use YEAR(4) instead
DESC t2;
Field Type Null Key Default Extra
a year(2) YES NULL
ROUND(a) int(2) unsigned YES NULL
TRUNCATE(a,0) int(2) unsigned YES NULL
FLOOR(a) int(2) unsigned YES NULL
CEILING(a) int(2) unsigned YES NULL
DROP TABLE t2,t1;
CREATE TABLE t1 (a YEAR(4));
CREATE TABLE t2 AS SELECT a, ROUND(a), TRUNCATE(a,0), FLOOR(a), CEILING(a) FROM t1;
DESC t2;
Field Type Null Key Default Extra
a year(4) YES NULL
ROUND(a) int(4) unsigned YES NULL
TRUNCATE(a,0) int(4) unsigned YES NULL
FLOOR(a) int(4) unsigned YES NULL
CEILING(a) int(4) unsigned YES NULL
DROP TABLE t2,t1;
#
# End of 10.4 tests
#
#

View file

@ -326,6 +326,21 @@ INSERT INTO t1 VALUES (NULL);
SELECT COALESCE(a), DATE(COALESCE(a)) FROM t1;
DROP TABLE t1;
--echo #
--echo # MDEV-23337 Rounding functions create a wrong data type for numeric input
--echo #
CREATE TABLE t1 (a YEAR(2));
CREATE TABLE t2 AS SELECT a, ROUND(a), TRUNCATE(a,0), FLOOR(a), CEILING(a) FROM t1;
DESC t2;
DROP TABLE t2,t1;
CREATE TABLE t1 (a YEAR(4));
CREATE TABLE t2 AS SELECT a, ROUND(a), TRUNCATE(a,0), FLOOR(a), CEILING(a) FROM t1;
DESC t2;
DROP TABLE t2,t1;
--echo #
--echo # End of 10.4 tests
--echo #

View file

@ -165,7 +165,6 @@ GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
SELECT * FROM information_schema.TABLE_PRIVILEGES WHERE GRANTEE="'mariadb.sys'@'localhost'";
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
'mariadb.sys'@'localhost' def mysql global_priv UPDATE NO
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
# check non root
CREATE USER 'not_root'@'localhost';

View file

@ -23,7 +23,7 @@ flush logs;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET @`a b`:=_latin1 X'68656C6C6F' COLLATE `latin1_swedish_ci`/*!*/;
use `test`/*!*/;
@ -41,7 +41,7 @@ INSERT INTO t1 VALUES(@`a b`)
SET TIMESTAMP=10000/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET @`var1`:=_latin1 X'273B616161' COLLATE `latin1_swedish_ci`/*!*/;
SET @`var2`:=_binary X'61' COLLATE `binary`/*!*/;

View file

@ -1361,7 +1361,6 @@ connection default;
select * from information_schema.table_privileges;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
'mariadb.sys'@'localhost' def mysql global_priv SELECT NO
'mariadb.sys'@'localhost' def mysql global_priv UPDATE NO
'mariadb.sys'@'localhost' def mysql global_priv DELETE NO
End of 5.0 tests.
connection default;

View file

@ -3844,6 +3844,13 @@ ROW_NUMBER() OVER w2
5
DROP TABLE t1;
#
# MDEV-18916: crash in Window_spec::print_partition() with decimals
#
SELECT cast((rank() over w1) as decimal (53,56));
ERROR 42000: Too big scale 56 specified for 'rank() over w1'. Maximum is 38
SELECT cast((rank() over w1) as decimal (53,30));
ERROR HY000: Window specification with name 'w1' is not defined
#
# End of 10.2 tests
#
#

View file

@ -2496,6 +2496,15 @@ SELECT a,b FROM t1 WINDOW w2 AS (PARTITION BY -1,1,0,2,3,4);
SELECT ROW_NUMBER() OVER w2 FROM t1 WINDOW w2 AS (PARTITION BY -1,0,1,2,3,4,5,6);
DROP TABLE t1;
--echo #
--echo # MDEV-18916: crash in Window_spec::print_partition() with decimals
--echo #
--error ER_TOO_BIG_SCALE
SELECT cast((rank() over w1) as decimal (53,56));
--error ER_WRONG_WINDOW_SPEC_NAME
SELECT cast((rank() over w1) as decimal (53,30));
--echo #
--echo # End of 10.2 tests
--echo #

View file

@ -433,3 +433,81 @@ ntile((select a from t1)) over (partition by b order by pk)
from t1;
ERROR 21000: Subquery returns more than 1 row
drop table t1;
#
# MDEV-9911 NTILE must return an error when parameter is not stable
#
create table t1 (
pk int primary key,
c1 nvarchar(10),
c2 nvarchar(10),
c3 int
);
insert into t1 values
(1, 'Mark', 'Male', 5),
(2, 'John', 'Male', 5),
(3, 'Pam', 'Female', 6),
(4, 'Sara', 'Female', 6),
(5, 'Todd', 'Male', 5),
(6, 'Mary', 'Female', 6),
(7, 'Ben', 'Male', 5),
(8, 'Jodi', 'Female', 6),
(9, 'Tom', 'Male', 5),
(10, 'Lucky', 'Male', 5),
(11, 'Mark', 'Male', 5),
(12, 'John', 'Male', 5),
(13, 'Pam', 'Female', 6),
(14, 'Sara', 'Female', 6),
(15, 'Todd', 'Male', 5),
(16, 'Mary', 'Female', 6),
(17, 'Ben', 'Male', 5),
(18, 'Jodi', 'Female', 6),
(19, 'Tom', 'Male', 5),
(20, 'Lucky', 'Male', 5);
select c1, c2, c3, ntile(6) over (partition by c2 order by pk) from t1;
c1 c2 c3 ntile(6) over (partition by c2 order by pk)
Pam Female 6 1
Sara Female 6 1
Mary Female 6 2
Jodi Female 6 2
Pam Female 6 3
Sara Female 6 4
Mary Female 6 5
Jodi Female 6 6
Mark Male 5 1
John Male 5 1
Todd Male 5 2
Ben Male 5 2
Tom Male 5 3
Lucky Male 5 3
Mark Male 5 4
John Male 5 4
Todd Male 5 5
Ben Male 5 5
Tom Male 5 6
Lucky Male 5 6
select c1, c2, c3, ntile(c3) over (partition by c2 order by pk) from t1;
c1 c2 c3 ntile(c3) over (partition by c2 order by pk)
Pam Female 6 1
Sara Female 6 1
Mary Female 6 2
Jodi Female 6 2
Pam Female 6 3
Sara Female 6 4
Mary Female 6 5
Jodi Female 6 6
Mark Male 5 1
John Male 5 1
Todd Male 5 1
Ben Male 5 2
Tom Male 5 2
Lucky Male 5 2
Mark Male 5 3
John Male 5 3
Todd Male 5 4
Ben Male 5 4
Tom Male 5 5
Lucky Male 5 5
update t1 set c3= 1 where pk = 1;
select c1, c2, c3, ntile(c3) over (partition by c2 order by pk) from t1;
ERROR HY000: Argument of NTILE must be greater than 0
drop table t1;

View file

@ -168,4 +168,47 @@ select pk, a, b,
from t1;
drop table t1;
--echo #
--echo # MDEV-9911 NTILE must return an error when parameter is not stable
--echo #
create table t1 (
pk int primary key,
c1 nvarchar(10),
c2 nvarchar(10),
c3 int
);
insert into t1 values
(1, 'Mark', 'Male', 5),
(2, 'John', 'Male', 5),
(3, 'Pam', 'Female', 6),
(4, 'Sara', 'Female', 6),
(5, 'Todd', 'Male', 5),
(6, 'Mary', 'Female', 6),
(7, 'Ben', 'Male', 5),
(8, 'Jodi', 'Female', 6),
(9, 'Tom', 'Male', 5),
(10, 'Lucky', 'Male', 5),
(11, 'Mark', 'Male', 5),
(12, 'John', 'Male', 5),
(13, 'Pam', 'Female', 6),
(14, 'Sara', 'Female', 6),
(15, 'Todd', 'Male', 5),
(16, 'Mary', 'Female', 6),
(17, 'Ben', 'Male', 5),
(18, 'Jodi', 'Female', 6),
(19, 'Tom', 'Male', 5),
(20, 'Lucky', 'Male', 5);
# Correct usage of NTILE with a fix argument NTILE(6).
select c1, c2, c3, ntile(6) over (partition by c2 order by pk) from t1;
# Correct usage - constant NTILE (argument) in each partition.
select c1, c2, c3, ntile(c3) over (partition by c2 order by pk) from t1;
update t1 set c3= 1 where pk = 1;
--error ER_INVALID_NTILE_ARGUMENT
select c1, c2, c3, ntile(c3) over (partition by c2 order by pk) from t1;
drop table t1;

View file

@ -56,7 +56,7 @@ configuration_change()
status_update()
{
echo "SET wsrep_on=0; BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; COMMIT;"
echo "$BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; $END;"
}
COM=status_update # not a configuration change by default
@ -89,11 +89,11 @@ do
shift
done
# Undefined means node is shutting down
if [ "$STATUS" != "Undefined" ]
then
$COM | mysql -B -u$USER -h$HOST -P$PORT
fi
exit 0
#
case $STATUS in
"joined" | "donor" | "synced")
$COM | mysql -B -u$USER -h$HOST -P$PORT
;;
*)
exit 0
;;
esac

View file

@ -34,7 +34,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -43,7 +43,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -52,7 +52,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -61,7 +61,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -70,7 +70,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -91,7 +91,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
use `test`/*!*/;
@ -109,7 +109,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -118,7 +118,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -127,7 +127,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -136,7 +136,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -157,7 +157,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -175,7 +175,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -184,7 +184,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -217,7 +217,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -226,7 +226,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -247,7 +247,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -274,7 +274,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -292,7 +292,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -301,7 +301,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -334,7 +334,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -343,7 +343,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -377,7 +377,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -386,7 +386,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -395,7 +395,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -404,7 +404,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -413,7 +413,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -424,7 +424,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -454,7 +454,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
use `test`/*!*/;
@ -472,7 +472,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -481,7 +481,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -490,7 +490,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -499,7 +499,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -510,7 +510,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -540,7 +540,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -558,7 +558,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -567,7 +567,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -578,7 +578,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -620,7 +620,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -629,7 +629,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -638,7 +638,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -647,7 +647,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -656,7 +656,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -667,7 +667,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
DELIMITER ;
# End of log file
@ -681,7 +681,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -699,7 +699,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -708,7 +708,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -719,7 +719,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -761,7 +761,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -770,7 +770,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -803,7 +803,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -812,7 +812,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -821,7 +821,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -830,7 +830,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -839,7 +839,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -860,7 +860,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
use `test`/*!*/;
@ -878,7 +878,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -887,7 +887,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -896,7 +896,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -905,7 +905,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -925,7 +925,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -943,7 +943,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -952,7 +952,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -985,7 +985,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -994,7 +994,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1014,7 +1014,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -1041,7 +1041,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -1059,7 +1059,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1068,7 +1068,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1101,7 +1101,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1110,7 +1110,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1143,7 +1143,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1152,7 +1152,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1161,7 +1161,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -1170,7 +1170,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1179,7 +1179,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1190,7 +1190,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -1220,7 +1220,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
use `test`/*!*/;
@ -1238,7 +1238,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1247,7 +1247,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -1256,7 +1256,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1265,7 +1265,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1276,7 +1276,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -1305,7 +1305,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -1323,7 +1323,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1332,7 +1332,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1343,7 +1343,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -1385,7 +1385,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1394,7 +1394,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1403,7 +1403,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -1412,7 +1412,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1421,7 +1421,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1444,7 +1444,7 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
@ -1462,7 +1462,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1471,7 +1471,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1482,7 +1482,7 @@ COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
@ -1524,7 +1524,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1533,7 +1533,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1566,7 +1566,7 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=1/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1575,7 +1575,7 @@ insert into t1 values(null, "a")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=2/*!*/;
SET TIMESTAMP=1773142/*!*/;
@ -1584,7 +1584,7 @@ insert into t1 values(null, "b")
SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=3/*!*/;
SET TIMESTAMP=1773144/*!*/;
@ -1593,7 +1593,7 @@ insert into t1 values(null, "c")
SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=4/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1602,7 +1602,7 @@ insert into t1 values(null, "d")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=5/*!*/;
SET TIMESTAMP=1773146/*!*/;
@ -1611,7 +1611,7 @@ insert into t1 values(null, "e")
SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET INSERT_ID=6/*!*/;
SET TIMESTAMP=1773143/*!*/;

File diff suppressed because it is too large Load diff

View file

@ -2368,7 +2368,7 @@ crn INT -- row number
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2 trans
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -2550,7 +2550,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3 trans
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -2732,7 +2732,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4 trans
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -3080,7 +3080,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-5 trans
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -3420,7 +3420,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-6 trans
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -3765,7 +3765,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-7 trans
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4108,7 +4108,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-8 trans
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4454,7 +4454,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-9 trans
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4634,7 +4634,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-10 trans
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4811,7 +4811,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-11 trans
/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4991,7 +4991,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-12 trans
/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5293,7 +5293,7 @@ crn INT -- row number
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2 trans
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5363,7 +5363,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3 trans
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5442,7 +5442,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4 trans
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5717,7 +5717,7 @@ c_3_n INT -- row number
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4 trans
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5787,7 +5787,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-5 trans
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5857,7 +5857,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-6 trans
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5927,7 +5927,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-7 trans
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -6117,7 +6117,7 @@ COMMIT/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-8 trans
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -6331,7 +6331,7 @@ c3 VARCHAR(60)
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2 trans
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #

View file

@ -2368,7 +2368,7 @@ crn INT -- row number
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -2553,7 +2553,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -2737,7 +2737,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -3087,7 +3087,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -3429,7 +3429,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -3776,7 +3776,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4121,7 +4121,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4469,7 +4469,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4651,7 +4651,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -4830,7 +4830,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-11
/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5012,7 +5012,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-12
/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5316,7 +5316,7 @@ crn INT -- row number
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5388,7 +5388,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5469,7 +5469,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5746,7 +5746,7 @@ c_3_n INT -- row number
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5818,7 +5818,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5890,7 +5890,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -5962,7 +5962,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -6154,7 +6154,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -6370,7 +6370,7 @@ c3 VARCHAR(60)
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #

View file

@ -172,7 +172,7 @@ c2 VARCHAR(20)
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3 trans
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -257,7 +257,7 @@ TRUNCATE TABLE t1
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -287,7 +287,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -326,7 +326,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -348,7 +348,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-9 trans
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -433,7 +433,7 @@ TRUNCATE TABLE t2
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-12
/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -463,7 +463,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-13
/*!100001 SET @@session.gtid_seq_no=13*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -502,7 +502,7 @@ COMMIT
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-14
/*!100001 SET @@session.gtid_seq_no=14*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #

View file

@ -38,13 +38,13 @@ disconnect tmp_con;
connection default;
FLUSH LOGS;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (1,0)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (2,0)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
@ -52,13 +52,13 @@ COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
/* GTID */ ALTER TABLE t1 ADD c INT
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (3,0,0)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ UPDATE t1 SET b=1, c=1 WHERE a=2
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Update_rows: table id # flags: STMT_END_F
@ -70,7 +70,7 @@ BEGIN
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ DELETE FROM t1 WHERE a=5
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Delete_rows: table id # flags: STMT_END_F
@ -82,25 +82,25 @@ BEGIN
# server id 1 end_log_pos # CRC32 0x######## Update_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (8, 5, 0)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (9, 5, 1)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (10, 6, 0)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
#Q> /* GTID */ INSERT INTO t1 VALUES (11, 7, 0)
# server id 1 end_log_pos # CRC32 0x######## Table_map: `test`.`t1` mapped to number #
# server id 1 end_log_pos # CRC32 0x######## Write_rows: table id # flags: STMT_END_F

View file

@ -38,21 +38,21 @@ disconnect tmp_con;
connection default;
FLUSH LOGS;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
/* GTID */ INSERT INTO t1 VALUES (1,0)
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
/* GTID */ INSERT INTO t1 VALUES (2,0)
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
/* GTID */ ALTER TABLE t1 ADD c INT
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
/* GTID */ INSERT INTO t1 VALUES (3,0,0)
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
BEGIN
START TRANSACTION
/* GTID */ UPDATE t1 SET b=1, c=1 WHERE a=2
/* GTID */ CREATE TEMPORARY TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB
/* GTID */ INSERT INTO t2 VALUES (4,10), (5,20)
@ -63,7 +63,7 @@ COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
/* GTID */ CREATE TEMPORARY TABLE t3 (a INT PRIMARY KEY) ENGINE=InnoDB
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
BEGIN
START TRANSACTION
/* GTID */ DELETE FROM t1 WHERE a=5
/* GTID */ INSERT INTO t3 VALUES (7)
/* GTID */ INSERT INTO t1 SELECT a, 4, 0 FROM t3
@ -73,21 +73,21 @@ COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
/* GTID */ CREATE TEMPORARY TABLE t4 (a INT PRIMARY KEY) ENGINE=InnoDB
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
/* GTID */ INSERT INTO t1 VALUES (8, 5, 0)
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
/* GTID */ ALTER TABLE t4 ADD b INT
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
/* GTID */ INSERT INTO t1 VALUES (9, 5, 1)
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# trans
BEGIN
START TRANSACTION
/* GTID */ INSERT INTO t1 VALUES (10, 6, 0)
COMMIT/*!*/;
# server id 1 end_log_pos # CRC32 0x######## GTID #-#-# ddl
BEGIN
START TRANSACTION
/* GTID */ CREATE TEMPORARY TABLE t5 (a INT PRIMARY KEY) ENGINE=InnoDB
/* GTID */ INSERT INTO t1 VALUES (11, 7, 0)
COMMIT/*!*/;

View file

@ -144,7 +144,7 @@ CREATE DATABASE test3
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -171,7 +171,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -198,7 +198,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -225,7 +225,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -267,7 +267,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -294,7 +294,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -374,7 +374,7 @@ CREATE DATABASE test1
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -401,7 +401,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -414,7 +414,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -427,7 +427,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -458,7 +458,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -471,7 +471,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -542,7 +542,7 @@ CREATE DATABASE test3
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -567,7 +567,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -592,7 +592,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -617,7 +617,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -655,7 +655,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -680,7 +680,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -768,7 +768,7 @@ CREATE DATABASE test3
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -795,7 +795,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -822,7 +822,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -849,7 +849,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -891,7 +891,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -918,7 +918,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -998,7 +998,7 @@ CREATE DATABASE test1
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -1025,7 +1025,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -1038,7 +1038,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -1051,7 +1051,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -1082,7 +1082,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -1095,7 +1095,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -1166,7 +1166,7 @@ CREATE DATABASE test3
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
@ -1190,7 +1190,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@ -1214,7 +1214,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number #
@ -1238,7 +1238,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
@ -1275,7 +1275,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@ -1299,7 +1299,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #

View file

@ -16,7 +16,7 @@ flush logs;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
# Annotate_rows:
#Q> insert into t2 values (@v)
@ -104,7 +104,7 @@ CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8)
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -125,7 +125,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -146,7 +146,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -167,7 +167,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -188,7 +188,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -209,7 +209,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #

View file

@ -62,7 +62,7 @@ CREATE TABLE t1 (a INT, b INT)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -97,7 +97,7 @@ CREATE TABLE t2 (a INT)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -121,7 +121,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -152,7 +152,7 @@ CREATE TABLE t3 (a INT)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -176,7 +176,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -198,7 +198,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -237,7 +237,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -303,7 +303,7 @@ CREATE TABLE t1 (a INT, b INT)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -338,7 +338,7 @@ CREATE TABLE t2 (a INT)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -362,7 +362,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -393,7 +393,7 @@ CREATE TABLE t3 (a INT)
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -417,7 +417,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -439,7 +439,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -478,7 +478,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #

View file

@ -15,7 +15,7 @@ flush logs;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
BEGIN
START TRANSACTION
/*!*/;
SET @`v`:=_ucs2 X'006100620063' COLLATE `ucs2_general_ci`/*!*/;
use `test`/*!*/;
@ -106,7 +106,7 @@ CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8)
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
@ -121,7 +121,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
@ -136,7 +136,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
@ -151,7 +151,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
@ -166,7 +166,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
@ -181,7 +181,7 @@ COMMIT
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-#
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0

View file

@ -81,7 +81,7 @@ c08 TEXT
# at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2 trans
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -107,7 +107,7 @@ COMMIT/*!*/;
# at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3 trans
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -133,7 +133,7 @@ COMMIT/*!*/;
# at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4 trans
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -159,7 +159,7 @@ COMMIT/*!*/;
# at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-5 trans
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -213,7 +213,7 @@ COMMIT/*!*/;
# at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-6 trans
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -296,7 +296,7 @@ ROLLBACK/*!*/;
# Number of rows: 3
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Rotate to master-bin.000002 pos: 4
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
BEGIN/*!*/;
START TRANSACTION/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
@ -331,7 +331,7 @@ BEGIN/*!*/;
COMMIT
/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
BEGIN/*!*/;
START TRANSACTION/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
### UPDATE `test`.`t1`
### WHERE
@ -374,7 +374,7 @@ BEGIN/*!*/;
COMMIT
/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
BEGIN/*!*/;
START TRANSACTION/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@ -389,7 +389,7 @@ BEGIN/*!*/;
COMMIT
/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
BEGIN/*!*/;
START TRANSACTION/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
@ -404,7 +404,7 @@ BEGIN/*!*/;
COMMIT
/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
BEGIN/*!*/;
START TRANSACTION/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE

View file

@ -148,7 +148,7 @@ CREATE DATABASE test3
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -175,7 +175,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -202,7 +202,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -229,7 +229,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -271,7 +271,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -298,7 +298,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -381,7 +381,7 @@ CREATE DATABASE test1
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -408,7 +408,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -421,7 +421,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -434,7 +434,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -465,7 +465,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -478,7 +478,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
# at #
@ -552,7 +552,7 @@ CREATE DATABASE test3
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
@ -576,7 +576,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@ -600,7 +600,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number #
@ -624,7 +624,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
@ -661,7 +661,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
@ -685,7 +685,7 @@ COMMIT
# at #
#010909 4:46:40 server id # end_log_pos # GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN
START TRANSACTION
/*!*/;
# at #
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #

View file

@ -0,0 +1,100 @@
SET @@SQL_MODE = 'ORACLE';
##########################################################################
# Test verifies Gtid_log_event/Xid_log_event specific print #
##########################################################################
CREATE TABLE tm (f INT) ENGINE=MYISAM;
INSERT INTO tm VALUES (10);
CREATE TABLE t(f INT) ENGINE=INNODB;
INSERT INTO t VALUES (10);
CREATE OR REPLACE PROCEDURE simpleproc (param1 OUT INT) AS
BEGIN
SELECT COUNT(*) INTO param1 FROM t;
END;
/
CREATE FUNCTION f1 RETURN INT
AS
BEGIN
RETURN 10;
END;
/
FLUSH LOGS;
##########################################################################
# Delete data from master so that it can be restored from binlog #
##########################################################################
DROP FUNCTION f1;
DROP PROCEDURE simpleproc;
DROP TABLE tm;
DROP TABLE t;
##########################################################################
# Post recovery using mysqlbinlog #
##########################################################################
SHOW TABLES;
Tables_in_test
t
tm
SELECT * FROM tm;
f
10
SELECT * FROM t;
f
10
SELECT f1();
f1()
10
CALL simpleproc(@a);
SELECT @a;
@a
1
"***** Clean Up *****"
DROP TABLE t,tm;
DROP PROCEDURE simpleproc;
DROP FUNCTION f1;
RESET MASTER;
##########################################################################
# Test verifies Gtid_log_event/Xid_log_event/Qery_log_event #
# specific print along with flashback option #
##########################################################################
CREATE TABLE tm(f INT) ENGINE=MYISAM;
INSERT INTO tm VALUES (10);
INSERT INTO tm VALUES (20);
CREATE TABLE t(f INT) ENGINE=INNODB;
INSERT INTO t VALUES (10);
INSERT INTO t VALUES (20);
##########################################################################
# Initial data #
##########################################################################
SELECT * FROM tm;
f
10
20
SELECT * FROM t;
f
10
20
FLUSH LOGS;
DELETE FROM tm WHERE f=20;
DELETE FROM t WHERE f=20;
FLUSH LOGS;
##########################################################################
# Data after deletion #
##########################################################################
SELECT * FROM tm;
f
10
SELECT * FROM t;
f
10
FOUND 2 /START TRANSACTION/ in test.sql
##########################################################################
# Data after recovery using flashback #
##########################################################################
SELECT * FROM tm;
f
10
20
SELECT * FROM t;
f
10
20
"***** Clean Up *****"
DROP TABLE t,tm;

View file

@ -1045,7 +1045,7 @@ NULL;
END LOOP;
END;
$$
ERROR 42000: Undefined CURSOR: c2
ERROR 42000: Undeclared variable: c2
# Make sure "rec" shadows other declarations outside the loop
CREATE TABLE t1 (a INT, b VARCHAR(10));
INSERT INTO t1 VALUES (10, 'b0');

View file

@ -1019,7 +1019,7 @@ LOOP
EXIT WHEN unknown_ident IS NULL;
END LOOP;
END$$
ERROR 42S22: Unknown column 'unknown_ident' in 'field list'
ERROR 42000: Undeclared variable: unknown_ident
CREATE PROCEDURE p1
AS
BEGIN
@ -1028,7 +1028,7 @@ LOOP
EXIT label WHEN unknown_ident IS NULL;
END LOOP;
END$$
ERROR 42S22: Unknown column 'unknown_ident' in 'field list'
ERROR 42000: Undeclared variable: unknown_ident
CREATE PROCEDURE p1
AS
BEGIN
@ -1036,7 +1036,7 @@ LOOP
CONTINUE WHEN unknown_ident IS NULL;
END LOOP;
END$$
ERROR 42S22: Unknown column 'unknown_ident' in 'field list'
ERROR 42000: Undeclared variable: unknown_ident
CREATE PROCEDURE p1
AS
BEGIN
@ -1045,7 +1045,7 @@ LOOP
CONTINUE label WHEN unknown_ident IS NULL;
END LOOP;
END$$
ERROR 42S22: Unknown column 'unknown_ident' in 'field list'
ERROR 42000: Undeclared variable: unknown_ident
#
# MDEV-10583 sql_mode=ORACLE: SQL%ROWCOUNT
#

View file

@ -0,0 +1 @@
--flashback

View file

@ -0,0 +1,117 @@
# ==== Purpose ====
#
# Test verifies that point in time recovery of binary log works when
# sql_mode='ORACLE'.
#
# BEGIN statement is printed in three places
# 1) "Gtid_log_event::print"
# 2) "Xid_log_event::print" if flashback is enabled
# 3) "Query_log_event::print" if flashback is enabled and engine is
# non-transacional.
#
# Test verifies all these cases.
#
# ==== References ====
#
# MDEV-23108: Point in time recovery of binary log fails when sql_mode=ORACLE
#
--source include/have_log_bin.inc
--source include/have_innodb.inc
let $MYSQLD_DATADIR= `select @@datadir`;
SET @@SQL_MODE = 'ORACLE';
--echo ##########################################################################
--echo # Test verifies Gtid_log_event/Xid_log_event specific print #
--echo ##########################################################################
CREATE TABLE tm (f INT) ENGINE=MYISAM;
INSERT INTO tm VALUES (10);
CREATE TABLE t(f INT) ENGINE=INNODB;
INSERT INTO t VALUES (10);
DELIMITER /;
CREATE OR REPLACE PROCEDURE simpleproc (param1 OUT INT) AS
BEGIN
SELECT COUNT(*) INTO param1 FROM t;
END;
/
CREATE FUNCTION f1 RETURN INT
AS
BEGIN
RETURN 10;
END;
/
DELIMITER ;/
FLUSH LOGS;
--echo ##########################################################################
--echo # Delete data from master so that it can be restored from binlog #
--echo ##########################################################################
DROP FUNCTION f1;
DROP PROCEDURE simpleproc;
DROP TABLE tm;
DROP TABLE t;
--exec $MYSQL_BINLOG $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/test.sql
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/test.sql
--echo ##########################################################################
--echo # Post recovery using mysqlbinlog #
--echo ##########################################################################
SHOW TABLES;
SELECT * FROM tm;
SELECT * FROM t;
--horizontal_results
SELECT f1();
CALL simpleproc(@a);
SELECT @a;
--echo "***** Clean Up *****"
DROP TABLE t,tm;
DROP PROCEDURE simpleproc;
DROP FUNCTION f1;
--remove_file $MYSQLTEST_VARDIR/tmp/test.sql
RESET MASTER;
--echo ##########################################################################
--echo # Test verifies Gtid_log_event/Xid_log_event/Qery_log_event #
--echo # specific print along with flashback option #
--echo ##########################################################################
CREATE TABLE tm(f INT) ENGINE=MYISAM;
INSERT INTO tm VALUES (10);
INSERT INTO tm VALUES (20);
CREATE TABLE t(f INT) ENGINE=INNODB;
INSERT INTO t VALUES (10);
INSERT INTO t VALUES (20);
--echo ##########################################################################
--echo # Initial data #
--echo ##########################################################################
SELECT * FROM tm;
SELECT * FROM t;
FLUSH LOGS;
DELETE FROM tm WHERE f=20;
DELETE FROM t WHERE f=20;
FLUSH LOGS;
--echo ##########################################################################
--echo # Data after deletion #
--echo ##########################################################################
SELECT * FROM tm;
SELECT * FROM t;
--exec $MYSQL_BINLOG --flashback $MYSQLD_DATADIR/master-bin.000002 > $MYSQLTEST_VARDIR/tmp/test.sql
--let SEARCH_FILE=$MYSQLTEST_VARDIR/tmp/test.sql
--let SEARCH_PATTERN=START TRANSACTION
--source include/search_pattern_in_file.inc
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/test.sql
--echo ##########################################################################
--echo # Data after recovery using flashback #
--echo ##########################################################################
SELECT * FROM tm;
SELECT * FROM t;
--echo "***** Clean Up *****"
DROP TABLE t,tm;
--remove_file $MYSQLTEST_VARDIR/tmp/test.sql

View file

@ -1128,7 +1128,7 @@ DELIMITER ;$$
--echo # IN followed by an unknown cursor name
DELIMITER $$;
--error ER_SP_CURSOR_MISMATCH
--error ER_SP_UNDECLARED_VAR
CREATE PROCEDURE p1 AS
CURSOR c1 IS SELECT 'test' AS a FROM DUAL;
BEGIN

View file

@ -1094,7 +1094,7 @@ DROP FUNCTION f1;
--echo #
DELIMITER $$;
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
CREATE PROCEDURE p1
AS
BEGIN
@ -1106,7 +1106,7 @@ DELIMITER ;$$
DELIMITER $$;
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
CREATE PROCEDURE p1
AS
BEGIN
@ -1119,7 +1119,7 @@ DELIMITER ;$$
DELIMITER $$;
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
CREATE PROCEDURE p1
AS
BEGIN
@ -1131,7 +1131,7 @@ DELIMITER ;$$
DELIMITER $$;
--error ER_BAD_FIELD_ERROR
--error ER_SP_UNDECLARED_VAR
CREATE PROCEDURE p1
AS
BEGIN

View file

@ -9,6 +9,9 @@ INSERT INTO t2 (f1,f2,f3) SELECT '', '', '' FROM seq_1_to_8192;
SELECT COUNT(*) FROM t1;
COUNT(*)
8192
SELECT COUNT(*) FROM t2;
COUNT(*)
8192
SELECT variable_value > @old_encrypted FROM information_schema.global_status
WHERE variable_name = 'innodb_encryption_n_temp_blocks_encrypted';
variable_value > @old_encrypted

View file

@ -15,6 +15,8 @@ CREATE TEMPORARY TABLE t2(f1 CHAR(100), f2 CHAR(200), f3 CHAR(200))ENGINE=InnoDB
INSERT INTO t2 (f1,f2,f3) SELECT '', '', '' FROM seq_1_to_8192;
SELECT COUNT(*) FROM t1;
SELECT COUNT(*) FROM t2;
SELECT variable_value > @old_encrypted FROM information_schema.global_status
WHERE variable_name = 'innodb_encryption_n_temp_blocks_encrypted';

View file

@ -56,7 +56,6 @@ SELECT table_catalog, table_schema, table_name, privilege_type
FROM information_schema.table_privileges WHERE table_catalog IS NOT NULL;
table_catalog table_schema table_name privilege_type
def mysql global_priv SELECT
def mysql global_priv UPDATE
def mysql global_priv DELETE
######################################################################
# Testcase 3.2.11.2+3.2.11.3+3.2.11.4:

View file

@ -18,13 +18,11 @@ MW-286 : MDEV-18464 Killing thread can cause mutex deadlock if done concurrently
MW-329 : MDEV-19962 Galera test failure on MW-329
galera.galera_defaults : MDEV-21494 Galera test sporadic failure on galera.galera_defaults
galera_as_slave_replication_bundle : MDEV-15785 OPTION_GTID_BEGIN is set in Gtid_log_event::do_apply_event()
galera_autoinc_sst_mariabackup : Known issue, may require porting MDEV-17458 from later versions
galera_bf_abort_group_commit : MDEV-18282 Galera test failure on galera.galera_bf_abort_group_commit
galera_binlog_stmt_autoinc : MDEV-19959 Galera test failure on galera_binlog_stmt_autoinc
galera_encrypt_tmp_files : Get error failed to enable encryption of temporary files
galera_ftwrl : MDEV-21525 galera.galera_ftwrl
galera_gcache_recover_manytrx : MDEV-18834 Galera test failure
galera_ist_progress : MDEV-15236 fails when trying to read transfer status
galera_kill_largechanges : MDEV-18179 Galera test failure on galera.galera_kill_largechanges
galera_kill_nochanges : MDEV-18280 Galera test failure on galera_split_brain and galera_kill_nochanges
galera_load_data : MDEV-19968 galera.galera_load_data
@ -43,7 +41,6 @@ galera_var_notify_cmd : MDEV-21905 Galera test galera_var_notify_cmd causes hang
galera_var_reject_queries : assertion in inline_mysql_socket_send
galera_var_retry_autocommit: MDEV-18181 Galera test failure on galera.galera_var_retry_autocommit
galera_wan : MDEV-17259 Test failure on galera.galera_wan
mysql-wsrep#198 : MDEV-18935 Galera test mysql-wsrep#198 sporaric assertion transaction.cpp:362: int wsrep::transaction::before_commit(): Assertion `state() == s_executing || state() == s_committing || state() == s_must_abort || state() == s_replaying' failed.
lp1376747-4 : MDEV-21911 Galera test failure on lp1376747-4
partition : MDEV-19958 Galera test failure on galera.partition
query_cache: MDEV-15805 Test failure on galera.query_cache

View file

@ -102,12 +102,18 @@ INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COMMIT;
SET AUTOCOMMIT=ON;
--connection node_1
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
DROP TABLE t1;

View file

@ -100,12 +100,18 @@ INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COMMIT;
SET AUTOCOMMIT=ON;
--connection node_1
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
DROP TABLE t1;

View file

@ -96,12 +96,18 @@ INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COMMIT;
SET AUTOCOMMIT=ON;
--connection node_1
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
DROP TABLE t1;

View file

@ -110,6 +110,9 @@ INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 (f1) VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
@ -117,6 +120,8 @@ COMMIT;
SET AUTOCOMMIT=ON;
--connection node_1
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1';
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;

View file

@ -97,12 +97,18 @@ INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
INSERT INTO t1 VALUES ('node1_to_be_rollbacked_after');
ROLLBACK;
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
COMMIT;
SET AUTOCOMMIT=ON;
--connection node_1
--let $wait_condition = SELECT COUNT(*)=35 FROM t1
--source include/wait_condition.inc
SELECT COUNT(*) = 35 FROM t1;
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1;
DROP TABLE t1;

View file

@ -0,0 +1,10 @@
connection node_2;
connection node_1;
CREATE TABLE t1 (a INT);
connect con1,localhost,root,,test;
INSERT INTO t1 VALUES (1),(2),(3),(4);
SHOW EXPLAIN FOR $con1;
ERROR HY000: Target is not running an EXPLAINable command
connection con1;
INSERT INTO t1 VALUES (5),(6),(7),(8);
DROP TABLE t1;

View file

@ -14,7 +14,10 @@ END|
connect node_1X, 127.0.0.1, root, , test, $NODE_MYPORT_1;
connection node_1X;
CALL proc_update();;
connection node_1;
call mtr.add_suppression("WSREP: Wait for gtid returned error 3 while waiting for prior transactions to commit before setting position");
connection node_2;
call mtr.add_suppression("WSREP: Wait for gtid returned error 3 while waiting for prior transactions to commit before setting position");
SET SESSION wsrep_retry_autocommit = 0;
connection node_1;
connection node_1X;

View file

@ -1,27 +1,30 @@
connection node_2;
connection node_1;
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
connection node_1a;
SET SESSION wsrep_sync_wait = 0;
connection node_1;
CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
CREATE TABLE t1 (f1 INTEGER, f2 varchar(1024)) Engine=InnoDB;
CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
SET GLOBAL innodb_disallow_writes=ON;
INSERT INTO t1 VALUES (1);;
INSERT INTO t1 (f2) SELECT 'abcde ' FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;;
connection node_2;
INSERT INTO t1 (f2) SELECT 'fghij ' FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
SELECT COUNT(*) AS EXPECT_10000 FROM t1;
EXPECT_10000
10000
connection node_1a;
SELECT COUNT(*) AS EXPECT_0 FROM t1;
EXPECT_0
0
SELECT COUNT(*) AS EXPECT_0 FROM t1;
EXPECT_0
0
SET GLOBAL innodb_disallow_writes=OFF;
connection node_1;
SELECT COUNT(*) AS EXPECT_1 FROM t1;
EXPECT_1
1
SELECT COUNT(*) AS EXPECT_20000 FROM t1;
EXPECT_20000
20000
connection node_2;
SELECT COUNT(*) AS EXPECT_20000 FROM t1;
EXPECT_20000
20000
connection node_1;
connection node_2;
SELECT COUNT(*) AS EXPECT_1 FROM t1;
EXPECT_1
1
DROP TABLE t1;
DROP TABLE ten;
disconnect node_1a;

View file

@ -1,3 +1,5 @@
connection node_2;
connection node_1;
connection node_1;
SELECT COUNT(DISTINCT uuid) AS EXPECT_2 FROM mtr_wsrep_notify.membership;
EXPECT_2

View file

@ -0,0 +1,16 @@
connection node_2;
connection node_1;
CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB;
connection node_1;
START TRANSACTION;
INSERT INTO t1 VALUES (1);
SET DEBUG_SYNC = "wsrep_before_before_command SIGNAL reached WAIT_FOR continue";
COMMIT;
connection node_1_ctrl;
SET DEBUG_SYNC = "now WAIT_FOR reached";
connection node_2;
INSERT INTO t1 VALUES (1);
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
DROP TABLE t1;
SET DEBUG_SYNC = "RESET";

View file

@ -64,6 +64,7 @@ push @::global_suppressions,
qr(WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to .*),
qr|WSREP: Sending JOIN failed: -107 \(Transport endpoint is not connected\). Will retry in new primary component.|,
qr|WSREP: Trying to continue unpaused monitor|,
qr|WSREP: Wait for gtid returned error 3 while waiting for prior transactions to commit before setting position|,
);
sub skip_combinations {

View file

@ -0,0 +1,21 @@
# MDEV-22458
#
# When running SHOW command, thread lock `LOCK_thd_data` should not be taken.
# Lock will be taken only when we are killing thread
#
--source include/galera_cluster.inc
CREATE TABLE t1 (a INT);
--connect (con1,localhost,root,,test)
--let $con1 = `SELECT CONNECTION_ID()`
INSERT INTO t1 VALUES (1),(2),(3),(4);
--error ER_TARGET_NOT_EXPLAINABLE
EVALP SHOW EXPLAIN FOR $con1;
--connection con1
INSERT INTO t1 VALUES (5),(6),(7),(8);
DROP TABLE t1;

View file

@ -16,7 +16,11 @@
--source include/force_restart.inc
--source suite/galera/t/MW-328-header.inc
--connection node_1
call mtr.add_suppression("WSREP: Wait for gtid returned error 3 while waiting for prior transactions to commit before setting position");
--connection node_2
call mtr.add_suppression("WSREP: Wait for gtid returned error 3 while waiting for prior transactions to commit before setting position");
--let $count = 100
--let $successes = 0
--let $deadlocks = 0

View file

@ -11,40 +11,62 @@
#
--source include/galera_cluster.inc
--source include/have_innodb.inc
--source include/have_log_bin.inc
--let $datadir= `SELECT @@datadir`
# Open a separate connection to be used to run SHOW PROCESSLIST
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
--let $galera_connection_name = node_1a
--let $galera_server_number = 1
--source include/galera_connect.inc
--connection node_1a
SET SESSION wsrep_sync_wait = 0;
--connection node_1
CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
CREATE TABLE t1 (f1 INTEGER, f2 varchar(1024)) Engine=InnoDB;
CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
SET GLOBAL innodb_disallow_writes=ON;
--send INSERT INTO t1 VALUES (1);
--exec find $datadir -type f-exec md5sum {} \; | md5sum >$MYSQLTEST_VARDIR/tmp/innodb_before
#
# This insert has no effect before innodb_disallow_writes is OFF
#
--send INSERT INTO t1 (f2) SELECT 'abcde ' FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
--connection node_2
INSERT INTO t1 (f2) SELECT 'fghij ' FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
SELECT COUNT(*) AS EXPECT_10000 FROM t1;
--connection node_1a
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1';
--source include/wait_condition.inc
SELECT COUNT(*) AS EXPECT_0 FROM t1;
let $wait_condition = SELECT 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO = 'INSERT INTO t1 VALUES (1)';
--source include/wait_condition.inc
SELECT COUNT(*) AS EXPECT_0 FROM t1;
--sleep 5
--exec find $datadir -type f-exec md5sum {} \; | md5sum >$MYSQLTEST_VARDIR/tmp/innodb_after
SET GLOBAL innodb_disallow_writes=OFF;
--connection node_1
--reap
SELECT COUNT(*) AS EXPECT_1 FROM t1;
--let $wait_condition = SELECT COUNT(*) = 20000 FROM t1;
--source include/wait_condition.inc
SELECT COUNT(*) AS EXPECT_20000 FROM t1;
--connection node_2
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test/t1';
--let $wait_condition = SELECT COUNT(*) = 20000 FROM t1;
--source include/wait_condition.inc
--let $wait_condition = SELECT COUNT(*) = 1 FROM t1;
--source include/wait_condition.inc
SELECT COUNT(*) AS EXPECT_1 FROM t1;
SELECT COUNT(*) AS EXPECT_20000 FROM t1;
--connection node_1
--diff_files $MYSQLTEST_VARDIR/tmp/innodb_before $MYSQLTEST_VARDIR/tmp/innodb_after
--connection node_2
DROP TABLE t1;
DROP TABLE ten;
--disconnect node_1a

Some files were not shown because too many files have changed in this diff Show more