diff -Nru mariadb-5.5-5.5.63/client/CMakeLists.txt mariadb-5.5-5.5.64/client/CMakeLists.txt
--- mariadb-5.5-5.5.63/client/CMakeLists.txt 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/client/CMakeLists.txt 2019-04-26 12:37:01.000000000 +0000
@@ -1,5 +1,5 @@
# Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
-# Copyright (c) 2008, 2018, MariaDB Corporation
+# Copyright (c) 2008, 2019, MariaDB Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -80,7 +80,7 @@
ADD_EXECUTABLE(async_example async_example.c)
TARGET_LINK_LIBRARIES(async_example mysqlclient)
-SET_TARGET_PROPERTIES (mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysqlslap mysql_plugin
+SET_TARGET_PROPERTIES (mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysqlslap mysql_plugin async_example
PROPERTIES HAS_CXX TRUE)
ADD_DEFINITIONS(-DHAVE_DLOPEN)
diff -Nru mariadb-5.5-5.5.63/client/mysqlbinlog.cc mariadb-5.5-5.5.64/client/mysqlbinlog.cc
--- mariadb-5.5-5.5.63/client/mysqlbinlog.cc 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/client/mysqlbinlog.cc 2019-04-26 12:37:01.000000000 +0000
@@ -2020,6 +2020,7 @@
if ((rev->ident_len != logname_len) ||
memcmp(rev->new_log_ident, logname, logname_len))
{
+ delete ev;
DBUG_RETURN(OK_CONTINUE);
}
/*
@@ -2028,6 +2029,7 @@
log. If we are running with to_last_remote_log, we print it,
because it serves as a useful marker between binlogs then.
*/
+ delete ev;
continue;
}
len= 1; // fake Rotate, so don't increment old_off
diff -Nru mariadb-5.5-5.5.63/client/mysql.cc mariadb-5.5-5.5.64/client/mysql.cc
--- mariadb-5.5-5.5.63/client/mysql.cc 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/client/mysql.cc 2019-04-26 12:37:01.000000000 +0000
@@ -3754,9 +3754,10 @@
MYSQL_FIELD *field;
mysql_field_seek(result,0);
- (void) tee_fputs("
", PAGER);
+ (void) tee_fputs("", PAGER);
if (column_names)
{
+ (void) tee_fputs("", PAGER);
while((field = mysql_fetch_field(result)))
{
tee_fputs("", PAGER);
diff -Nru mariadb-5.5-5.5.63/debian/changelog mariadb-5.5-5.5.64/debian/changelog
--- mariadb-5.5-5.5.63/debian/changelog 2019-02-07 06:49:27.000000000 +0000
+++ mariadb-5.5-5.5.64/debian/changelog 2019-05-16 14:56:26.000000000 +0000
@@ -1,3 +1,12 @@
+mariadb-5.5 (5.5.64-1ubuntu0.14.04.1) trusty-security; urgency=high
+
+ * SECURITY UPDATE: New upstream release 5.5.64. Includes fixes for
+ the following security vulnerabilities (LP: #1825572):
+ - CVE-2019-2627
+ - CVE-2019-2614
+
+ -- Otto Kekäläinen Mon, 29 Apr 2019 22:18:13 +0300
+
mariadb-5.5 (5.5.63-1ubuntu0.14.04.1) trusty-security; urgency=high
* SECURITY UPDATE: New upstream release 5.5.63. Includes fixes for
@@ -22,6 +31,7 @@
- CVE-2018-3058
* Previous release 5.5.60 included included fixes for
the following security vulnerabilities:
+ - CVE-2019-2455
- CVE-2018-2819
- CVE-2018-2817
- CVE-2018-2813
@@ -300,6 +310,7 @@
* SECURITY UPDATE: Update to 5.5.37 to fix security issues (LP: #1313187)
- http://www.oracle.com/technetwork/topics/security/cpuapr2014-1972952.html
+ - CVE-2019-2481
- CVE-2014-0001
- CVE-2014-0384
- CVE-2014-2419
diff -Nru mariadb-5.5-5.5.63/Docs/INFO_SRC mariadb-5.5-5.5.64/Docs/INFO_SRC
--- mariadb-5.5-5.5.63/Docs/INFO_SRC 2019-01-27 18:02:26.000000000 +0000
+++ mariadb-5.5-5.5.64/Docs/INFO_SRC 2019-04-26 12:37:03.000000000 +0000
@@ -1,8 +1,8 @@
-commit: 2175bfce3e9da8332f10ab0e0286dc93915533a2
-date: 2019-01-27 18:54:12 +0100
-build-date: 2019-01-27 18:02:26 +0000
-short: 2175bfc
+commit: 926446880f937568eaae9a9671193d9d652f7bf9
+date: 2019-04-26 15:31:31 +0300
+build-date: 2019-04-26 12:37:03 +0000
+short: 9264468
branch: HEAD
-MySQL source 5.5.63
+MySQL source 5.5.64
diff -Nru mariadb-5.5-5.5.63/mysql-test/disabled.def mariadb-5.5-5.5.64/mysql-test/disabled.def
--- mariadb-5.5-5.5.63/mysql-test/disabled.def 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/disabled.def 2019-04-26 12:37:01.000000000 +0000
@@ -15,3 +15,4 @@
mysql_embedded : Bug#12561297 2011-05-14 Anitha Dependent on PB2 changes - eventum#41836
file_contents : MDEV-6526 these files are not installed anymore
lowercase_fs_on : lower_case_table_names=0 is not an error until 10.1
+partition_open_files_limit : open_files_limit check broken by MDEV-18360
diff -Nru mariadb-5.5-5.5.63/mysql-test/include/mix2.inc mariadb-5.5-5.5.64/mysql-test/include/mix2.inc
--- mariadb-5.5-5.5.63/mysql-test/include/mix2.inc 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/include/mix2.inc 2019-04-26 12:37:01.000000000 +0000
@@ -1153,7 +1153,7 @@
drop table t1,t2,t3, t4, t5, t6;
#
-# Test problem with refering to different fields in same table in UNION
+# Test problem with referring to different fields in same table in UNION
# (Bug#2552: UNION returns NULL instead of expected value (innoDB only tables))
#
eval create table t1 (id int, name char(10) not null, name2 char(10) not null) engine=$engine_type;
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/ddl_i18n_koi8r.result mariadb-5.5-5.5.64/mysql-test/r/ddl_i18n_koi8r.result
--- mariadb-5.5-5.5.63/mysql-test/r/ddl_i18n_koi8r.result 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/ddl_i18n_koi8r.result 2019-04-26 12:37:01.000000000 +0000
@@ -2174,7 +2174,7 @@
CREATE DATABASE mysqltest2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
use mysqltest1|
-CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT ev1 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE 1 CHAR(10);
SELECT
@@ -2186,7 +2186,7 @@
@@character_set_client AS c6;
END|
-CREATE EVENT ev2 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT ev2 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
@@ -2198,7 +2198,7 @@
@@character_set_client AS c6;
END|
-CREATE EVENT mysqltest2.ev3 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT mysqltest2.ev3 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
@@ -2210,7 +2210,7 @@
@@character_set_client AS c6;
END|
-CREATE EVENT mysqltest2.ev4 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT mysqltest2.ev4 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
@@ -2226,7 +2226,7 @@
SHOW CREATE EVENT ev1|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10);
SELECT
COLLATION(1) AS c1,
@@ -2239,7 +2239,7 @@
SHOW CREATE EVENT ev2|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev2 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev2 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev2` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(1) AS c1,
@@ -2252,7 +2252,7 @@
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(1) AS c1,
@@ -2265,7 +2265,7 @@
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(1) AS c1,
@@ -2279,11 +2279,11 @@
SHOW EVENTS LIKE 'ev1'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev1 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
SHOW EVENTS LIKE 'ev2'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev2 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
SHOW EVENTS LIKE 'ev3'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -2303,7 +2303,7 @@
COLLATION( '') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2316,7 +2316,7 @@
COLLATION( '') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2329,7 +2329,7 @@
COLLATION( '') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2342,7 +2342,7 @@
COLLATION( '') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
@@ -2361,7 +2361,7 @@
SHOW CREATE EVENT ev1|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10);
SELECT
COLLATION(1) AS c1,
@@ -2374,7 +2374,7 @@
SHOW CREATE EVENT ev2|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev2 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev2 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev2` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(1) AS c1,
@@ -2387,7 +2387,7 @@
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(1) AS c1,
@@ -2400,7 +2400,7 @@
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(1) AS c1,
@@ -2414,11 +2414,11 @@
SHOW EVENTS LIKE 'ev1'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev1 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
SHOW EVENTS LIKE 'ev2'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev2 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
SHOW EVENTS LIKE 'ev3'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -2438,7 +2438,7 @@
COLLATION( '') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2451,7 +2451,7 @@
COLLATION( '') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2464,7 +2464,7 @@
COLLATION( '') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2477,7 +2477,7 @@
COLLATION( '') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
---> Dump of mysqltest1
@@ -2497,7 +2497,7 @@
/*!50003 SET sql_mode = '' */ ;;
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
/*!50003 SET time_zone = 'SYSTEM' */ ;;
-/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev1` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10);
SELECT
COLLATION(1) AS c1,
@@ -2525,7 +2525,7 @@
/*!50003 SET sql_mode = '' */ ;;
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
/*!50003 SET time_zone = 'SYSTEM' */ ;;
-/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev2` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(1) AS c1,
@@ -2564,7 +2564,7 @@
/*!50003 SET sql_mode = '' */ ;;
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
/*!50003 SET time_zone = 'SYSTEM' */ ;;
-/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(1) AS c1,
@@ -2592,7 +2592,7 @@
/*!50003 SET sql_mode = '' */ ;;
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
/*!50003 SET time_zone = 'SYSTEM' */ ;;
-/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev4` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev4` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(1) AS c1,
@@ -2634,7 +2634,7 @@
SHOW CREATE EVENT ev1|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10);
SELECT
COLLATION(1) AS c1,
@@ -2647,7 +2647,7 @@
SHOW CREATE EVENT ev2|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev2 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev2 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev2` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(1) AS c1,
@@ -2660,7 +2660,7 @@
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(1) AS c1,
@@ -2673,7 +2673,7 @@
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(1) AS c1,
@@ -2687,11 +2687,11 @@
SHOW EVENTS LIKE 'ev1'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev1 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
SHOW EVENTS LIKE 'ev2'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev2 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
SHOW EVENTS LIKE 'ev3'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -2711,7 +2711,7 @@
COLLATION( '') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2724,7 +2724,7 @@
COLLATION( '') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2737,7 +2737,7 @@
COLLATION( '') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2750,7 +2750,7 @@
COLLATION( '') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
-------------------------------------------------------------------
DDL statements within stored routine.
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/ddl_i18n_utf8.result mariadb-5.5-5.5.64/mysql-test/r/ddl_i18n_utf8.result
--- mariadb-5.5-5.5.63/mysql-test/r/ddl_i18n_utf8.result 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/ddl_i18n_utf8.result 2019-04-26 12:37:01.000000000 +0000
@@ -2174,7 +2174,7 @@
CREATE DATABASE mysqltest2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci|
use mysqltest1|
-CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT ev1 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE перем1 CHAR(10);
SELECT
@@ -2186,7 +2186,7 @@
@@character_set_client AS c6;
END|
-CREATE EVENT ev2 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT ev2 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
@@ -2198,7 +2198,7 @@
@@character_set_client AS c6;
END|
-CREATE EVENT mysqltest2.ev3 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT mysqltest2.ev3 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
@@ -2210,7 +2210,7 @@
@@character_set_client AS c6;
END|
-CREATE EVENT mysqltest2.ev4 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT mysqltest2.ev4 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
@@ -2226,7 +2226,7 @@
SHOW CREATE EVENT ev1|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10);
SELECT
COLLATION(перем1) AS c1,
@@ -2239,7 +2239,7 @@
SHOW CREATE EVENT ev2|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev2 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev2 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev2` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(перем1) AS c1,
@@ -2252,7 +2252,7 @@
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(перем1) AS c1,
@@ -2265,7 +2265,7 @@
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(перем1) AS c1,
@@ -2279,11 +2279,11 @@
SHOW EVENTS LIKE 'ev1'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev1 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8 utf8_general_ci utf8_unicode_ci
SHOW EVENTS LIKE 'ev2'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev2 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8 utf8_general_ci utf8_unicode_ci
SHOW EVENTS LIKE 'ev3'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -2303,7 +2303,7 @@
COLLATION( 'текст') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2316,7 +2316,7 @@
COLLATION( 'текст') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2329,7 +2329,7 @@
COLLATION( 'текст') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2342,7 +2342,7 @@
COLLATION( 'текст') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
@@ -2361,7 +2361,7 @@
SHOW CREATE EVENT ev1|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10);
SELECT
COLLATION(перем1) AS c1,
@@ -2374,7 +2374,7 @@
SHOW CREATE EVENT ev2|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev2 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev2 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev2` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(перем1) AS c1,
@@ -2387,7 +2387,7 @@
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(перем1) AS c1,
@@ -2400,7 +2400,7 @@
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(перем1) AS c1,
@@ -2414,11 +2414,11 @@
SHOW EVENTS LIKE 'ev1'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev1 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8 utf8_general_ci utf8_unicode_ci
SHOW EVENTS LIKE 'ev2'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev2 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8 utf8_general_ci utf8_unicode_ci
SHOW EVENTS LIKE 'ev3'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -2438,7 +2438,7 @@
COLLATION( 'текст') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2451,7 +2451,7 @@
COLLATION( 'текст') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2464,7 +2464,7 @@
COLLATION( 'текст') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2477,7 +2477,7 @@
COLLATION( 'текст') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
---> Dump of mysqltest1
@@ -2497,7 +2497,7 @@
/*!50003 SET sql_mode = '' */ ;;
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
/*!50003 SET time_zone = 'SYSTEM' */ ;;
-/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev1` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10);
SELECT
COLLATION(перем1) AS c1,
@@ -2525,7 +2525,7 @@
/*!50003 SET sql_mode = '' */ ;;
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
/*!50003 SET time_zone = 'SYSTEM' */ ;;
-/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev2` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(перем1) AS c1,
@@ -2564,7 +2564,7 @@
/*!50003 SET sql_mode = '' */ ;;
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
/*!50003 SET time_zone = 'SYSTEM' */ ;;
-/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(перем1) AS c1,
@@ -2592,7 +2592,7 @@
/*!50003 SET sql_mode = '' */ ;;
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
/*!50003 SET time_zone = 'SYSTEM' */ ;;
-/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev4` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `ev4` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(перем1) AS c1,
@@ -2634,7 +2634,7 @@
SHOW CREATE EVENT ev1|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10);
SELECT
COLLATION(перем1) AS c1,
@@ -2647,7 +2647,7 @@
SHOW CREATE EVENT ev2|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev2 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev2` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev2 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev2` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(перем1) AS c1,
@@ -2660,7 +2660,7 @@
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(перем1) AS c1,
@@ -2673,7 +2673,7 @@
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
+ev3 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev3` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
SELECT
COLLATION(перем1) AS c1,
@@ -2687,11 +2687,11 @@
SHOW EVENTS LIKE 'ev1'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev1 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8 utf8_general_ci utf8_unicode_ci
SHOW EVENTS LIKE 'ev2'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev2 root@localhost SYSTEM ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8 utf8_general_ci utf8_unicode_ci
SHOW EVENTS LIKE 'ev3'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -2711,7 +2711,7 @@
COLLATION( 'текст') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2724,7 +2724,7 @@
COLLATION( 'текст') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2737,7 +2737,7 @@
COLLATION( 'текст') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2750,7 +2750,7 @@
COLLATION( 'текст') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 2030-01-01 00:00:00 NULL NULL NULL NULL ENABLED NOT PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
-------------------------------------------------------------------
DDL statements within stored routine.
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/events_1.result mariadb-5.5-5.5.64/mysql-test/r/events_1.result
--- mariadb-5.5-5.5.63/mysql-test/r/events_1.result 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/events_1.result 2019-04-26 12:37:01.000000000 +0000
@@ -49,7 +49,7 @@
SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
execute_at IS NULL starts IS NULL ends IS NULL comment
1 0 1
-ALTER EVENT event_starts_test ON SCHEDULE AT '2020-02-02 20:00:02';
+ALTER EVENT event_starts_test ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE;
SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
execute_at IS NULL starts IS NULL ends IS NULL comment
0 1 1
@@ -62,7 +62,7 @@
execute_at IS NULL starts IS NULL ends IS NULL comment
0 1 1
DROP EVENT event_starts_test;
-CREATE EVENT event_starts_test ON SCHEDULE EVERY 20 SECOND STARTS '2020-02-02 20:00:02' ENDS '2022-02-02 20:00:02' DO SELECT 2;
+CREATE EVENT event_starts_test ON SCHEDULE EVERY 20 SECOND STARTS '1970-01-02 00:00:00' ENDS '1970-01-03 00:00:00' ON COMPLETION PRESERVE DISABLE DO SELECT 2;
SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
execute_at IS NULL starts IS NULL ends IS NULL comment
1 0 0
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/grant4.result mariadb-5.5-5.5.64/mysql-test/r/grant4.result
--- mariadb-5.5-5.5.63/mysql-test/r/grant4.result 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/grant4.result 2019-04-26 12:37:01.000000000 +0000
@@ -121,3 +121,21 @@
v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t_select_priv`.`a` AS `a`,`t_select_priv`.`b` AS `b` from `t_select_priv` latin1 latin1_swedish_ci
drop database mysqltest_db1;
drop user mysqltest_u1@localhost;
+call mtr.add_suppression("Table 'mysql.user' doesn't exist");
+rename table mysql.user to mysql.user1;
+create view mysql.user as select * from mysql.user1;
+flush privileges;
+ERROR 42S02: Table 'mysql.user' doesn't exist
+drop view mysql.user;
+create temporary table mysql.user select * from mysql.user1 limit 0;
+flush privileges;
+ERROR 42S02: Table 'mysql.user' doesn't exist
+drop temporary table mysql.user;
+rename table mysql.user1 to mysql.user;
+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
+drop table mysql.user;
+rename table mysql.user1 to mysql.user;
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/information_schema_prepare.result mariadb-5.5-5.5.64/mysql-test/r/information_schema_prepare.result
--- mariadb-5.5-5.5.63/mysql-test/r/information_schema_prepare.result 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/information_schema_prepare.result 2019-04-26 12:37:01.000000000 +0000
@@ -0,0 +1,4 @@
+PREPARE stmt2 FROM "CREATE VIEW v AS SELECT * FROM INFORMATION_SCHEMA.TABLES";
+FLUSH PRIVILEGES;
+EXECUTE stmt2;
+DROP VIEW v;
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/loaddata.result mariadb-5.5-5.5.64/mysql-test/r/loaddata.result
--- mariadb-5.5-5.5.63/mysql-test/r/loaddata.result 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/loaddata.result 2019-04-26 12:37:01.000000000 +0000
@@ -550,3 +550,53 @@
HEX(a)
C3A4
DROP TABLE t1;
+#
+# MDEV-15744: Assertion `derived->table' failed in mysql_derived_merge_for_insert
+#
+create table t1 (a int, b int);
+CREATE OR REPLACE VIEW t2 AS SELECT * FROM t1;
+CREATE VIEW v2 AS SELECT * FROM t2;
+LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE v2
+FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
+select * from v2;
+a b
+2 2
+3 3
+4 4
+5 5
+6 6
+select * from t2;
+a b
+2 2
+3 3
+4 4
+5 5
+6 6
+DROP VIEW IF EXISTS v2,t2;
+DROP TABLE IF EXISTS t1;
+#
+# MDEV-15950: LOAD DATA INTO compex_view crashed
+#
+create table t1 (a int, b int);
+create table t0 (x int, y int);
+CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1,t0;
+CREATE VIEW v2 AS SELECT * FROM v1;
+LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE v1
+FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
+ERROR HY000: Incorrect usage of Multi-table VIEW and LOAD
+LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE v2
+FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
+ERROR HY000: Incorrect usage of Multi-table VIEW and LOAD
+DROP VIEW IF EXISTS v2,v1;
+DROP TABLE IF EXISTS t1,t0;
+CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a), UNIQUE(b));
+INSERT INTO t1 VALUES (1,1);
+CREATE TABLE t2 (c INT);
+CREATE VIEW v AS SELECT t1.* FROM t1 JOIN t2;
+SELECT a, b FROM t1 INTO OUTFILE '15645.data';
+LOAD DATA INFILE '15645.data' IGNORE INTO TABLE v (a,b);
+ERROR HY000: Incorrect usage of Multi-table VIEW and LOAD
+LOAD DATA INFILE '15645.data' REPLACE INTO TABLE v (a,b);
+ERROR HY000: Incorrect usage of Multi-table VIEW and LOAD
+drop table t1,t2;
+drop view v;
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/multi_update2.result mariadb-5.5-5.5.64/mysql-test/r/multi_update2.result
--- mariadb-5.5-5.5.63/mysql-test/r/multi_update2.result 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/multi_update2.result 1970-01-01 00:00:00.000000000 +0000
@@ -1,25 +0,0 @@
-DROP TABLE IF EXISTS t1,t2;
-CREATE TABLE t1 ( a INT NOT NULL, b INT NOT NULL) ;
-# The protocolling of many inserts into t1 is suppressed.
-ALTER TABLE t1 ADD INDEX i1(a);
-DELETE FROM t1 WHERE a > 2000000;
-CREATE TABLE t2 LIKE t1;
-INSERT INTO t2 SELECT * FROM t1;
-SELECT 't2 rows before small delete', COUNT(*) FROM t1;
-t2 rows before small delete COUNT(*)
-t2 rows before small delete 2000000
-DELETE t1,t2 FROM t1,t2 WHERE t1.b=t2.a AND t1.a < 2;
-SELECT 't2 rows after small delete', COUNT(*) FROM t2;
-t2 rows after small delete COUNT(*)
-t2 rows after small delete 1999999
-SELECT 't1 rows after small delete', COUNT(*) FROM t1;
-t1 rows after small delete COUNT(*)
-t1 rows after small delete 1999999
-DELETE t1,t2 FROM t1,t2 WHERE t1.b=t2.a AND t1.a < 100*1000;
-SELECT 't2 rows after big delete', COUNT(*) FROM t2;
-t2 rows after big delete COUNT(*)
-t2 rows after big delete 1900001
-SELECT 't1 rows after big delete', COUNT(*) FROM t1;
-t1 rows after big delete COUNT(*)
-t1 rows after big delete 1900001
-DROP TABLE t1,t2;
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/multi_update_big.result mariadb-5.5-5.5.64/mysql-test/r/multi_update_big.result
--- mariadb-5.5-5.5.63/mysql-test/r/multi_update_big.result 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/multi_update_big.result 2019-04-26 12:37:01.000000000 +0000
@@ -0,0 +1,25 @@
+DROP TABLE IF EXISTS t1,t2;
+CREATE TABLE t1 ( a INT NOT NULL, b INT NOT NULL) ;
+# The protocolling of many inserts into t1 is suppressed.
+ALTER TABLE t1 ADD INDEX i1(a);
+DELETE FROM t1 WHERE a > 2000000;
+CREATE TABLE t2 LIKE t1;
+INSERT INTO t2 SELECT * FROM t1;
+SELECT 't2 rows before small delete', COUNT(*) FROM t1;
+t2 rows before small delete COUNT(*)
+t2 rows before small delete 2000000
+DELETE t1,t2 FROM t1,t2 WHERE t1.b=t2.a AND t1.a < 2;
+SELECT 't2 rows after small delete', COUNT(*) FROM t2;
+t2 rows after small delete COUNT(*)
+t2 rows after small delete 1999999
+SELECT 't1 rows after small delete', COUNT(*) FROM t1;
+t1 rows after small delete COUNT(*)
+t1 rows after small delete 1999999
+DELETE t1,t2 FROM t1,t2 WHERE t1.b=t2.a AND t1.a < 100*1000;
+SELECT 't2 rows after big delete', COUNT(*) FROM t2;
+t2 rows after big delete COUNT(*)
+t2 rows after big delete 1900001
+SELECT 't1 rows after big delete', COUNT(*) FROM t1;
+t1 rows after big delete COUNT(*)
+t1 rows after big delete 1900001
+DROP TABLE t1,t2;
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/multi_update.result mariadb-5.5-5.5.64/mysql-test/r/multi_update.result
--- mariadb-5.5-5.5.63/mysql-test/r/multi_update.result 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/multi_update.result 2019-04-26 12:37:01.000000000 +0000
@@ -1017,4 +1017,25 @@
deallocate prepare stmt1;
drop view v3,v2,v1;
drop table t1,t2,t3;
+create table t1 (id int not null, v1 varchar(10) not null);
+insert into t1 values (1,1),(2,2);
+create table t2 (log varchar(10) not null);
+create trigger t1_after_update after update on t1
+for each row insert into t2 values ('triggered');
+create user foo;
+grant select, insert, update, delete, create, drop, reload, index, alter, show databases, create temporary tables, lock tables, execute, create view, show view, create routine, alter routine, trigger on *.* to 'foo'@'%';
+set global read_only=1;
+create temporary table temp_t1 (id int not null, update_me varchar(10));
+insert into temp_t1 values (1,1),(2,2),(3,3);
+update temp_t1 left join t1 on temp_t1.id = t1.id set temp_t1.update_me = 'hello';
+set global read_only = 0;
+create table t3 (id int not null);
+insert t3 values (2);
+update t1 left join t3 on t1.id = t3.id set t1.v1 = 'hello';
+select * from t2;
+log
+triggered
+triggered
+drop table t1,t2, t3;
+drop user foo;
end of 5.5 tests
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/mysql.result mariadb-5.5-5.5.64/mysql-test/r/mysql.result
--- mariadb-5.5-5.5.63/mysql-test/r/mysql.result 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/mysql.result 2019-04-26 12:37:01.000000000 +0000
@@ -613,3 +613,7 @@
0
truncate table t1;
drop table t1;
+#
+# MDEV-15538 '-N' Produce html output wrong
+#
+
\ No newline at end of file
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/show_check.result mariadb-5.5-5.5.64/mysql-test/r/show_check.result
--- mariadb-5.5-5.5.63/mysql-test/r/show_check.result 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/show_check.result 2019-04-26 12:37:01.000000000 +0000
@@ -1424,7 +1424,7 @@
CREATE TRIGGER t1_bi BEFORE INSERT ON t1
FOR EACH ROW
SET NEW.c1 = '';
-CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO SELECT '' AS test;
+CREATE EVENT ev1 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO SELECT '' AS test;
set names utf8;
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
@@ -1444,7 +1444,7 @@
SET NEW.c1 = 'тест' koi8r koi8r_general_ci latin1_swedish_ci
SHOW CREATE EVENT ev1;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO SELECT 'тест' AS test koi8r koi8r_general_ci latin1_swedish_ci
+ev1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `ev1` ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO SELECT 'тест' AS test koi8r koi8r_general_ci latin1_swedish_ci
DROP VIEW v1;
DROP PROCEDURE p1;
DROP FUNCTION f1;
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/sp.result mariadb-5.5-5.5.64/mysql-test/r/sp.result
--- mariadb-5.5-5.5.63/mysql-test/r/sp.result 2019-01-27 18:02:21.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/sp.result 2019-04-26 12:37:01.000000000 +0000
@@ -8072,4 +8072,53 @@
c a b a b
DROP PROCEDURE sp;
DROP TABLE t1;
+#
+# MDEV-17055: Server crashes in find_order_in_list upon
+# 2nd (3rd) execution of SP with UPDATE
+#
+CREATE TABLE t1 (a INT);
+CREATE VIEW v1 AS SELECT * FROM t1;
+CREATE TABLE t2 (c INT);
+CREATE PROCEDURE sp() UPDATE v1 SET a = 1 ORDER BY a, b LIMIT 1;
+LOCK TABLE t2 READ;
+CALL sp;
+ERROR HY000: Table 'v1' was not locked with LOCK TABLES
+UNLOCK TABLES;
+CALL sp;
+ERROR 42S22: Unknown column 'b' in 'order clause'
+CALL sp;
+ERROR 42S22: Unknown column 'b' in 'order clause'
+CALL sp;
+ERROR 42S22: Unknown column 'b' in 'order clause'
+DROP PROCEDURE sp;
+CREATE PROCEDURE sp() UPDATE v1 SET a = 1 WHERE a=1 and b=2;
+LOCK TABLE t2 READ;
+CALL sp;
+ERROR HY000: Table 'v1' was not locked with LOCK TABLES
+UNLOCK TABLES;
+CALL sp;
+ERROR 42S22: Unknown column 'b' in 'where clause'
+CALL sp;
+ERROR 42S22: Unknown column 'b' in 'where clause'
+CALL sp;
+ERROR 42S22: Unknown column 'b' in 'where clause'
+DROP PROCEDURE sp;
+DROP VIEW v1;
+DROP TABLE t1, t2;
# End of 5.5 test
+CREATE PROCEDURE sp() ALTER TABLE non_existing_table OPTIMIZE PARTITION p0;
+CALL sp;
+Table Op Msg_type Msg_text
+test.non_existing_table optimize Error Table 'test.non_existing_table' doesn't exist
+test.non_existing_table optimize status Operation failed
+SELECT 1;
+1
+1
+DROP PROCEDURE sp;
+CREATE PROCEDURE sp() SHOW USER_STATISTICS;
+CALL sp;
+User Total_connections Concurrent_connections Connected_time Busy_time Cpu_time Bytes_received Bytes_sent Binlog_bytes_written Rows_read Rows_sent Rows_deleted Rows_inserted Rows_updated Select_commands Update_commands Other_commands Commit_transactions Rollback_transactions Denied_connections Lost_connections Access_denied Empty_queries
+SELECT 1;
+1
+1
+DROP PROCEDURE sp;
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/subselect_sj_jcl6.result mariadb-5.5-5.5.64/mysql-test/r/subselect_sj_jcl6.result
--- mariadb-5.5-5.5.63/mysql-test/r/subselect_sj_jcl6.result 2019-01-27 18:02:21.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/subselect_sj_jcl6.result 2019-04-26 12:37:01.000000000 +0000
@@ -3192,6 +3192,13 @@
a
drop view v3;
drop table t1,t2,t3;
+#
+# MDEV-18896: IN subquery in WHERE of a table-less query used for INSERT
+#
+create table t1 (a1 varchar(25));
+create table t2 (a2 varchar(25)) ;
+insert into t1 select 'xxx' from dual where 'xxx' in (select a2 from t2);
+drop table t1,t2;
# End of 5.5 test
set optimizer_switch=@subselect_sj_tmp;
#
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/subselect_sj.result mariadb-5.5-5.5.64/mysql-test/r/subselect_sj.result
--- mariadb-5.5-5.5.63/mysql-test/r/subselect_sj.result 2019-01-27 18:02:21.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/subselect_sj.result 2019-04-26 12:37:01.000000000 +0000
@@ -3178,5 +3178,12 @@
a
drop view v3;
drop table t1,t2,t3;
+#
+# MDEV-18896: IN subquery in WHERE of a table-less query used for INSERT
+#
+create table t1 (a1 varchar(25));
+create table t2 (a2 varchar(25)) ;
+insert into t1 select 'xxx' from dual where 'xxx' in (select a2 from t2);
+drop table t1,t2;
# End of 5.5 test
set optimizer_switch=@subselect_sj_tmp;
diff -Nru mariadb-5.5-5.5.63/mysql-test/r/view_grant.result mariadb-5.5-5.5.64/mysql-test/r/view_grant.result
--- mariadb-5.5-5.5.63/mysql-test/r/view_grant.result 2019-01-27 18:02:21.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/r/view_grant.result 2019-04-26 12:37:01.000000000 +0000
@@ -173,11 +173,14 @@
insert into mysqltest.t1 values (10,2), (20,3), (30,4), (40,5), (50,10);
create table mysqltest.t2 (x int);
insert into mysqltest.t2 values (3), (4), (5), (6);
+create table mysqltest.t3 (x int);
+insert into mysqltest.t3 values (3), (4), (5), (6);
create view mysqltest.v1 (a,c) as select a, b+1 from mysqltest.t1;
create view mysqltest.v2 (a,c) as select a, b from mysqltest.t1;
create view mysqltest.v3 (a,c) as select a, b+1 from mysqltest.t1;
grant update (a) on mysqltest.v2 to mysqltest_1@localhost;
grant update on mysqltest.v1 to mysqltest_1@localhost;
+grant update on mysqltest.t3 to mysqltest_1@localhost;
grant select on mysqltest.* to mysqltest_1@localhost;
use mysqltest;
update t2,v1 set v1.a=v1.a+v1.c where t2.x=v1.c;
@@ -212,6 +215,7 @@
48 4
62 5
71 10
+update t3,v3 set t3.x=t3.x+v3.c where t3.x=v3.c;
update t2,v2 set v2.c=v2.a+v2.c where t2.x=v2.c;
ERROR 42000: UPDATE command denied to user 'mysqltest_1'@'localhost' for column 'c' in table 'v2'
update v2 set c=a+c;
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result mariadb-5.5-5.5.64/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result
--- mariadb-5.5-5.5.63/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result 2019-01-27 18:02:21.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result 2019-04-26 12:37:01.000000000 +0000
@@ -1,7 +1,7 @@
drop table if exists t1;
-reset master;
-set @a=UNIX_TIMESTAMP("2020-01-21 15:32:22");
+set @a=UNIX_TIMESTAMP("1970-01-21 15:32:22");
set timestamp=@a;
+reset master;
create table t1 (a int auto_increment not null primary key, b char(3));
insert into t1 values(null, "a");
insert into t1 values(null, "b");
@@ -21,7 +21,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -32,54 +32,54 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -94,7 +94,7 @@
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -107,50 +107,50 @@
/*!*/;
SET INSERT_ID=1/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -165,7 +165,7 @@
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -178,30 +178,30 @@
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -217,7 +217,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -228,24 +228,24 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -260,7 +260,7 @@
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -273,7 +273,7 @@
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
DELIMITER ;
@@ -288,7 +288,7 @@
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -301,30 +301,30 @@
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -340,7 +340,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -351,24 +351,24 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -385,7 +385,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -396,59 +396,59 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -461,10 +461,10 @@
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -479,7 +479,7 @@
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -492,55 +492,55 @@
/*!*/;
SET INSERT_ID=1/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -553,10 +553,10 @@
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -571,7 +571,7 @@
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -584,35 +584,35 @@
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -625,10 +625,10 @@
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -644,7 +644,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -655,59 +655,59 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -731,7 +731,7 @@
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -744,35 +744,35 @@
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -785,10 +785,10 @@
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -804,7 +804,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -815,24 +815,24 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -848,7 +848,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -859,54 +859,54 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -921,7 +921,7 @@
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -934,50 +934,50 @@
/*!*/;
SET INSERT_ID=1/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -991,7 +991,7 @@
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1004,30 +1004,30 @@
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -1043,7 +1043,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1054,24 +1054,24 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -1085,7 +1085,7 @@
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1098,7 +1098,7 @@
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
DELIMITER ;
@@ -1113,7 +1113,7 @@
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1126,30 +1126,30 @@
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -1165,7 +1165,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1176,24 +1176,24 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -1209,7 +1209,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1220,59 +1220,59 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1285,10 +1285,10 @@
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -1303,7 +1303,7 @@
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1316,55 +1316,55 @@
/*!*/;
SET INSERT_ID=1/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1377,10 +1377,10 @@
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -1394,7 +1394,7 @@
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1407,35 +1407,35 @@
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1448,10 +1448,10 @@
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -1467,7 +1467,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1478,59 +1478,59 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1553,7 +1553,7 @@
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ROLLBACK/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1566,35 +1566,35 @@
/*!*/;
SET INSERT_ID=3/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
DELIMITER ;
DELIMITER /*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1607,10 +1607,10 @@
/*!*/;
SET INSERT_ID=6/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -1626,7 +1626,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1637,24 +1637,24 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
DELIMITER ;
@@ -1670,7 +1670,7 @@
DELIMITER /*!*/;
ROLLBACK/*!*/;
use `test`/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=0/*!*/;
@@ -1681,64 +1681,64 @@
SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int auto_increment not null primary key, b char(3))
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=1/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "a")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=2/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
insert into t1 values(null, "b")
/*!*/;
-SET TIMESTAMP=1579609942/*!*/;
+SET TIMESTAMP=1773142/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=3/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
insert into t1 values(null, "c")
/*!*/;
-SET TIMESTAMP=1579609944/*!*/;
+SET TIMESTAMP=1773144/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=4/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "d")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=5/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
insert into t1 values(null, "e")
/*!*/;
-SET TIMESTAMP=1579609946/*!*/;
+SET TIMESTAMP=1773146/*!*/;
COMMIT
/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
BEGIN
/*!*/;
SET INSERT_ID=6/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
insert into t1 values(null, "f")
/*!*/;
-SET TIMESTAMP=1579609943/*!*/;
+SET TIMESTAMP=1773143/*!*/;
COMMIT
/*!*/;
DELIMITER ;
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test mariadb-5.5-5.5.64/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test
--- mariadb-5.5-5.5.63/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test 2019-01-27 18:02:21.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test 2019-04-26 12:37:01.000000000 +0000
@@ -8,15 +8,15 @@
--disable_warnings
drop table if exists t1;
--enable_warnings
-reset master;
# We need this for getting fixed timestamps inside of this test.
-# I use a date in the future to keep a growing timestamp along the
+# I use a date in the past to keep a growing timestamp along the
# binlog (including the Start_log_event). This test will work
# unchanged everywhere, because mysql-test-run has fixed TZ, which it
# exports (so mysqlbinlog has same fixed TZ).
-set @a=UNIX_TIMESTAMP("2020-01-21 15:32:22");
+set @a=UNIX_TIMESTAMP("1970-01-21 15:32:22");
set timestamp=@a;
+reset master;
create table t1 (a int auto_increment not null primary key, b char(3));
insert into t1 values(null, "a");
insert into t1 values(null, "b");
@@ -70,11 +70,11 @@
--disable_query_log
select "--- start-datetime --" as "";
--enable_query_log
---exec $MYSQL_BINLOG --short-form "--start-datetime=2020-01-21 15:32:24" $MYSQLD_DATADIR/master-bin.000001
+--exec $MYSQL_BINLOG --short-form "--start-datetime=1970-01-21 15:32:24" $MYSQLD_DATADIR/master-bin.000001
--disable_query_log
select "--- stop-datetime --" as "";
--enable_query_log
---exec $MYSQL_BINLOG --short-form "--stop-datetime=2020-01-21 15:32:24" $MYSQLD_DATADIR/master-bin.000001
+--exec $MYSQL_BINLOG --short-form "--stop-datetime=1970-01-21 15:32:24" $MYSQLD_DATADIR/master-bin.000001
--disable_query_log
select "--- Local with 2 binlogs on command line --" as "";
@@ -102,11 +102,11 @@
--disable_query_log
select "--- start-datetime --" as "";
--enable_query_log
---exec $MYSQL_BINLOG --short-form "--start-datetime=2020-01-21 15:32:24" $MYSQLD_DATADIR/master-bin.000001 $MYSQLD_DATADIR/master-bin.000002
+--exec $MYSQL_BINLOG --short-form "--start-datetime=1970-01-21 15:32:24" $MYSQLD_DATADIR/master-bin.000001 $MYSQLD_DATADIR/master-bin.000002
--disable_query_log
select "--- stop-datetime --" as "";
--enable_query_log
---exec $MYSQL_BINLOG --short-form "--stop-datetime=2020-01-21 15:32:24" $MYSQLD_DATADIR/master-bin.000001 $MYSQLD_DATADIR/master-bin.000002
+--exec $MYSQL_BINLOG --short-form "--stop-datetime=1970-01-21 15:32:24" $MYSQLD_DATADIR/master-bin.000001 $MYSQLD_DATADIR/master-bin.000002
--disable_query_log
select "--- Remote --" as "";
@@ -137,11 +137,11 @@
--disable_query_log
select "--- start-datetime --" as "";
--enable_query_log
---exec $MYSQL_BINLOG --short-form "--start-datetime=2020-01-21 15:32:24" --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
+--exec $MYSQL_BINLOG --short-form "--start-datetime=1970-01-21 15:32:24" --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
--disable_query_log
select "--- stop-datetime --" as "";
--enable_query_log
---exec $MYSQL_BINLOG --short-form "--stop-datetime=2020-01-21 15:32:24" --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
+--exec $MYSQL_BINLOG --short-form "--stop-datetime=1970-01-21 15:32:24" --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
--disable_query_log
select "--- Remote with 2 binlogs on command line --" as "";
@@ -166,11 +166,11 @@
--disable_query_log
select "--- start-datetime --" as "";
--enable_query_log
---exec $MYSQL_BINLOG --short-form "--start-datetime=20200121153224" --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 master-bin.000002
+--exec $MYSQL_BINLOG --short-form "--start-datetime=19700121153224" --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 master-bin.000002
--disable_query_log
select "--- stop-datetime --" as "";
--enable_query_log
---exec $MYSQL_BINLOG --short-form "--stop-datetime=2020/01/21 15@32@24" --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 master-bin.000002
+--exec $MYSQL_BINLOG --short-form "--stop-datetime=1970/01/21 15@32@24" --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 master-bin.000002
--disable_query_log
select "--- to-last-log --" as "";
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/innodb/r/foreign_key.result mariadb-5.5-5.5.64/mysql-test/suite/innodb/r/foreign_key.result
--- mariadb-5.5-5.5.63/mysql-test/suite/innodb/r/foreign_key.result 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/innodb/r/foreign_key.result 2019-04-26 12:37:02.000000000 +0000
@@ -0,0 +1,20 @@
+#
+# MDEV-18630 Conditional jump or move depends on uninitialised value
+# in ib_push_warning / dict_create_foreign_constraints_low
+#
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+ALTER IGNORE TABLE t1 ADD FOREIGN KEY (a) REFERENCES t2 (b);
+ERROR HY000: Can't create table 'test.#sql-temporary' (errno: 150)
+SHOW WARNINGS;
+Level Code Message
+Warning 150 Alter table `test`.`t1` with foreign key constraint failed. Referenced table `test`.`t2` not found in the data dictionary near 'FOREIGN KEY (a) REFERENCES t2 (b)'.
+Error 1005 Can't create table 'test.#sql-temporary' (errno: 150)
+DROP TABLE t1;
+#
+# MDEV-18139 ALTER IGNORE ... ADD FOREIGN KEY causes bogus error
+#
+CREATE TABLE t1 (f1 INT, f2 INT, f3 INT, KEY(f1)) ENGINE=InnoDB;
+CREATE TABLE t2 (f INT, KEY(f)) ENGINE=InnoDB;
+ALTER TABLE t1 ADD FOREIGN KEY (f2) REFERENCES t2 (f);
+ALTER IGNORE TABLE t1 ADD FOREIGN KEY (f3) REFERENCES t1 (f1);
+DROP TABLE t1, t2;
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/innodb/r/innodb-truncate.result mariadb-5.5-5.5.64/mysql-test/suite/innodb/r/innodb-truncate.result
--- mariadb-5.5-5.5.63/mysql-test/suite/innodb/r/innodb-truncate.result 2019-01-27 18:02:21.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/innodb/r/innodb-truncate.result 2019-04-26 12:37:02.000000000 +0000
@@ -66,3 +66,16 @@
1
2
DROP TABLE t1;
+call mtr.add_suppression('InnoDB: Error: in RENAME TABLE table `test`.`t3`');
+SET FOREIGN_KEY_CHECKS= OFF;
+CREATE TABLE t1 (f2 INT, f4 INT, KEY(f2), FOREIGN KEY (f4) REFERENCES t3 (f4)) ENGINE=InnoDB;
+SET FOREIGN_KEY_CHECKS= ON;
+CREATE TABLE t2 (f2 INT, FOREIGN KEY(f2) REFERENCES t1 (f2)) ENGINE=InnoDB;
+CREATE TABLE t3 (a INT) ENGINE=InnoDB;
+ERROR HY000: Can't create table 'test.t3' (errno: 150)
+ALTER TABLE t1 RENAME TO t3;
+ERROR HY000: Error on rename of './test/t1' to './test/t3' (errno: 150)
+ALTER TABLE t1 FORCE;
+TRUNCATE TABLE t1;
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f2`) REFERENCES `test`.`t3` (`f2`))
+DROP TABLE t2, t1;
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/innodb/r/xa_debug.result mariadb-5.5-5.5.64/mysql-test/suite/innodb/r/xa_debug.result
--- mariadb-5.5-5.5.63/mysql-test/suite/innodb/r/xa_debug.result 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/innodb/r/xa_debug.result 2019-04-26 12:37:02.000000000 +0000
@@ -0,0 +1,311 @@
+call mtr.add_suppression("Found 50 prepared XA transactions");
+create table t1 (a int) engine=innodb;
+insert into t1 values(1);
+xa start 'test50';
+insert into t1 values(1);
+xa end 'test50';
+xa prepare 'test50';
+xa start 'test49';
+insert into t1 values(1);
+xa end 'test49';
+xa prepare 'test49';
+xa start 'test48';
+insert into t1 values(1);
+xa end 'test48';
+xa prepare 'test48';
+xa start 'test47';
+insert into t1 values(1);
+xa end 'test47';
+xa prepare 'test47';
+xa start 'test46';
+insert into t1 values(1);
+xa end 'test46';
+xa prepare 'test46';
+xa start 'test45';
+insert into t1 values(1);
+xa end 'test45';
+xa prepare 'test45';
+xa start 'test44';
+insert into t1 values(1);
+xa end 'test44';
+xa prepare 'test44';
+xa start 'test43';
+insert into t1 values(1);
+xa end 'test43';
+xa prepare 'test43';
+xa start 'test42';
+insert into t1 values(1);
+xa end 'test42';
+xa prepare 'test42';
+xa start 'test41';
+insert into t1 values(1);
+xa end 'test41';
+xa prepare 'test41';
+xa start 'test40';
+insert into t1 values(1);
+xa end 'test40';
+xa prepare 'test40';
+xa start 'test39';
+insert into t1 values(1);
+xa end 'test39';
+xa prepare 'test39';
+xa start 'test38';
+insert into t1 values(1);
+xa end 'test38';
+xa prepare 'test38';
+xa start 'test37';
+insert into t1 values(1);
+xa end 'test37';
+xa prepare 'test37';
+xa start 'test36';
+insert into t1 values(1);
+xa end 'test36';
+xa prepare 'test36';
+xa start 'test35';
+insert into t1 values(1);
+xa end 'test35';
+xa prepare 'test35';
+xa start 'test34';
+insert into t1 values(1);
+xa end 'test34';
+xa prepare 'test34';
+xa start 'test33';
+insert into t1 values(1);
+xa end 'test33';
+xa prepare 'test33';
+xa start 'test32';
+insert into t1 values(1);
+xa end 'test32';
+xa prepare 'test32';
+xa start 'test31';
+insert into t1 values(1);
+xa end 'test31';
+xa prepare 'test31';
+xa start 'test30';
+insert into t1 values(1);
+xa end 'test30';
+xa prepare 'test30';
+xa start 'test29';
+insert into t1 values(1);
+xa end 'test29';
+xa prepare 'test29';
+xa start 'test28';
+insert into t1 values(1);
+xa end 'test28';
+xa prepare 'test28';
+xa start 'test27';
+insert into t1 values(1);
+xa end 'test27';
+xa prepare 'test27';
+xa start 'test26';
+insert into t1 values(1);
+xa end 'test26';
+xa prepare 'test26';
+xa start 'test25';
+insert into t1 values(1);
+xa end 'test25';
+xa prepare 'test25';
+xa start 'test24';
+insert into t1 values(1);
+xa end 'test24';
+xa prepare 'test24';
+xa start 'test23';
+insert into t1 values(1);
+xa end 'test23';
+xa prepare 'test23';
+xa start 'test22';
+insert into t1 values(1);
+xa end 'test22';
+xa prepare 'test22';
+xa start 'test21';
+insert into t1 values(1);
+xa end 'test21';
+xa prepare 'test21';
+xa start 'test20';
+insert into t1 values(1);
+xa end 'test20';
+xa prepare 'test20';
+xa start 'test19';
+insert into t1 values(1);
+xa end 'test19';
+xa prepare 'test19';
+xa start 'test18';
+insert into t1 values(1);
+xa end 'test18';
+xa prepare 'test18';
+xa start 'test17';
+insert into t1 values(1);
+xa end 'test17';
+xa prepare 'test17';
+xa start 'test16';
+insert into t1 values(1);
+xa end 'test16';
+xa prepare 'test16';
+xa start 'test15';
+insert into t1 values(1);
+xa end 'test15';
+xa prepare 'test15';
+xa start 'test14';
+insert into t1 values(1);
+xa end 'test14';
+xa prepare 'test14';
+xa start 'test13';
+insert into t1 values(1);
+xa end 'test13';
+xa prepare 'test13';
+xa start 'test12';
+insert into t1 values(1);
+xa end 'test12';
+xa prepare 'test12';
+xa start 'test11';
+insert into t1 values(1);
+xa end 'test11';
+xa prepare 'test11';
+xa start 'test10';
+insert into t1 values(1);
+xa end 'test10';
+xa prepare 'test10';
+xa start 'test9';
+insert into t1 values(1);
+xa end 'test9';
+xa prepare 'test9';
+xa start 'test8';
+insert into t1 values(1);
+xa end 'test8';
+xa prepare 'test8';
+xa start 'test7';
+insert into t1 values(1);
+xa end 'test7';
+xa prepare 'test7';
+xa start 'test6';
+insert into t1 values(1);
+xa end 'test6';
+xa prepare 'test6';
+xa start 'test5';
+insert into t1 values(1);
+xa end 'test5';
+xa prepare 'test5';
+xa start 'test4';
+insert into t1 values(1);
+xa end 'test4';
+xa prepare 'test4';
+xa start 'test3';
+insert into t1 values(1);
+xa end 'test3';
+xa prepare 'test3';
+xa start 'test2';
+insert into t1 values(1);
+xa end 'test2';
+xa prepare 'test2';
+xa start 'test1';
+insert into t1 values(1);
+xa end 'test1';
+xa prepare 'test1';
+FLUSH TABLES;
+xa recover;
+formatID gtrid_length bqual_length data
+1 5 0 test1
+1 5 0 test2
+1 5 0 test3
+1 5 0 test4
+1 5 0 test5
+1 5 0 test6
+1 5 0 test7
+1 5 0 test8
+1 5 0 test9
+1 6 0 test10
+1 6 0 test11
+1 6 0 test12
+1 6 0 test13
+1 6 0 test14
+1 6 0 test15
+1 6 0 test16
+1 6 0 test17
+1 6 0 test18
+1 6 0 test19
+1 6 0 test20
+1 6 0 test21
+1 6 0 test22
+1 6 0 test23
+1 6 0 test24
+1 6 0 test25
+1 6 0 test26
+1 6 0 test27
+1 6 0 test28
+1 6 0 test29
+1 6 0 test30
+1 6 0 test31
+1 6 0 test32
+1 6 0 test33
+1 6 0 test34
+1 6 0 test35
+1 6 0 test36
+1 6 0 test37
+1 6 0 test38
+1 6 0 test39
+1 6 0 test40
+1 6 0 test41
+1 6 0 test42
+1 6 0 test43
+1 6 0 test44
+1 6 0 test45
+1 6 0 test46
+1 6 0 test47
+1 6 0 test48
+1 6 0 test49
+1 6 0 test50
+xa recover;
+formatID gtrid_length bqual_length data
+1 5 0 test1
+1 5 0 test2
+1 5 0 test3
+1 5 0 test4
+1 5 0 test5
+1 5 0 test6
+1 5 0 test7
+1 5 0 test8
+1 5 0 test9
+1 6 0 test10
+1 6 0 test11
+1 6 0 test12
+1 6 0 test13
+1 6 0 test14
+1 6 0 test15
+1 6 0 test16
+1 6 0 test17
+1 6 0 test18
+1 6 0 test19
+1 6 0 test20
+1 6 0 test21
+1 6 0 test22
+1 6 0 test23
+1 6 0 test24
+1 6 0 test25
+1 6 0 test26
+1 6 0 test27
+1 6 0 test28
+1 6 0 test29
+1 6 0 test30
+1 6 0 test31
+1 6 0 test32
+1 6 0 test33
+1 6 0 test34
+1 6 0 test35
+1 6 0 test36
+1 6 0 test37
+1 6 0 test38
+1 6 0 test39
+1 6 0 test40
+1 6 0 test41
+1 6 0 test42
+1 6 0 test43
+1 6 0 test44
+1 6 0 test45
+1 6 0 test46
+1 6 0 test47
+1 6 0 test48
+1 6 0 test49
+1 6 0 test50
+xa recover;
+formatID gtrid_length bqual_length data
+drop table t1;
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/innodb/t/foreign_key.test mariadb-5.5-5.5.64/mysql-test/suite/innodb/t/foreign_key.test
--- mariadb-5.5-5.5.63/mysql-test/suite/innodb/t/foreign_key.test 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/innodb/t/foreign_key.test 2019-04-26 12:37:02.000000000 +0000
@@ -0,0 +1,22 @@
+--source include/have_innodb.inc
+
+--echo #
+--echo # MDEV-18630 Conditional jump or move depends on uninitialised value
+--echo # in ib_push_warning / dict_create_foreign_constraints_low
+--echo #
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+--replace_regex /#sql-[0-9_a-f-]*/#sql-temporary/
+--error ER_CANT_CREATE_TABLE
+ALTER IGNORE TABLE t1 ADD FOREIGN KEY (a) REFERENCES t2 (b);
+--replace_regex /#sql-[0-9_a-f-]*/#sql-temporary/
+SHOW WARNINGS;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-18139 ALTER IGNORE ... ADD FOREIGN KEY causes bogus error
+--echo #
+CREATE TABLE t1 (f1 INT, f2 INT, f3 INT, KEY(f1)) ENGINE=InnoDB;
+CREATE TABLE t2 (f INT, KEY(f)) ENGINE=InnoDB;
+ALTER TABLE t1 ADD FOREIGN KEY (f2) REFERENCES t2 (f);
+ALTER IGNORE TABLE t1 ADD FOREIGN KEY (f3) REFERENCES t1 (f1);
+DROP TABLE t1, t2;
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/innodb/t/innodb.test mariadb-5.5-5.5.64/mysql-test/suite/innodb/t/innodb.test
--- mariadb-5.5-5.5.63/mysql-test/suite/innodb/t/innodb.test 2019-01-27 18:02:21.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/innodb/t/innodb.test 2019-04-26 12:37:02.000000000 +0000
@@ -1125,7 +1125,7 @@
drop table t1,t2,t3;
#
-# Test problem with refering to different fields in same table in UNION
+# Test problem with referring to different fields in same table in UNION
# (Bug #2552)
#
create table t1 (id int, name char(10) not null, name2 char(10) not null) engine=innodb;
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/innodb/t/innodb-truncate.test mariadb-5.5-5.5.64/mysql-test/suite/innodb/t/innodb-truncate.test
--- mariadb-5.5-5.5.63/mysql-test/suite/innodb/t/innodb-truncate.test 2019-01-27 18:02:21.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/innodb/t/innodb-truncate.test 2019-04-26 12:37:02.000000000 +0000
@@ -1,4 +1,5 @@
--source include/have_innodb.inc
+let $datadir=`select @@datadir`;
--echo #
--echo # TRUNCATE TABLE
--echo #
@@ -62,3 +63,20 @@
SELECT * FROM t1 ORDER BY a;
DROP TABLE t1;
+#
+# MDEV-18923 Assertion `!lex_string_cmp(system_charset_info, fk_info->referenced_table, &table->s->table_name)' failed in fk_truncate_illegal_if_parent
+#
+call mtr.add_suppression('InnoDB: Error: in RENAME TABLE table `test`.`t3`');
+SET FOREIGN_KEY_CHECKS= OFF;
+CREATE TABLE t1 (f2 INT, f4 INT, KEY(f2), FOREIGN KEY (f4) REFERENCES t3 (f4)) ENGINE=InnoDB;
+SET FOREIGN_KEY_CHECKS= ON;
+CREATE TABLE t2 (f2 INT, FOREIGN KEY(f2) REFERENCES t1 (f2)) ENGINE=InnoDB;
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t3 (a INT) ENGINE=InnoDB;
+--replace_result $datadir ./
+--error ER_ERROR_ON_RENAME
+ALTER TABLE t1 RENAME TO t3;
+ALTER TABLE t1 FORCE;
+--error ER_TRUNCATE_ILLEGAL_FK
+TRUNCATE TABLE t1;
+DROP TABLE t2, t1;
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/innodb/t/xa_debug.test mariadb-5.5-5.5.64/mysql-test/suite/innodb/t/xa_debug.test
--- mariadb-5.5-5.5.63/mysql-test/suite/innodb/t/xa_debug.test 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/innodb/t/xa_debug.test 2019-04-26 12:37:02.000000000 +0000
@@ -0,0 +1,46 @@
+-- source include/have_innodb.inc
+-- source include/have_debug.inc
+-- source include/not_embedded.inc
+
+call mtr.add_suppression("Found 50 prepared XA transactions");
+create table t1 (a int) engine=innodb;
+insert into t1 values(1);
+
+let $trial = 50;
+while ($trial)
+{
+--connect (con$trial, localhost, root,,)
+let $st_pre = `select concat('test', $trial)`;
+eval xa start '$st_pre';
+insert into t1 values(1);
+eval xa end '$st_pre';
+eval xa prepare '$st_pre';
+dec $trial;
+}
+
+connection default;
+# Kill and restart the server.
+FLUSH TABLES;
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+-- shutdown_server 0
+-- source include/wait_until_disconnected.inc
+
+-- exec echo "restart:--debug_dbug=+d,min_xa_len" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+-- enable_reconnect
+-- source include/wait_until_connected_again.inc
+-- disable_reconnect
+--sorted_result
+xa recover;
+--sorted_result
+xa recover;
+--disable_query_log
+let $trial = 50;
+while ($trial)
+{
+let $st_pre = `select concat('test', $trial)`;
+eval xa commit '$st_pre';
+dec $trial;
+}
+--enable_query_log
+xa recover;
+drop table t1;
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/plugins/t/thread_pool_server_audit.test mariadb-5.5-5.5.64/mysql-test/suite/plugins/t/thread_pool_server_audit.test
--- mariadb-5.5-5.5.63/mysql-test/suite/plugins/t/thread_pool_server_audit.test 2019-01-27 18:02:21.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/plugins/t/thread_pool_server_audit.test 2019-04-26 12:37:02.000000000 +0000
@@ -42,8 +42,10 @@
3;
insert into t2 values (1), (2);
select * from t2;
+--disable_ps_protocol
--error ER_NO_SUCH_TABLE
select * from t_doesnt_exist;
+--enable_ps_protocol
--error 1064
syntax_error_query;
drop table renamed_t1, t2;
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/rpl/r/kill_race_condition.result mariadb-5.5-5.5.64/mysql-test/suite/rpl/r/kill_race_condition.result
--- mariadb-5.5-5.5.63/mysql-test/suite/rpl/r/kill_race_condition.result 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/rpl/r/kill_race_condition.result 2019-04-26 12:37:02.000000000 +0000
@@ -0,0 +1,13 @@
+include/master-slave.inc
+[connection master]
+set global debug_dbug='d,rows_log_event_before_open_table';
+set debug_sync='now WAIT_FOR before_open_table';
+create table t1 (a int);
+insert t1 values (1),(2),(3);
+kill slave_sql_thread;
+set debug_sync='now SIGNAL go_ahead_sql';
+set global debug_dbug='';
+set debug_sync='RESET';
+drop table t1;
+start slave;
+include/rpl_end.inc
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/rpl/r/rpl_rewrt_db.result mariadb-5.5-5.5.64/mysql-test/suite/rpl/r/rpl_rewrt_db.result
--- mariadb-5.5-5.5.63/mysql-test/suite/rpl/r/rpl_rewrt_db.result 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/rpl/r/rpl_rewrt_db.result 2019-04-26 12:37:02.000000000 +0000
@@ -1,19 +1,36 @@
include/master-slave.inc
[connection master]
+set sql_log_bin=0;
+create database y;
+set sql_log_bin=1;
drop database if exists mysqltest1;
+drop database if exists x;
create database mysqltest1;
+set sql_log_bin=0;
+create database x;
+set sql_log_bin=1;
use mysqltest1;
create table t1 (a int);
insert into t1 values(9);
+use x;
+create table t1 (a int);
+insert into t1 values(9);
select * from mysqltest1.t1;
a
9
+select * from x.t1;
+a
+9
show databases like 'mysqltest1';
Database (mysqltest1)
mysqltest1
select * from test.t1;
a
9
+select * from y.t1;
+a
+9
+use mysqltest1;
drop table t1;
drop database mysqltest1;
drop database if exists rewrite;
@@ -209,10 +226,12 @@
DROP DATABASE database_master_temp_01;
DROP DATABASE database_master_temp_02;
DROP DATABASE database_master_temp_03;
+DROP DATABASE x;
SET sql_log_bin= 1;
SET sql_log_bin= 0;
DROP DATABASE database_slave_temp_01;
DROP DATABASE database_slave_temp_02;
DROP DATABASE database_slave_temp_03;
+DROP DATABASE y;
SET sql_log_bin= 1;
include/rpl_end.inc
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/rpl/r/rpl_slave_invalid_external_user.result mariadb-5.5-5.5.64/mysql-test/suite/rpl/r/rpl_slave_invalid_external_user.result
--- mariadb-5.5-5.5.63/mysql-test/suite/rpl/r/rpl_slave_invalid_external_user.result 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/rpl/r/rpl_slave_invalid_external_user.result 2019-04-26 12:37:02.000000000 +0000
@@ -0,0 +1,15 @@
+include/master-slave.inc
+[connection master]
+CREATE USER test_user@localhost;
+SET PASSWORD FOR test_user@localhost = password('PWD');
+GRANT ALL ON *.* TO test_user@localhost WITH GRANT OPTION;
+connect conn_test,localhost,test_user,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK;
+connection conn_test;
+CREATE TABLE t1 (f1 INT);
+CREATE TABLE t2 (f2 VARCHAR(64));
+CREATE TRIGGER tr_before BEFORE INSERT ON t1 FOR EACH ROW INSERT INTO t2 SELECT variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES;
+CREATE DEFINER='root'@'localhost' TRIGGER tr_after AFTER INSERT ON t1 FOR EACH ROW INSERT INTO t2 SELECT variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES;
+INSERT INTO t1 VALUES (1);
+DROP USER 'test_user'@'localhost';
+DROP TABLE t1, t2;
+include/rpl_end.inc
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/rpl/t/kill_race_condition.test mariadb-5.5-5.5.64/mysql-test/suite/rpl/t/kill_race_condition.test
--- mariadb-5.5-5.5.63/mysql-test/suite/rpl/t/kill_race_condition.test 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/rpl/t/kill_race_condition.test 2019-04-26 12:37:02.000000000 +0000
@@ -0,0 +1,28 @@
+source include/have_debug_sync.inc;
+source include/have_binlog_format_row.inc;
+source include/master-slave.inc;
+
+connection slave;
+set global debug_dbug='d,rows_log_event_before_open_table';
+send set debug_sync='now WAIT_FOR before_open_table';
+
+connection master;
+create table t1 (a int);
+insert t1 values (1),(2),(3);
+
+connection slave;
+reap;
+let $a=`select id from information_schema.processlist where state='debug sync point: now'`;
+replace_result $a slave_sql_thread;
+eval kill $a;
+set debug_sync='now SIGNAL go_ahead_sql';
+set global debug_dbug='';
+set debug_sync='RESET';
+
+connection master;
+drop table t1;
+
+connection slave;
+start slave;
+
+source include/rpl_end.inc;
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/rpl/t/rpl_rewrt_db-slave.opt mariadb-5.5-5.5.64/mysql-test/suite/rpl/t/rpl_rewrt_db-slave.opt
--- mariadb-5.5-5.5.63/mysql-test/suite/rpl/t/rpl_rewrt_db-slave.opt 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/rpl/t/rpl_rewrt_db-slave.opt 2019-04-26 12:37:02.000000000 +0000
@@ -1 +1 @@
-"--replicate-rewrite-db=test->rewrite" "--replicate-rewrite-db=mysqltest1->test" "--replicate-rewrite-db=database_master_temp_01->database_slave_temp_01" "--replicate-rewrite-db=database_master_temp_02->database_slave_temp_02" "--replicate-rewrite-db=database_master_temp_03->database_slave_temp_03"
+"--replicate-rewrite-db=test->rewrite" "--replicate-rewrite-db=mysqltest1 -> test" "--replicate-rewrite-db=x -> y" "--replicate-rewrite-db=database_master_temp_01->database_slave_temp_01" "--replicate-rewrite-db=database_master_temp_02->database_slave_temp_02" "--replicate-rewrite-db=database_master_temp_03->database_slave_temp_03"
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/rpl/t/rpl_rewrt_db.test mariadb-5.5-5.5.64/mysql-test/suite/rpl/t/rpl_rewrt_db.test
--- mariadb-5.5-5.5.63/mysql-test/suite/rpl/t/rpl_rewrt_db.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/rpl/t/rpl_rewrt_db.test 2019-04-26 12:37:02.000000000 +0000
@@ -2,20 +2,37 @@
-- source include/have_binlog_format_mixed_or_statement.inc
-- source include/master-slave.inc
+--connection slave
+set sql_log_bin=0;
+create database y;
+set sql_log_bin=1;
+
+--connection master
--disable_warnings
drop database if exists mysqltest1;
+drop database if exists x;
--enable_warnings
create database mysqltest1;
+set sql_log_bin=0;
+create database x;
+set sql_log_bin=1;
use mysqltest1;
create table t1 (a int);
insert into t1 values(9);
+use x;
+create table t1 (a int);
+insert into t1 values(9);
select * from mysqltest1.t1;
+select * from x.t1;
sync_slave_with_master;
+#TODO no it is no empty
show databases like 'mysqltest1'; # should be empty
select * from test.t1;
+select * from y.t1;
# cleanup
connection master;
+use mysqltest1;
drop table t1;
drop database mysqltest1;
sync_slave_with_master;
@@ -224,6 +241,7 @@
DROP DATABASE database_master_temp_01;
DROP DATABASE database_master_temp_02;
DROP DATABASE database_master_temp_03;
+DROP DATABASE x;
SET sql_log_bin= 1;
connection slave;
@@ -231,6 +249,7 @@
DROP DATABASE database_slave_temp_01;
DROP DATABASE database_slave_temp_02;
DROP DATABASE database_slave_temp_03;
+DROP DATABASE y;
SET sql_log_bin= 1;
connection master;
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/rpl/t/rpl_slave_invalid_external_user.test mariadb-5.5-5.5.64/mysql-test/suite/rpl/t/rpl_slave_invalid_external_user.test
--- mariadb-5.5-5.5.63/mysql-test/suite/rpl/t/rpl_slave_invalid_external_user.test 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/rpl/t/rpl_slave_invalid_external_user.test 2019-04-26 12:37:02.000000000 +0000
@@ -0,0 +1,42 @@
+# ==== Purpose ====
+#
+# Test verifies that when applier thread tries to access 'variable_name' of
+# INFORMATION_SCHEMA.SESSION_VARIABLES table through triggers it successfully
+# retrieves all the session variables.
+#
+# ==== Implementation ====
+#
+# Steps:
+# 0 - Create two tables t1 and t2.
+# 1 - Create a trigger such that it reads the names of all session variables
+# from INFORMATION_SCHEMA.SESSION_VARIABLES table and populates one of the
+# tables.
+# 2 - Do a DML on master and wait for it to be replicated and ensure that
+# slave is in sync with master and it is up and running.
+#
+# ==== References ====
+#
+# MDEV-14784: Slave crashes in show_status_array upon running a trigger with
+# select from I_S
+
+--source include/master-slave.inc
+--source include/have_binlog_format_mixed.inc
+--enable_connect_log
+CREATE USER test_user@localhost;
+SET PASSWORD FOR test_user@localhost = password('PWD');
+GRANT ALL ON *.* TO test_user@localhost WITH GRANT OPTION;
+connect(conn_test,localhost,test_user,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
+
+--connection conn_test
+CREATE TABLE t1 (f1 INT);
+CREATE TABLE t2 (f2 VARCHAR(64));
+CREATE TRIGGER tr_before BEFORE INSERT ON t1 FOR EACH ROW INSERT INTO t2 SELECT variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES;
+CREATE DEFINER='root'@'localhost' TRIGGER tr_after AFTER INSERT ON t1 FOR EACH ROW INSERT INTO t2 SELECT variable_name FROM INFORMATION_SCHEMA.SESSION_VARIABLES;
+
+INSERT INTO t1 VALUES (1);
+--disable_connect_log
+# Cleanup
+--connection master
+DROP USER 'test_user'@'localhost';
+DROP TABLE t1, t2;
+--source include/rpl_end.inc
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/storage_engine/vcol.result mariadb-5.5-5.5.64/mysql-test/suite/storage_engine/vcol.result
--- mariadb-5.5-5.5.63/mysql-test/suite/storage_engine/vcol.result 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/storage_engine/vcol.result 2019-04-26 12:37:02.000000000 +0000
@@ -7,8 +7,8 @@
INSERT INTO t1 (a) VALUES (1),(2);
INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
SELECT a,b FROM t1;
a b
1 2
@@ -24,8 +24,8 @@
INSERT INTO t1 (a) VALUES (1),(2);
INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
SELECT a,b FROM t1;
a b
1 2
@@ -41,8 +41,8 @@
INSERT INTO t1 (a) VALUES (1),(2);
INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
SELECT a,b FROM t1;
a b
1 2
@@ -58,8 +58,8 @@
INSERT INTO t1 (a) VALUES (1),(2);
INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
SELECT a,b FROM t1;
a b
1 2
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/vcol/r/vcol_ins_upd_innodb.result mariadb-5.5-5.5.64/mysql-test/suite/vcol/r/vcol_ins_upd_innodb.result
--- mariadb-5.5-5.5.63/mysql-test/suite/vcol/r/vcol_ins_upd_innodb.result 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/vcol/r/vcol_ins_upd_innodb.result 2019-04-26 12:37:02.000000000 +0000
@@ -25,8 +25,8 @@
# INSERT INTO tbl_name VALUES... a non-NULL value is specified against vcols
insert into t1 values (1,2,3);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
-Warning 1906 The value specified for computed column 'c' in table 't1' ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+Warning 1906 The value specified for computed column 'c' in table 't1' has been ignored
select * from t1;
a b c
1 -1 -1
@@ -65,8 +65,8 @@
# against vcols
insert into t1 (a,b) values (1,3), (2,4);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
select * from t1;
a b c
1 -1 -1
@@ -107,8 +107,8 @@
create table t2 like t1;
insert into t2 select * from t1;
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't2' ignored
-Warning 1906 The value specified for computed column 'c' in table 't2' ignored
+Warning 1906 The value specified for computed column 'b' in table 't2' has been ignored
+Warning 1906 The value specified for computed column 'c' in table 't2' has been ignored
select * from t1;
a b c
2 -2 -2
@@ -123,8 +123,8 @@
create table t2 like t1;
insert into t2 (a,b) select a,b from t1;
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't2' ignored
-Warning 1906 The value specified for computed column 'b' in table 't2' ignored
+Warning 1906 The value specified for computed column 'b' in table 't2' has been ignored
+Warning 1906 The value specified for computed column 'b' in table 't2' has been ignored
select * from t2;
a b c
2 -2 -2
@@ -159,7 +159,7 @@
2 -2 -2
update t1 set c=3 where a=2;
Warnings:
-Warning 1906 The value specified for computed column 'c' in table 't1' ignored
+Warning 1906 The value specified for computed column 'c' in table 't1' has been ignored
select * from t1;
a b c
1 -1 -1
@@ -189,7 +189,7 @@
2 -2 -2
update t1 set c=3 where b=-2;
Warnings:
-Warning 1906 The value specified for computed column 'c' in table 't1' ignored
+Warning 1906 The value specified for computed column 'c' in table 't1' has been ignored
select * from t1;
a b c
1 -1 -1
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/vcol/r/vcol_ins_upd_myisam.result mariadb-5.5-5.5.64/mysql-test/suite/vcol/r/vcol_ins_upd_myisam.result
--- mariadb-5.5-5.5.63/mysql-test/suite/vcol/r/vcol_ins_upd_myisam.result 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/vcol/r/vcol_ins_upd_myisam.result 2019-04-26 12:37:02.000000000 +0000
@@ -25,8 +25,8 @@
# INSERT INTO tbl_name VALUES... a non-NULL value is specified against vcols
insert into t1 values (1,2,3);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
-Warning 1906 The value specified for computed column 'c' in table 't1' ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+Warning 1906 The value specified for computed column 'c' in table 't1' has been ignored
select * from t1;
a b c
1 -1 -1
@@ -65,8 +65,8 @@
# against vcols
insert into t1 (a,b) values (1,3), (2,4);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
-Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
select * from t1;
a b c
1 -1 -1
@@ -107,8 +107,8 @@
create table t2 like t1;
insert into t2 select * from t1;
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't2' ignored
-Warning 1906 The value specified for computed column 'c' in table 't2' ignored
+Warning 1906 The value specified for computed column 'b' in table 't2' has been ignored
+Warning 1906 The value specified for computed column 'c' in table 't2' has been ignored
select * from t1;
a b c
2 -2 -2
@@ -123,8 +123,8 @@
create table t2 like t1;
insert into t2 (a,b) select a,b from t1;
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't2' ignored
-Warning 1906 The value specified for computed column 'b' in table 't2' ignored
+Warning 1906 The value specified for computed column 'b' in table 't2' has been ignored
+Warning 1906 The value specified for computed column 'b' in table 't2' has been ignored
select * from t2;
a b c
2 -2 -2
@@ -159,7 +159,7 @@
2 -2 -2
update t1 set c=3 where a=2;
Warnings:
-Warning 1906 The value specified for computed column 'c' in table 't1' ignored
+Warning 1906 The value specified for computed column 'c' in table 't1' has been ignored
select * from t1;
a b c
1 -1 -1
@@ -189,7 +189,7 @@
2 -2 -2
update t1 set c=3 where b=-2;
Warnings:
-Warning 1906 The value specified for computed column 'c' in table 't1' ignored
+Warning 1906 The value specified for computed column 'c' in table 't1' has been ignored
select * from t1;
a b c
1 -1 -1
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/vcol/r/vcol_misc.result mariadb-5.5-5.5.64/mysql-test/suite/vcol/r/vcol_misc.result
--- mariadb-5.5-5.5.63/mysql-test/suite/vcol/r/vcol_misc.result 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/vcol/r/vcol_misc.result 2019-04-26 12:37:02.000000000 +0000
@@ -108,10 +108,10 @@
CREATE TABLE t1 (p int, a double NOT NULL, v double AS (ROUND(a,p)) VIRTUAL);
INSERT INTO t1 VALUES (0,1,0);
Warnings:
-Warning 1906 The value specified for computed column 'v' in table 't1' ignored
+Warning 1906 The value specified for computed column 'v' in table 't1' has been ignored
INSERT INTO t1 VALUES (NULL,0,0);
Warnings:
-Warning 1906 The value specified for computed column 'v' in table 't1' ignored
+Warning 1906 The value specified for computed column 'v' in table 't1' has been ignored
SELECT a, p, v, ROUND(a,p), ROUND(a,p+NULL) FROM t1;
a p v ROUND(a,p) ROUND(a,p+NULL)
1 0 1 1 NULL
@@ -306,15 +306,15 @@
INSERT INTO `test`.`t1`(`a`,`b`,`c`,`d`) VALUES ( '1','a',NULL,NULL);
UPDATE `test`.`t1` SET `d`='b' WHERE `a`='1' AND `b`='a' AND `c`='1' AND `d`='a';
Warnings:
-Warning 1906 The value specified for computed column 'd' in table 't1' ignored
+Warning 1906 The value specified for computed column 'd' in table 't1' has been ignored
INSERT INTO `test`.`t1`(`a`,`b`,`c`,`d`) VALUES ( '1','a',NULL,'a');
Warnings:
-Warning 1906 The value specified for computed column 'd' in table 't1' ignored
+Warning 1906 The value specified for computed column 'd' in table 't1' has been ignored
set sql_mode='strict_all_tables';
UPDATE `test`.`t1` SET `d`='b' WHERE `a`='1' AND `b`='a' AND `c`='1' AND `d`='a';
-ERROR HY000: The value specified for computed column 'd' in table 't1' ignored
+ERROR HY000: The value specified for computed column 'd' in table 't1' has been ignored
INSERT INTO `test`.`t1`(`a`,`b`,`c`,`d`) VALUES ( '1','a',NULL,'a');
-ERROR HY000: The value specified for computed column 'd' in table 't1' ignored
+ERROR HY000: The value specified for computed column 'd' in table 't1' has been ignored
drop table t1;
#
# MDEV-5611: self-referencing virtual column
diff -Nru mariadb-5.5-5.5.63/mysql-test/suite/vcol/r/vcol_select_myisam.result mariadb-5.5-5.5.64/mysql-test/suite/vcol/r/vcol_select_myisam.result
--- mariadb-5.5-5.5.63/mysql-test/suite/vcol/r/vcol_select_myisam.result 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/suite/vcol/r/vcol_select_myisam.result 2019-04-26 12:37:02.000000000 +0000
@@ -273,9 +273,9 @@
CREATE TABLE t2 (a int, b int AS (a) VIRTUAL);
INSERT INTO t2 VALUES (187,187), (9,9), (187,187);
Warnings:
-Warning 1906 The value specified for computed column 'b' in table 't2' ignored
-Warning 1906 The value specified for computed column 'b' in table 't2' ignored
-Warning 1906 The value specified for computed column 'b' in table 't2' ignored
+Warning 1906 The value specified for computed column 'b' in table 't2' has been ignored
+Warning 1906 The value specified for computed column 'b' in table 't2' has been ignored
+Warning 1906 The value specified for computed column 'b' in table 't2' has been ignored
EXPLAIN EXTENDED
SELECT * FROM t1 JOIN t2 USING (b);
id select_type table type possible_keys key key_len ref rows filtered Extra
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/ddl_i18n_koi8r.test mariadb-5.5-5.5.64/mysql-test/t/ddl_i18n_koi8r.test
--- mariadb-5.5-5.5.63/mysql-test/t/ddl_i18n_koi8r.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/ddl_i18n_koi8r.test 2019-04-26 12:37:02.000000000 +0000
@@ -821,7 +821,7 @@
# - Event ev1
-CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT ev1 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE 1 CHAR(10);
@@ -838,7 +838,7 @@
# - Event ev2
-CREATE EVENT ev2 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT ev2 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
@@ -855,7 +855,7 @@
# - Event ev3
-CREATE EVENT mysqltest2.ev3 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT mysqltest2.ev3 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
@@ -872,7 +872,7 @@
# - Event ev4
-CREATE EVENT mysqltest2.ev4 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT mysqltest2.ev4 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE 1 CHAR(10) CHARACTER SET utf8;
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/ddl_i18n_utf8.test mariadb-5.5-5.5.64/mysql-test/t/ddl_i18n_utf8.test
--- mariadb-5.5-5.5.63/mysql-test/t/ddl_i18n_utf8.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/ddl_i18n_utf8.test 2019-04-26 12:37:02.000000000 +0000
@@ -821,7 +821,7 @@
# - Event ev1
-CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT ev1 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE перем1 CHAR(10);
@@ -838,7 +838,7 @@
# - Event ev2
-CREATE EVENT ev2 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT ev2 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
@@ -855,7 +855,7 @@
# - Event ev3
-CREATE EVENT mysqltest2.ev3 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT mysqltest2.ev3 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
@@ -872,7 +872,7 @@
# - Event ev4
-CREATE EVENT mysqltest2.ev4 ON SCHEDULE AT '2030-01-01 00:00:00' DO
+CREATE EVENT mysqltest2.ev4 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO
BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/events_1.test mariadb-5.5-5.5.64/mysql-test/t/events_1.test
--- mariadb-5.5-5.5.63/mysql-test/t/events_1.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/events_1.test 2019-04-26 12:37:02.000000000 +0000
@@ -67,7 +67,7 @@
CREATE EVENT event_starts_test ON SCHEDULE EVERY 10 SECOND COMMENT "" DO SELECT 1;
SELECT interval_field, interval_value, body FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
-ALTER EVENT event_starts_test ON SCHEDULE AT '2020-02-02 20:00:02';
+ALTER EVENT event_starts_test ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE;
SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
ALTER EVENT event_starts_test COMMENT "non-empty comment";
SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
@@ -75,7 +75,7 @@
SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
DROP EVENT event_starts_test;
-CREATE EVENT event_starts_test ON SCHEDULE EVERY 20 SECOND STARTS '2020-02-02 20:00:02' ENDS '2022-02-02 20:00:02' DO SELECT 2;
+CREATE EVENT event_starts_test ON SCHEDULE EVERY 20 SECOND STARTS '1970-01-02 00:00:00' ENDS '1970-01-03 00:00:00' ON COMPLETION PRESERVE DISABLE DO SELECT 2;
SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
ALTER EVENT event_starts_test COMMENT "non-empty comment";
SELECT execute_at IS NULL, starts IS NULL, ends IS NULL, comment FROM mysql.event WHERE db='events_test' AND name='event_starts_test';
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/grant4.test mariadb-5.5-5.5.64/mysql-test/t/grant4.test
--- mariadb-5.5-5.5.63/mysql-test/t/grant4.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/grant4.test 2019-04-26 12:37:02.000000000 +0000
@@ -144,3 +144,29 @@
disconnect con1;
drop database mysqltest_db1;
drop user mysqltest_u1@localhost;
+
+#
+# MDEV-18241 Downgrade from 10.4 to 10.3 crashes
+#
+call mtr.add_suppression("Table 'mysql.user' doesn't exist");
+rename table mysql.user to mysql.user1;
+create view mysql.user as select * from mysql.user1;
+--error ER_NO_SUCH_TABLE
+flush privileges;
+drop view mysql.user;
+create temporary table mysql.user select * from mysql.user1 limit 0;
+--error ER_NO_SUCH_TABLE
+flush privileges;
+drop temporary table mysql.user;
+rename table mysql.user1 to mysql.user;
+
+#
+# Bug#28986737: RENAMING AND REPLACING MYSQL.USER TABLE CAN LEAD TO A SERVER CRASH
+#
+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));
+--error ER_UNKNOWN_ERROR
+flush privileges;
+drop table mysql.user;
+rename table mysql.user1 to mysql.user;
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/information_schema_prepare.test mariadb-5.5-5.5.64/mysql-test/t/information_schema_prepare.test
--- mariadb-5.5-5.5.63/mysql-test/t/information_schema_prepare.test 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/information_schema_prepare.test 2019-04-26 12:37:02.000000000 +0000
@@ -0,0 +1,7 @@
+#
+# MDEV-15907 ASAN heap-use-after-free in strnmov / .. / fill_effective_table_privileges on concurrent GRANT and CREATE VIEW
+#
+PREPARE stmt2 FROM "CREATE VIEW v AS SELECT * FROM INFORMATION_SCHEMA.TABLES";
+FLUSH PRIVILEGES;
+EXECUTE stmt2;
+DROP VIEW v;
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/insert.test mariadb-5.5-5.5.64/mysql-test/t/insert.test
--- mariadb-5.5-5.5.63/mysql-test/t/insert.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/insert.test 2019-04-26 12:37:02.000000000 +0000
@@ -1,5 +1,5 @@
#
-# Test of refering to old values
+# Test of referring to old values
#
--disable_warnings
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/loaddata.test mariadb-5.5-5.5.64/mysql-test/t/loaddata.test
--- mariadb-5.5-5.5.63/mysql-test/t/loaddata.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/loaddata.test 2019-04-26 12:37:02.000000000 +0000
@@ -676,3 +676,48 @@
LOAD DATA INFILE '../../std_data/loaddata/mdev-11631.txt' INTO TABLE t1 CHARACTER SET utf8;
SELECT HEX(a) FROM t1;
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-15744: Assertion `derived->table' failed in mysql_derived_merge_for_insert
+--echo #
+
+create table t1 (a int, b int);
+CREATE OR REPLACE VIEW t2 AS SELECT * FROM t1;
+CREATE VIEW v2 AS SELECT * FROM t2;
+LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE v2
+ FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
+select * from v2;
+select * from t2;
+DROP VIEW IF EXISTS v2,t2;
+DROP TABLE IF EXISTS t1;
+
+--echo #
+--echo # MDEV-15950: LOAD DATA INTO compex_view crashed
+--echo #
+create table t1 (a int, b int);
+create table t0 (x int, y int);
+CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1,t0;
+CREATE VIEW v2 AS SELECT * FROM v1;
+
+--error ER_WRONG_USAGE
+LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE v1
+FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
+
+--error ER_WRONG_USAGE
+LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE v2
+FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
+
+DROP VIEW IF EXISTS v2,v1;
+DROP TABLE IF EXISTS t1,t0;
+
+CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a), UNIQUE(b));
+INSERT INTO t1 VALUES (1,1);
+CREATE TABLE t2 (c INT);
+CREATE VIEW v AS SELECT t1.* FROM t1 JOIN t2;
+SELECT a, b FROM t1 INTO OUTFILE '15645.data';
+--error ER_WRONG_USAGE
+LOAD DATA INFILE '15645.data' IGNORE INTO TABLE v (a,b);
+--error ER_WRONG_USAGE
+LOAD DATA INFILE '15645.data' REPLACE INTO TABLE v (a,b);
+drop table t1,t2;
+drop view v;
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/multi_update2-master.opt mariadb-5.5-5.5.64/mysql-test/t/multi_update2-master.opt
--- mariadb-5.5-5.5.63/mysql-test/t/multi_update2-master.opt 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/multi_update2-master.opt 1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
---tmp_table_size=1024
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/multi_update2.test mariadb-5.5-5.5.64/mysql-test/t/multi_update2.test
--- mariadb-5.5-5.5.63/mysql-test/t/multi_update2.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/multi_update2.test 1970-01-01 00:00:00.000000000 +0000
@@ -1,78 +0,0 @@
---source include/long_test.inc
-
-#
-# Test of update statement that uses many tables.
-#
-
-#
-# If we are running with
-# - Valgrind -> $VALGRIND_TEST <> 0
-# - debug tracing -> @@session.debug LIKE '%trace%'
-# the resource consumption (storage space needed, runtime) will be extreme.
-# Therefore we require that the option "--big-test" is also set.
-#
-
-let $need_big= 0;
---disable_query_log
---error 0,ER_UNKNOWN_SYSTEM_VARIABLE
-SET @aux = @@session.debug;
-if (!$mysql_errno)
-{
- # We have returncode 0 = the server system variable @@session.debug exists.
- # But we only need "--big-test" in case of tracing.
- if (`SELECT @@session.debug LIKE '%trace%'`)
- {
- let $need_big= 1;
- }
-}
---enable_query_log
-if ($VALGRIND_TEST)
-{
- # We are running with Valgrind
- inc $need_big;
-}
-if (`SELECT '$BIG_TEST' = '' AND $need_big = 1`)
-{
- --skip Need "--big-test" when running with the option "--debug" or "--valgrind"
-}
-
-#
-# Bug#1820 Rows not deleted from second table on multi-table delete
-#
-
---disable_warnings
-DROP TABLE IF EXISTS t1,t2;
---enable_warnings
-
-CREATE TABLE t1 ( a INT NOT NULL, b INT NOT NULL) ;
---echo # The protocolling of many inserts into t1 is suppressed.
---disable_query_log
-INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4);
-let $1=19;
-set @d=4;
-begin;
-while ($1)
-{
- eval INSERT INTO t1 SELECT a+@d,b+@d FROM t1;
- eval SET @d=@d*2;
- dec $1;
-}
-commit;
---enable_query_log
-ALTER TABLE t1 ADD INDEX i1(a);
-DELETE FROM t1 WHERE a > 2000000;
-CREATE TABLE t2 LIKE t1;
-INSERT INTO t2 SELECT * FROM t1;
-
-SELECT 't2 rows before small delete', COUNT(*) FROM t1;
-DELETE t1,t2 FROM t1,t2 WHERE t1.b=t2.a AND t1.a < 2;
-SELECT 't2 rows after small delete', COUNT(*) FROM t2;
-SELECT 't1 rows after small delete', COUNT(*) FROM t1;
-
-## Try deleting many rows
-
-DELETE t1,t2 FROM t1,t2 WHERE t1.b=t2.a AND t1.a < 100*1000;
-SELECT 't2 rows after big delete', COUNT(*) FROM t2;
-SELECT 't1 rows after big delete', COUNT(*) FROM t1;
-
-DROP TABLE t1,t2;
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/multi_update_big.opt mariadb-5.5-5.5.64/mysql-test/t/multi_update_big.opt
--- mariadb-5.5-5.5.63/mysql-test/t/multi_update_big.opt 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/multi_update_big.opt 2019-04-26 12:37:02.000000000 +0000
@@ -0,0 +1 @@
+--tmp_table_size=1024
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/multi_update_big.test mariadb-5.5-5.5.64/mysql-test/t/multi_update_big.test
--- mariadb-5.5-5.5.63/mysql-test/t/multi_update_big.test 1970-01-01 00:00:00.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/multi_update_big.test 2019-04-26 12:37:02.000000000 +0000
@@ -0,0 +1,78 @@
+--source include/long_test.inc
+
+#
+# Test of update statement that uses many tables.
+#
+
+#
+# If we are running with
+# - Valgrind -> $VALGRIND_TEST <> 0
+# - debug tracing -> @@session.debug LIKE '%trace%'
+# the resource consumption (storage space needed, runtime) will be extreme.
+# Therefore we require that the option "--big-test" is also set.
+#
+
+let $need_big= 0;
+--disable_query_log
+--error 0,ER_UNKNOWN_SYSTEM_VARIABLE
+SET @aux = @@session.debug;
+if (!$mysql_errno)
+{
+ # We have returncode 0 = the server system variable @@session.debug exists.
+ # But we only need "--big-test" in case of tracing.
+ if (`SELECT @@session.debug LIKE '%trace%'`)
+ {
+ let $need_big= 1;
+ }
+}
+--enable_query_log
+if ($VALGRIND_TEST)
+{
+ # We are running with Valgrind
+ inc $need_big;
+}
+if (`SELECT '$BIG_TEST' = '' AND $need_big = 1`)
+{
+ --skip Need "--big-test" when running with the option "--debug" or "--valgrind"
+}
+
+#
+# Bug#1820 Rows not deleted from second table on multi-table delete
+#
+
+--disable_warnings
+DROP TABLE IF EXISTS t1,t2;
+--enable_warnings
+
+CREATE TABLE t1 ( a INT NOT NULL, b INT NOT NULL) ;
+--echo # The protocolling of many inserts into t1 is suppressed.
+--disable_query_log
+INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4);
+let $1=19;
+set @d=4;
+begin;
+while ($1)
+{
+ eval INSERT INTO t1 SELECT a+@d,b+@d FROM t1;
+ eval SET @d=@d*2;
+ dec $1;
+}
+commit;
+--enable_query_log
+ALTER TABLE t1 ADD INDEX i1(a);
+DELETE FROM t1 WHERE a > 2000000;
+CREATE TABLE t2 LIKE t1;
+INSERT INTO t2 SELECT * FROM t1;
+
+SELECT 't2 rows before small delete', COUNT(*) FROM t1;
+DELETE t1,t2 FROM t1,t2 WHERE t1.b=t2.a AND t1.a < 2;
+SELECT 't2 rows after small delete', COUNT(*) FROM t2;
+SELECT 't1 rows after small delete', COUNT(*) FROM t1;
+
+## Try deleting many rows
+
+DELETE t1,t2 FROM t1,t2 WHERE t1.b=t2.a AND t1.a < 100*1000;
+SELECT 't2 rows after big delete', COUNT(*) FROM t2;
+SELECT 't1 rows after big delete', COUNT(*) FROM t1;
+
+DROP TABLE t1,t2;
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/multi_update.test mariadb-5.5-5.5.64/mysql-test/t/multi_update.test
--- mariadb-5.5-5.5.63/mysql-test/t/multi_update.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/multi_update.test 2019-04-26 12:37:02.000000000 +0000
@@ -1055,5 +1055,36 @@
drop view v3,v2,v1;
drop table t1,t2,t3;
+
+#
+# MDEV-18507 can't update temporary table when joined with table with triggers on read-only
+#
+create table t1 (id int not null, v1 varchar(10) not null);
+insert into t1 values (1,1),(2,2);
+create table t2 (log varchar(10) not null);
+create trigger t1_after_update after update on t1
+ for each row insert into t2 values ('triggered');
+
+create user foo;
+grant select, insert, update, delete, create, drop, reload, index, alter, show databases, create temporary tables, lock tables, execute, create view, show view, create routine, alter routine, trigger on *.* to 'foo'@'%';
+
+set global read_only=1;
+connect a, localhost, foo;
+
+create temporary table temp_t1 (id int not null, update_me varchar(10));
+insert into temp_t1 values (1,1),(2,2),(3,3);
+update temp_t1 left join t1 on temp_t1.id = t1.id set temp_t1.update_me = 'hello';
+
+connection default;
+set global read_only = 0;
+
+create table t3 (id int not null);
+insert t3 values (2);
+update t1 left join t3 on t1.id = t3.id set t1.v1 = 'hello';
+select * from t2;
+
+drop table t1,t2, t3;
+drop user foo;
+
--echo end of 5.5 tests
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/mysql.test mariadb-5.5-5.5.64/mysql-test/t/mysql.test
--- mariadb-5.5-5.5.63/mysql-test/t/mysql.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/mysql.test 2019-04-26 12:37:02.000000000 +0000
@@ -678,3 +678,9 @@
--exec $MYSQL --disable-local-infile -e "/*q*/$ldli"
select count(*) from t1; truncate table t1;
drop table t1;
+
+
+--echo #
+--echo # MDEV-15538 '-N' Produce html output wrong
+--echo #
+--exec $MYSQL -NHe "select 1 as a"
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/show_check.test mariadb-5.5-5.5.64/mysql-test/t/show_check.test
--- mariadb-5.5-5.5.63/mysql-test/t/show_check.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/show_check.test 2019-04-26 12:37:02.000000000 +0000
@@ -1156,7 +1156,7 @@
FOR EACH ROW
SET NEW.c1 = '';
-CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO SELECT '' AS test;
+CREATE EVENT ev1 ON SCHEDULE AT '1970-01-02 00:00:00' ON COMPLETION PRESERVE DISABLE DO SELECT '' AS test;
# Test: switch the character set and show that SHOW CREATE output is
# automatically converted to the new character_set_client.
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/sp.test mariadb-5.5-5.5.64/mysql-test/t/sp.test
--- mariadb-5.5-5.5.63/mysql-test/t/sp.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/sp.test 2019-04-26 12:37:02.000000000 +0000
@@ -9373,5 +9373,56 @@
DROP PROCEDURE sp;
DROP TABLE t1;
+--echo #
+--echo # MDEV-17055: Server crashes in find_order_in_list upon
+--echo # 2nd (3rd) execution of SP with UPDATE
+--echo #
+
+CREATE TABLE t1 (a INT);
+CREATE VIEW v1 AS SELECT * FROM t1;
+CREATE TABLE t2 (c INT);
+
+CREATE PROCEDURE sp() UPDATE v1 SET a = 1 ORDER BY a, b LIMIT 1;
+LOCK TABLE t2 READ;
+--error ER_TABLE_NOT_LOCKED
+CALL sp;
+UNLOCK TABLES;
+--error ER_BAD_FIELD_ERROR
+CALL sp;
+--error ER_BAD_FIELD_ERROR
+CALL sp;
+--error ER_BAD_FIELD_ERROR
+CALL sp;
+
+# Cleanup
+DROP PROCEDURE sp;
+
+CREATE PROCEDURE sp() UPDATE v1 SET a = 1 WHERE a=1 and b=2;
+LOCK TABLE t2 READ;
+--error ER_TABLE_NOT_LOCKED
+CALL sp;
+UNLOCK TABLES;
+--error ER_BAD_FIELD_ERROR
+CALL sp;
+--error ER_BAD_FIELD_ERROR
+CALL sp;
+--error ER_BAD_FIELD_ERROR
+CALL sp;
+
+# Cleanup
+DROP PROCEDURE sp;
+
+DROP VIEW v1;
+DROP TABLE t1, t2;
--echo # End of 5.5 test
+
+#MDEV-17610
+CREATE PROCEDURE sp() ALTER TABLE non_existing_table OPTIMIZE PARTITION p0;
+CALL sp;
+SELECT 1;
+DROP PROCEDURE sp;
+CREATE PROCEDURE sp() SHOW USER_STATISTICS;
+CALL sp;
+SELECT 1;
+DROP PROCEDURE sp;
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/subselect_sj.test mariadb-5.5-5.5.64/mysql-test/t/subselect_sj.test
--- mariadb-5.5-5.5.63/mysql-test/t/subselect_sj.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/subselect_sj.test 2019-04-26 12:37:02.000000000 +0000
@@ -2869,6 +2869,16 @@
drop view v3;
drop table t1,t2,t3;
+--echo #
+--echo # MDEV-18896: IN subquery in WHERE of a table-less query used for INSERT
+--echo #
+
+create table t1 (a1 varchar(25));
+create table t2 (a2 varchar(25)) ;
+insert into t1 select 'xxx' from dual where 'xxx' in (select a2 from t2);
+
+drop table t1,t2;
+
--echo # End of 5.5 test
# The following command must be the last one the file
diff -Nru mariadb-5.5-5.5.63/mysql-test/t/view_grant.test mariadb-5.5-5.5.64/mysql-test/t/view_grant.test
--- mariadb-5.5-5.5.63/mysql-test/t/view_grant.test 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/mysql-test/t/view_grant.test 2019-04-26 12:37:02.000000000 +0000
@@ -240,12 +240,15 @@
insert into mysqltest.t1 values (10,2), (20,3), (30,4), (40,5), (50,10);
create table mysqltest.t2 (x int);
insert into mysqltest.t2 values (3), (4), (5), (6);
+create table mysqltest.t3 (x int);
+insert into mysqltest.t3 values (3), (4), (5), (6);
create view mysqltest.v1 (a,c) as select a, b+1 from mysqltest.t1;
create view mysqltest.v2 (a,c) as select a, b from mysqltest.t1;
create view mysqltest.v3 (a,c) as select a, b+1 from mysqltest.t1;
grant update (a) on mysqltest.v2 to mysqltest_1@localhost;
grant update on mysqltest.v1 to mysqltest_1@localhost;
+grant update on mysqltest.t3 to mysqltest_1@localhost;
grant select on mysqltest.* to mysqltest_1@localhost;
connection user1;
@@ -260,6 +263,8 @@
select * from t1;
update v2 set a=a+c;
select * from t1;
+# update a table, select only on view
+update t3,v3 set t3.x=t3.x+v3.c where t3.x=v3.c;
# no rights on column
--error ER_COLUMNACCESS_DENIED_ERROR
update t2,v2 set v2.c=v2.a+v2.c where t2.x=v2.c;
diff -Nru mariadb-5.5-5.5.63/sql/handler.cc mariadb-5.5-5.5.64/sql/handler.cc
--- mariadb-5.5-5.5.63/sql/handler.cc 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/handler.cc 2019-04-26 12:37:02.000000000 +0000
@@ -1740,6 +1740,7 @@
for (info.len= MAX_XID_LIST_SIZE ;
info.list==0 && info.len > MIN_XID_LIST_SIZE; info.len/=2)
{
+ DBUG_EXECUTE_IF("min_xa_len", info.len = 16;);
info.list=(XID *)my_malloc(info.len*sizeof(XID), MYF(0));
}
if (!info.list)
diff -Nru mariadb-5.5-5.5.63/sql/log_event.cc mariadb-5.5-5.5.64/sql/log_event.cc
--- mariadb-5.5-5.5.63/sql/log_event.cc 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/log_event.cc 2019-04-26 12:37:02.000000000 +0000
@@ -1,6 +1,6 @@
/*
- Copyright (c) 2000, 2018, Oracle and/or its affiliates.
- Copyright (c) 2009, 2018, MariaDB
+ Copyright (c) 2000, 2019, Oracle and/or its affiliates.
+ Copyright (c) 2009, 2019, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -48,6 +48,7 @@
#include "transaction.h"
#include
#include "sql_show.h" // append_identifier
+#include "debug_sync.h" // debug_sync
#endif /* MYSQL_CLIENT */
@@ -8512,25 +8513,28 @@
/* A small test to verify that objects have consistent types */
DBUG_ASSERT(sizeof(thd->variables.option_bits) == sizeof(OPTION_RELAXED_UNIQUE_CHECKS));
+ DBUG_EXECUTE_IF("rows_log_event_before_open_table",
+ {
+ const char action[] = "now SIGNAL before_open_table WAIT_FOR go_ahead_sql";
+ DBUG_ASSERT(!debug_sync_set_action(thd, STRING_WITH_LEN(action)));
+ };);
+
if (open_and_lock_tables(thd, rli->tables_to_lock, FALSE, 0))
{
- uint actual_error= thd->stmt_da->sql_errno();
- if (thd->is_slave_error || thd->is_fatal_error)
+ if (thd->is_error())
{
/*
Error reporting borrowed from Query_log_event with many excessive
- simplifications.
+ simplifications.
We should not honour --slave-skip-errors at this point as we are
- having severe errors which should not be skiped.
+ having severe errors which should not be skipped.
*/
- rli->report(ERROR_LEVEL, actual_error,
+ rli->report(ERROR_LEVEL, thd->stmt_da->sql_errno(),
"Error executing row event: '%s'",
- (actual_error ? thd->stmt_da->message() :
- "unexpected success or fatal error"));
+ thd->stmt_da->message());
thd->is_slave_error= 1;
}
- const_cast(rli)->slave_close_thread_tables(thd);
- DBUG_RETURN(actual_error);
+ DBUG_RETURN(1);
}
/*
diff -Nru mariadb-5.5-5.5.63/sql/log_event_old.cc mariadb-5.5-5.5.64/sql/log_event_old.cc
--- mariadb-5.5-5.5.63/sql/log_event_old.cc 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/log_event_old.cc 2019-04-26 12:37:02.000000000 +0000
@@ -1,5 +1,5 @@
-/* Copyright (c) 2007, 2018, Oracle and/or its affiliates.
- Copyright (c) 2009, 2018, MariaDB
+/* Copyright (c) 2007, 2019, Oracle and/or its affiliates.
+ Copyright (c) 2009, 2019, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -100,21 +100,20 @@
if (open_and_lock_tables(ev_thd, rli->tables_to_lock, FALSE, 0))
{
- uint actual_error= ev_thd->stmt_da->sql_errno();
- if (ev_thd->is_slave_error || ev_thd->is_fatal_error)
+ if (ev_thd->is_error())
{
/*
Error reporting borrowed from Query_log_event with many excessive
- simplifications (we don't honour --slave-skip-errors)
+ simplifications.
+ We should not honour --slave-skip-errors at this point as we are
+ having severe errors which should not be skipped.
*/
- rli->report(ERROR_LEVEL, actual_error,
+ rli->report(ERROR_LEVEL, ev_thd->stmt_da->sql_errno(),
"Error '%s' on opening tables",
- (actual_error ? ev_thd->stmt_da->message() :
- "unexpected success or fatal error"));
+ ev_thd->stmt_da->message());
ev_thd->is_slave_error= 1;
}
- const_cast(rli)->slave_close_thread_tables(thd);
- DBUG_RETURN(actual_error);
+ DBUG_RETURN(1);
}
/*
diff -Nru mariadb-5.5-5.5.63/sql/mysqld.cc mariadb-5.5-5.5.64/sql/mysqld.cc
--- mariadb-5.5-5.5.63/sql/mysqld.cc 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/mysqld.cc 2019-04-26 12:37:02.000000000 +0000
@@ -7596,7 +7596,8 @@
val= p--;
while (my_isspace(mysqld_charset, *p) && p > argument)
*p-- = 0;
- if (p == argument)
+ /* Db name can be one char also */
+ if (p == argument && my_isspace(mysqld_charset, *p))
{
sql_print_error("Bad syntax in replicate-rewrite-db - empty FROM db!\n");
return 1;
diff -Nru mariadb-5.5-5.5.63/sql/opt_subselect.cc mariadb-5.5-5.5.64/sql/opt_subselect.cc
--- mariadb-5.5-5.5.63/sql/opt_subselect.cc 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/opt_subselect.cc 2019-04-26 12:37:02.000000000 +0000
@@ -675,7 +675,7 @@
select_lex->outer_select()->join && // 6
parent_unit->first_select()->leaf_tables.elements && // 7
!in_subs->has_strategy() && // 8
- select_lex->outer_select()->leaf_tables.elements && // 9
+ select_lex->outer_select()->table_list.first && // 9
!((join->select_options | // 10
select_lex->outer_select()->join->select_options) // 10
& SELECT_STRAIGHT_JOIN)) // 10
diff -Nru mariadb-5.5-5.5.63/sql/share/errmsg-utf8.txt mariadb-5.5-5.5.64/sql/share/errmsg-utf8.txt
--- mariadb-5.5-5.5.63/sql/share/errmsg-utf8.txt 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/share/errmsg-utf8.txt 2019-04-26 12:37:02.000000000 +0000
@@ -6511,7 +6511,7 @@
ER_WRONG_FK_OPTION_FOR_VIRTUAL_COLUMN
eng "Cannot define foreign key with %s clause on a computed column"
ER_WARNING_NON_DEFAULT_VALUE_FOR_VIRTUAL_COLUMN
- eng "The value specified for computed column '%s' in table '%s' ignored"
+ eng "The value specified for computed column '%s' in table '%s' has been ignored"
ER_UNSUPPORTED_ACTION_ON_VIRTUAL_COLUMN
eng "This is not yet supported for computed columns"
ER_CONST_EXPR_IN_VCOL
diff -Nru mariadb-5.5-5.5.63/sql/sp_head.cc mariadb-5.5-5.5.64/sql/sp_head.cc
--- mariadb-5.5-5.5.63/sql/sp_head.cc 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sp_head.cc 2019-04-26 12:37:02.000000000 +0000
@@ -563,6 +563,7 @@
DBUG_ENTER("sp_head::sp_head");
+ m_security_ctx.init();
m_backpatch.empty();
m_cont_backpatch.empty();
m_lex.empty();
@@ -4249,6 +4250,7 @@
table->table_name_length= stab->table_name_length;
table->alias= table->table_name + table->table_name_length + 1;
table->lock_type= stab->lock_type;
+ table->updating= stab->lock_type >= TL_WRITE_ALLOW_WRITE;
table->cacheable_table= 1;
table->prelocking_placeholder= 1;
table->belong_to_view= belong_to_view;
diff -Nru mariadb-5.5-5.5.63/sql/sql_acl.cc mariadb-5.5-5.5.64/sql/sql_acl.cc
--- mariadb-5.5-5.5.63/sql/sql_acl.cc 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_acl.cc 2019-04-26 12:37:02.000000000 +0000
@@ -825,6 +825,14 @@
goto end;
table->use_all_columns();
+
+ if (table->s->fields < 13) // number of columns in 3.21
+ {
+ sql_print_error("Fatal error: mysql.user table is damaged or in "
+ "unsupported 3.20 format.");
+ goto end;
+ }
+
username_char_length= min(table->field[1]->char_length(), USERNAME_CHAR_LENGTH);
password_length= table->field[2]->field_length /
table->field[2]->charset()->mbmaxlen;
@@ -1150,6 +1158,20 @@
}
+static void fix_table_list(TABLE_LIST *tl, uint n)
+{
+ TABLE_LIST *end;
+ for (end= tl + n - 1; tl < end; tl++)
+ {
+ tl->i_s_requested_object= OPEN_TABLE_ONLY;
+ tl->open_type= OT_BASE_ONLY;
+ tl->next_local= tl->next_global= tl + 1;
+ }
+ tl->i_s_requested_object= OPEN_TABLE_ONLY;
+ tl->open_type= OT_BASE_ONLY;
+}
+
+
/*
Forget current user/db-level privileges and read new privileges
from the privilege tables.
@@ -1191,11 +1213,7 @@
tables[3].init_one_table(C_STRING_WITH_LEN("mysql"),
C_STRING_WITH_LEN("proxies_priv"),
"proxies_priv", TL_READ);
- tables[0].next_local= tables[0].next_global= tables + 1;
- tables[1].next_local= tables[1].next_global= tables + 2;
- tables[2].next_local= tables[2].next_global= tables + 3;
- tables[0].open_type= tables[1].open_type= tables[2].open_type=
- tables[3].open_type= OT_BASE_ONLY;
+ fix_table_list(tables, 4);
tables[3].open_strategy= TABLE_LIST::OPEN_IF_EXISTS;
if (open_and_lock_tables(thd, tables, FALSE, MYSQL_LOCK_IGNORE_TIMEOUT))
@@ -1921,6 +1939,7 @@
DBUG_RETURN(1);
tables.init_one_table("mysql", 5, "user", 4, "user", TL_WRITE);
+ fix_table_list(&tables, 1);
#ifdef HAVE_REPLICATION
/*
@@ -2282,6 +2301,7 @@
ulong db_access;
tl.init_one_table(C_STRING_WITH_LEN("mysql"),
C_STRING_WITH_LEN("user"), "user", TL_WRITE);
+ fix_table_list(&tl, 1);
create_new_users= 1;
db_access=acl_get(sctx->host, sctx->ip,
@@ -3689,10 +3709,11 @@
tables[2].init_one_table(C_STRING_WITH_LEN("mysql"),
C_STRING_WITH_LEN("columns_priv"),
"columns_priv", TL_WRITE);
- tables[0].next_local= tables[0].next_global= tables+1;
/* Don't open column table if we don't need it ! */
if (column_priv || (revoke_grant && ((rights & COL_ACLS) || columns.elements)))
- tables[1].next_local= tables[1].next_global= tables+2;
+ fix_table_list(tables, 3);
+ else
+ fix_table_list(tables, 2);
/*
This statement will be replicated as a statement, even when using
@@ -3930,7 +3951,7 @@
C_STRING_WITH_LEN("user"), "user", TL_WRITE);
tables[1].init_one_table(C_STRING_WITH_LEN("mysql"),
C_STRING_WITH_LEN("procs_priv"), "procs_priv", TL_WRITE);
- tables[0].next_local= tables[0].next_global= tables+1;
+ fix_table_list(tables, 2);
/*
This statement will be replicated as a statement, even when using
@@ -4104,7 +4125,7 @@
C_STRING_WITH_LEN("db"),
"db",
TL_WRITE);
- tables[0].next_local= tables[0].next_global= tables+1;
+ fix_table_list(tables, 2);
/*
This statement will be replicated as a statement, even when using
@@ -4525,10 +4546,7 @@
tables[2].init_one_table(C_STRING_WITH_LEN("mysql"),
C_STRING_WITH_LEN("procs_priv"),
"procs_priv", TL_READ);
-
- tables[0].next_local= tables[0].next_global= tables+1;
- tables[1].next_local= tables[1].next_global= tables+2;
- tables[0].open_type= tables[1].open_type= tables[2].open_type= OT_BASE_ONLY;
+ fix_table_list(tables, 3);
/*
Reload will work in the following manner:-
@@ -5864,29 +5882,24 @@
DBUG_RETURN(-1);
}
- tables->init_one_table(C_STRING_WITH_LEN("mysql"),
- C_STRING_WITH_LEN("user"), "user", TL_WRITE);
- (tables+1)->init_one_table(C_STRING_WITH_LEN("mysql"),
- C_STRING_WITH_LEN("db"), "db", TL_WRITE);
- (tables+2)->init_one_table(C_STRING_WITH_LEN("mysql"),
- C_STRING_WITH_LEN("tables_priv"),
- "tables_priv", TL_WRITE);
- (tables+3)->init_one_table(C_STRING_WITH_LEN("mysql"),
- C_STRING_WITH_LEN("columns_priv"),
- "columns_priv", TL_WRITE);
- (tables+4)->init_one_table(C_STRING_WITH_LEN("mysql"),
- C_STRING_WITH_LEN("procs_priv"),
- "procs_priv", TL_WRITE);
- (tables+5)->init_one_table(C_STRING_WITH_LEN("mysql"),
- C_STRING_WITH_LEN("proxies_priv"),
- "proxies_priv", TL_WRITE);
+ tables[0].init_one_table(C_STRING_WITH_LEN("mysql"),
+ C_STRING_WITH_LEN("user"), "user", TL_WRITE);
+ tables[1].init_one_table(C_STRING_WITH_LEN("mysql"),
+ C_STRING_WITH_LEN("db"), "db", TL_WRITE);
+ tables[2].init_one_table(C_STRING_WITH_LEN("mysql"),
+ C_STRING_WITH_LEN("tables_priv"),
+ "tables_priv", TL_WRITE);
+ tables[3].init_one_table(C_STRING_WITH_LEN("mysql"),
+ C_STRING_WITH_LEN("columns_priv"),
+ "columns_priv", TL_WRITE);
+ tables[4].init_one_table(C_STRING_WITH_LEN("mysql"),
+ C_STRING_WITH_LEN("procs_priv"),
+ "procs_priv", TL_WRITE);
+ tables[5].init_one_table(C_STRING_WITH_LEN("mysql"),
+ C_STRING_WITH_LEN("proxies_priv"),
+ "proxies_priv", TL_WRITE);
tables[5].open_strategy= TABLE_LIST::OPEN_IF_EXISTS;
-
- tables->next_local= tables->next_global= tables + 1;
- (tables+1)->next_local= (tables+1)->next_global= tables + 2;
- (tables+2)->next_local= (tables+2)->next_global= tables + 3;
- (tables+3)->next_local= (tables+3)->next_global= tables + 4;
- (tables+4)->next_local= (tables+4)->next_global= tables + 5;
+ fix_table_list(tables, 6);
#ifdef HAVE_REPLICATION
/*
diff -Nru mariadb-5.5-5.5.63/sql/sql_base.cc mariadb-5.5-5.5.64/sql/sql_base.cc
--- mariadb-5.5-5.5.63/sql/sql_base.cc 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_base.cc 2019-04-26 12:37:02.000000000 +0000
@@ -4468,6 +4468,45 @@
DBUG_RETURN(FALSE);
}
+/*
+ If we are not already in prelocked mode and extended table list is not
+ yet built we might have to build the prelocking set for this statement.
+
+ Since currently no prelocking strategy prescribes doing anything for
+ tables which are only read, we do below checks only if table is going
+ to be changed.
+*/
+bool extend_table_list(THD *thd, TABLE_LIST *tables,
+ Prelocking_strategy *prelocking_strategy,
+ bool has_prelocking_list)
+{
+ bool error= false;
+ LEX *lex= thd->lex;
+
+ if (thd->locked_tables_mode <= LTM_LOCK_TABLES &&
+ ! has_prelocking_list && tables->updating &&
+ tables->lock_type >= TL_WRITE_ALLOW_WRITE)
+ {
+ bool need_prelocking= FALSE;
+ TABLE_LIST **save_query_tables_last= lex->query_tables_last;
+ /*
+ Extend statement's table list and the prelocking set with
+ tables and routines according to the current prelocking
+ strategy.
+
+ For example, for DML statements we need to add tables and routines
+ used by triggers which are going to be invoked for this element of
+ table list and also add tables required for handling of foreign keys.
+ */
+ error= prelocking_strategy->handle_table(thd, lex, tables,
+ &need_prelocking);
+
+ if (need_prelocking && ! lex->requires_prelocking())
+ lex->mark_as_requiring_prelocking(save_query_tables_last);
+ }
+ return error;
+}
+
/**
Handle table list element by obtaining metadata lock, opening table or view
@@ -4496,15 +4535,14 @@
*/
static bool
-open_and_process_table(THD *thd, LEX *lex, TABLE_LIST *tables,
- uint *counter, uint flags,
+open_and_process_table(THD *thd, TABLE_LIST *tables, uint *counter, uint flags,
Prelocking_strategy *prelocking_strategy,
- bool has_prelocking_list,
- Open_table_context *ot_ctx,
+ bool has_prelocking_list, Open_table_context *ot_ctx,
MEM_ROOT *new_frm_mem)
{
bool error= FALSE;
bool safe_to_ignore_table= FALSE;
+ LEX *lex= thd->lex;
DBUG_ENTER("open_and_process_table");
DEBUG_SYNC(thd, "open_and_process_table");
@@ -4654,38 +4692,9 @@
if (tables->open_strategy && !tables->table)
goto end;
- /*
- If we are not already in prelocked mode and extended table list is not
- yet built we might have to build the prelocking set for this statement.
-
- Since currently no prelocking strategy prescribes doing anything for
- tables which are only read, we do below checks only if table is going
- to be changed.
- */
- if (thd->locked_tables_mode <= LTM_LOCK_TABLES &&
- ! has_prelocking_list &&
- tables->lock_type >= TL_WRITE_ALLOW_WRITE)
- {
- bool need_prelocking= FALSE;
- TABLE_LIST **save_query_tables_last= lex->query_tables_last;
- /*
- Extend statement's table list and the prelocking set with
- tables and routines according to the current prelocking
- strategy.
-
- For example, for DML statements we need to add tables and routines
- used by triggers which are going to be invoked for this element of
- table list and also add tables required for handling of foreign keys.
- */
- error= prelocking_strategy->handle_table(thd, lex, tables,
- &need_prelocking);
-
- if (need_prelocking && ! lex->requires_prelocking())
- lex->mark_as_requiring_prelocking(save_query_tables_last);
-
- if (error)
- goto end;
- }
+ error= extend_table_list(thd, tables, prelocking_strategy, has_prelocking_list);
+ if (error)
+ goto end;
if (tables->lock_type != TL_UNLOCK && ! thd->locked_tables_mode)
{
@@ -4994,8 +5003,9 @@
@retval TRUE Error, reported.
*/
-bool open_tables(THD *thd, TABLE_LIST **start, uint *counter, uint flags,
- Prelocking_strategy *prelocking_strategy)
+bool open_tables(THD *thd, TABLE_LIST **start, uint *counter,
+ Sroutine_hash_entry **sroutine_to_open_list, uint flags,
+ Prelocking_strategy *prelocking_strategy)
{
/*
We use pointers to "next_global" member in the last processed TABLE_LIST
@@ -5043,7 +5053,7 @@
has_prelocking_list= thd->lex->requires_prelocking();
table_to_open= start;
- sroutine_to_open= (Sroutine_hash_entry**) &thd->lex->sroutines_list.first;
+ sroutine_to_open= sroutine_to_open_list;
*counter= 0;
thd_proc_info(thd, "Opening tables");
@@ -5112,10 +5122,9 @@
for (tables= *table_to_open; tables;
table_to_open= &tables->next_global, tables= tables->next_global)
{
- error= open_and_process_table(thd, thd->lex, tables, counter,
- flags, prelocking_strategy,
- has_prelocking_list, &ot_ctx,
- &new_frm_mem);
+ error= open_and_process_table(thd, tables, counter, flags,
+ prelocking_strategy, has_prelocking_list,
+ &ot_ctx, &new_frm_mem);
if (error)
{
diff -Nru mariadb-5.5-5.5.63/sql/sql_base.h mariadb-5.5-5.5.64/sql/sql_base.h
--- mariadb-5.5-5.5.63/sql/sql_base.h 2019-01-27 18:02:22.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_base.h 2019-04-26 12:37:02.000000000 +0000
@@ -276,7 +276,8 @@
bool lock_table_names(THD *thd, TABLE_LIST *table_list,
TABLE_LIST *table_list_end, ulong lock_wait_timeout,
uint flags);
-bool open_tables(THD *thd, TABLE_LIST **tables, uint *counter, uint flags,
+bool open_tables(THD *thd, TABLE_LIST **tables, uint *counter,
+ Sroutine_hash_entry **sroutine_to_open, uint flags,
Prelocking_strategy *prelocking_strategy);
/* open_and_lock_tables with optional derived handling */
bool open_and_lock_tables(THD *thd, TABLE_LIST *tables,
@@ -499,6 +500,15 @@
inline bool
+open_tables(THD *thd, TABLE_LIST **tables, uint *counter, uint flags,
+ Prelocking_strategy *prelocking_strategy)
+{
+ return open_tables(thd, tables, counter, &thd->lex->sroutines_list.first,
+ flags, prelocking_strategy);
+}
+
+
+inline bool
open_tables(THD *thd, TABLE_LIST **tables, uint *counter, uint flags)
{
DML_prelocking_strategy prelocking_strategy;
@@ -528,6 +538,10 @@
}
+bool extend_table_list(THD *thd, TABLE_LIST *tables,
+ Prelocking_strategy *prelocking_strategy,
+ bool has_prelocking_list);
+
/**
A context of open_tables() function, used to recover
from a failed open_table() or open_routine() attempt.
diff -Nru mariadb-5.5-5.5.63/sql/sql_delete.cc mariadb-5.5-5.5.64/sql/sql_delete.cc
--- mariadb-5.5-5.5.63/sql/sql_delete.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_delete.cc 2019-04-26 12:37:02.000000000 +0000
@@ -37,7 +37,7 @@
#include "sql_trigger.h"
#include "transaction.h"
#include "records.h" // init_read_record,
-#include "sql_derived.h" // mysql_handle_list_of_derived
+#include "sql_derived.h" // mysql_handle_derived
// end_read_record
/**
Implement DELETE SQL word.
@@ -71,9 +71,9 @@
if (open_and_lock_tables(thd, table_list, TRUE, 0))
DBUG_RETURN(TRUE);
- if (mysql_handle_list_of_derived(thd->lex, table_list, DT_MERGE_FOR_INSERT))
+ if (thd->lex->handle_list_of_derived(table_list, DT_MERGE_FOR_INSERT))
DBUG_RETURN(TRUE);
- if (mysql_handle_list_of_derived(thd->lex, table_list, DT_PREPARE))
+ if (thd->lex->handle_list_of_derived(table_list, DT_PREPARE))
DBUG_RETURN(TRUE);
if (!table_list->single_table_updatable())
diff -Nru mariadb-5.5-5.5.63/sql/sql_derived.cc mariadb-5.5-5.5.64/sql/sql_derived.cc
--- mariadb-5.5-5.5.63/sql/sql_derived.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_derived.cc 2019-04-26 12:37:02.000000000 +0000
@@ -90,6 +90,7 @@
sl= sl->next_select_in_list())
{
TABLE_LIST *cursor= sl->get_table_list();
+ sl->changed_elements|= TOUCHED_SEL_DERIVED;
/*
DT_MERGE_FOR_INSERT is not needed for views/derived tables inside
subqueries. Views and derived tables of subqueries should be
@@ -200,36 +201,6 @@
/**
- Run specified phases for derived tables/views in the given list
-
- @param lex LEX for this thread
- @param table_list list of derived tables/view to handle
- @param phase_map phases to process tables/views through
-
- @details
- This function runs phases specified by the 'phases_map' on derived
- tables/views found in the 'dt_list' with help of the
- TABLE_LIST::handle_derived function.
- 'lex' is passed as an argument to the TABLE_LIST::handle_derived.
-
- @return FALSE ok
- @return TRUE error
-*/
-
-bool
-mysql_handle_list_of_derived(LEX *lex, TABLE_LIST *table_list, uint phases)
-{
- for (TABLE_LIST *tl= table_list; tl; tl= tl->next_local)
- {
- if (tl->is_view_or_derived() &&
- tl->handle_derived(lex, phases))
- return TRUE;
- }
- return FALSE;
-}
-
-
-/**
Merge a derived table/view into the embedding select
@param thd thread handle
@@ -1032,8 +1003,7 @@
derived->get_unit()));
st_select_lex_unit *unit= derived->get_unit();
- if (derived->table)
- derived->merged_for_insert= FALSE;
+ derived->merged_for_insert= FALSE;
unit->unclean();
unit->types.empty();
/* for derived tables & PS (which can't be reset by Item_subquery) */
diff -Nru mariadb-5.5-5.5.63/sql/sql_derived.h mariadb-5.5-5.5.64/sql/sql_derived.h
--- mariadb-5.5-5.5.63/sql/sql_derived.h 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_derived.h 2019-04-26 12:37:02.000000000 +0000
@@ -22,7 +22,6 @@
bool mysql_handle_derived(LEX *lex, uint phases);
bool mysql_handle_single_derived(LEX *lex, TABLE_LIST *derived, uint phases);
-bool mysql_handle_list_of_derived(LEX *lex, TABLE_LIST *dt_list, uint phases);
/**
Cleans up the SELECT_LEX_UNIT for the derived table (if any).
diff -Nru mariadb-5.5-5.5.63/sql/sql_insert.cc mariadb-5.5-5.5.64/sql/sql_insert.cc
--- mariadb-5.5-5.5.63/sql/sql_insert.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_insert.cc 2019-04-26 12:37:02.000000000 +0000
@@ -1404,7 +1404,7 @@
DBUG_RETURN(TRUE);
if (table_list->handle_derived(thd->lex, DT_MERGE_FOR_INSERT))
DBUG_RETURN(TRUE);
- if (mysql_handle_list_of_derived(thd->lex, table_list, DT_PREPARE))
+ if (thd->lex->handle_list_of_derived(table_list, DT_PREPARE))
DBUG_RETURN(TRUE);
/*
For subqueries in VALUES() we should not see the table in which we are
@@ -1510,7 +1510,6 @@
DBUG_RETURN(TRUE);
}
select_lex->fix_prepare_information(thd, &fake_conds, &fake_conds);
- select_lex->first_execution= 0;
}
/*
Only call prepare_for_posistion() if we are not performing a DELAYED
diff -Nru mariadb-5.5-5.5.63/sql/sql_lex.cc mariadb-5.5-5.5.64/sql/sql_lex.cc
--- mariadb-5.5-5.5.63/sql/sql_lex.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_lex.cc 2019-04-26 12:37:02.000000000 +0000
@@ -1904,7 +1904,7 @@
n_child_sum_items= 0;
subquery_in_having= explicit_limit= 0;
is_item_list_lookup= 0;
- first_execution= 1;
+ changed_elements= 0;
first_natural_join_processing= 1;
first_cond_optimization= 1;
parsing_place= NO_MATTER;
@@ -3367,9 +3367,10 @@
Item **having_conds)
{
DBUG_ENTER("st_select_lex::fix_prepare_information");
- if (!thd->stmt_arena->is_conventional() && first_execution)
+ if (!thd->stmt_arena->is_conventional() &&
+ !(changed_elements & TOUCHED_SEL_COND))
{
- first_execution= 0;
+ changed_elements|= TOUCHED_SEL_COND;
if (group_list.first)
{
if (!group_list_ptrs)
@@ -3593,14 +3594,7 @@
bool st_select_lex::handle_derived(LEX *lex, uint phases)
{
- for (TABLE_LIST *cursor= (TABLE_LIST*) table_list.first;
- cursor;
- cursor= cursor->next_local)
- {
- if (cursor->is_view_or_derived() && cursor->handle_derived(lex, phases))
- return TRUE;
- }
- return FALSE;
+ return lex->handle_list_of_derived(table_list.first, phases);
}
diff -Nru mariadb-5.5-5.5.63/sql/sql_lex.h mariadb-5.5-5.5.64/sql/sql_lex.h
--- mariadb-5.5-5.5.63/sql/sql_lex.h 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_lex.h 2019-04-26 12:37:02.000000000 +0000
@@ -589,7 +589,7 @@
enum_mdl_type mdl_type= MDL_SHARED_READ,
List *hints= 0,
LEX_STRING *option= 0);
- virtual void set_lock_for_tables(thr_lock_type lock_type) {}
+ virtual void set_lock_for_tables(thr_lock_type lock_type, bool for_update) {}
friend class st_select_lex_unit;
friend bool mysql_new_select(LEX *lex, bool move_down);
@@ -729,6 +729,10 @@
typedef class st_select_lex_unit SELECT_LEX_UNIT;
+
+#define TOUCHED_SEL_COND 1/* WHERE/HAVING/ON should be reinited before use */
+#define TOUCHED_SEL_DERIVED (1<<1)/* derived should be reinited before use */
+
/*
SELECT_LEX - store information of parsed SELECT statment
*/
@@ -876,7 +880,8 @@
subquery. Prepared statements work OK in that regard, as in
case of an error during prepare the PS is not created.
*/
- bool first_execution;
+ uint8 changed_elements; // see TOUCHED_SEL_*
+ /* TODO: add foloowing first_* to bitmap above */
bool first_natural_join_processing;
bool first_cond_optimization;
/* do not wrap view fields with Item_ref */
@@ -955,7 +960,7 @@
TABLE_LIST *convert_right_join();
List- * get_item_list();
ulong get_table_join_options();
- void set_lock_for_tables(thr_lock_type lock_type);
+ void set_lock_for_tables(thr_lock_type lock_type, bool for_update);
inline void init_order()
{
order_list.elements= 0;
@@ -2785,6 +2790,31 @@
}
bool save_prep_leaf_tables();
+
+ /*
+ Run specified phases for derived tables/views in the given list
+
+ @param table_list - list of derived tables/view to handle
+ @param phase - phases to process tables/views through
+
+ @details
+ This method runs phases specified by the 'phases' on derived
+ tables/views found in the 'table_list' with help of the
+ TABLE_LIST::handle_derived function.
+ 'this' is passed as an argument to the TABLE_LIST::handle_derived.
+
+ @return false - ok
+ @return true - error
+ */
+ bool handle_list_of_derived(TABLE_LIST *table_list, uint phases)
+ {
+ for (TABLE_LIST *tl= table_list; tl; tl= tl->next_local)
+ {
+ if (tl->is_view_or_derived() && tl->handle_derived(this, phases))
+ return true;
+ }
+ return false;
+ }
};
diff -Nru mariadb-5.5-5.5.63/sql/sql_load.cc mariadb-5.5-5.5.64/sql/sql_load.cc
--- mariadb-5.5-5.5.63/sql/sql_load.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_load.cc 2019-04-26 12:37:02.000000000 +0000
@@ -233,8 +233,9 @@
if (open_and_lock_tables(thd, table_list, TRUE, 0))
DBUG_RETURN(TRUE);
- if (mysql_handle_single_derived(thd->lex, table_list, DT_MERGE_FOR_INSERT) ||
- mysql_handle_single_derived(thd->lex, table_list, DT_PREPARE))
+ if (table_list->handle_derived(thd->lex, DT_MERGE_FOR_INSERT))
+ DBUG_RETURN(TRUE);
+ if (thd->lex->handle_list_of_derived(table_list, DT_PREPARE))
DBUG_RETURN(TRUE);
if (setup_tables_and_check_access(thd, &thd->lex->select_lex.context,
&thd->lex->select_lex.top_join_list,
@@ -250,6 +251,11 @@
my_error(ER_NON_UPDATABLE_TABLE, MYF(0), table_list->alias, "LOAD");
DBUG_RETURN(TRUE);
}
+ if (table_list->is_multitable())
+ {
+ my_error(ER_WRONG_USAGE, MYF(0), "Multi-table VIEW", "LOAD");
+ DBUG_RETURN(TRUE);
+ }
if (table_list->prepare_where(thd, 0, TRUE) ||
table_list->prepare_check_option(thd))
{
diff -Nru mariadb-5.5-5.5.63/sql/sql_parse.cc mariadb-5.5-5.5.64/sql/sql_parse.cc
--- mariadb-5.5-5.5.63/sql/sql_parse.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_parse.cc 2019-04-26 12:37:02.000000000 +0000
@@ -2065,9 +2065,6 @@
reset_one_shot_variables(thd);
DBUG_RETURN(0);
}
-
- for (table=all_tables; table; table=table->next_global)
- table->updating= TRUE;
}
/*
@@ -4088,15 +4085,16 @@
my_error(ER_SP_BADSELECT, MYF(0), sp->m_qname.str);
goto error;
}
- /*
- If SERVER_MORE_RESULTS_EXISTS is not set,
- then remember that it should be cleared
- */
- bits_to_be_cleared= (~thd->server_status &
- SERVER_MORE_RESULTS_EXISTS);
- thd->server_status|= SERVER_MORE_RESULTS_EXISTS;
}
+ /*
+ If SERVER_MORE_RESULTS_EXISTS is not set,
+ then remember that it should be cleared
+ */
+ bits_to_be_cleared= (~thd->server_status &
+ SERVER_MORE_RESULTS_EXISTS);
+ thd->server_status|= SERVER_MORE_RESULTS_EXISTS;
+
if (check_routine_access(thd, EXECUTE_ACL,
sp->m_db.str, sp->m_name.str, TRUE, FALSE))
{
@@ -6540,9 +6538,8 @@
query
*/
-void st_select_lex::set_lock_for_tables(thr_lock_type lock_type)
+void st_select_lex::set_lock_for_tables(thr_lock_type lock_type, bool for_update)
{
- bool for_update= lock_type >= TL_READ_NO_INSERT;
DBUG_ENTER("set_lock_for_tables");
DBUG_PRINT("enter", ("lock_type: %d for_update: %d", lock_type,
for_update));
diff -Nru mariadb-5.5-5.5.63/sql/sql_prepare.cc mariadb-5.5-5.5.64/sql/sql_prepare.cc
--- mariadb-5.5-5.5.63/sql/sql_prepare.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_prepare.cc 2019-04-26 12:37:02.000000000 +0000
@@ -2496,7 +2496,7 @@
}
for (; sl; sl= sl->next_select_in_list())
{
- if (!sl->first_execution)
+ if (sl->changed_elements & TOUCHED_SEL_COND)
{
/* remove option which was put by mysql_explain_union() */
sl->options&= ~SELECT_DESCRIBE;
@@ -2543,19 +2543,28 @@
order->next= sl->group_list_ptrs->at(ix+1);
}
}
+ }
+ { // no harm to do it (item_ptr set on parsing)
+ ORDER *order;
for (order= sl->group_list.first; order; order= order->next)
+ {
order->item= &order->item_ptr;
+ }
/* Fix ORDER list */
for (order= sl->order_list.first; order; order= order->next)
- order->item= &order->item_ptr;
{
+ order->item= &order->item_ptr;
+ }
+ }
+ if (sl->changed_elements & TOUCHED_SEL_DERIVED)
+ {
#ifndef DBUG_OFF
- bool res=
+ bool res=
#endif
- sl->handle_derived(lex, DT_REINIT);
- DBUG_ASSERT(res == 0);
- }
+ sl->handle_derived(lex, DT_REINIT);
+ DBUG_ASSERT(res == 0);
}
+
{
SELECT_LEX_UNIT *unit= sl->master_unit();
unit->unclean();
diff -Nru mariadb-5.5-5.5.63/sql/sql_show.cc mariadb-5.5-5.5.64/sql/sql_show.cc
--- mariadb-5.5-5.5.63/sql/sql_show.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_show.cc 2019-04-26 12:37:02.000000000 +0000
@@ -7620,8 +7620,6 @@
table->alias_name_used= my_strcasecmp(table_alias_charset,
table_list->schema_table_name,
table_list->alias);
- table_list->table_name= table->s->table_name.str;
- table_list->table_name_length= table->s->table_name.length;
table_list->table= table;
table->next= thd->derived_tables;
thd->derived_tables= table;
diff -Nru mariadb-5.5-5.5.63/sql/sql_truncate.cc mariadb-5.5-5.5.64/sql/sql_truncate.cc
--- mariadb-5.5-5.5.63/sql/sql_truncate.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_truncate.cc 2019-04-26 12:37:02.000000000 +0000
@@ -150,15 +150,11 @@
/* Loop over the set of foreign keys for which this table is a parent. */
while ((fk_info= it++))
{
- DBUG_ASSERT(!my_strcasecmp(system_charset_info,
- fk_info->referenced_db->str,
- table->s->db.str));
-
- DBUG_ASSERT(!my_strcasecmp(system_charset_info,
- fk_info->referenced_table->str,
- table->s->table_name.str));
-
- if (my_strcasecmp(system_charset_info, fk_info->foreign_db->str,
+ if (my_strcasecmp(system_charset_info, fk_info->referenced_db->str,
+ table->s->db.str) ||
+ my_strcasecmp(system_charset_info, fk_info->referenced_table->str,
+ table->s->table_name.str) ||
+ my_strcasecmp(system_charset_info, fk_info->foreign_db->str,
table->s->db.str) ||
my_strcasecmp(system_charset_info, fk_info->foreign_table->str,
table->s->table_name.str))
diff -Nru mariadb-5.5-5.5.63/sql/sql_union.cc mariadb-5.5-5.5.64/sql/sql_union.cc
--- mariadb-5.5-5.5.63/sql/sql_union.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_union.cc 2019-04-26 12:37:02.000000000 +0000
@@ -215,8 +215,9 @@
called at the first execution of the statement, while first_execution
shows whether this is called at the first execution of the union that
may form just a subselect.
- */
- if (!fake_select_lex->first_execution && first_execution)
+ */
+ if ((fake_select_lex->changed_elements & TOUCHED_SEL_COND) &&
+ first_execution)
{
for (ORDER *order= global_parameters->order_list.first;
order;
diff -Nru mariadb-5.5-5.5.63/sql/sql_update.cc mariadb-5.5-5.5.64/sql/sql_update.cc
--- mariadb-5.5-5.5.63/sql/sql_update.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_update.cc 2019-04-26 12:37:02.000000000 +0000
@@ -1208,6 +1208,9 @@
List
- *fields= &lex->select_lex.item_list;
table_map tables_for_update;
bool update_view= 0;
+ DML_prelocking_strategy prelocking_strategy;
+ bool has_prelocking_list= thd->lex->requires_prelocking();
+
/*
if this multi-update was converted from usual update, here is table
counter else junk will be assigned here, but then replaced with real
@@ -1228,10 +1231,10 @@
keep prepare of multi-UPDATE compatible with concurrent LOCK TABLES WRITE
and global read lock.
*/
- if ((original_multiupdate &&
- open_tables(thd, &table_list, &table_count,
- (thd->stmt_arena->is_stmt_prepare() ?
- MYSQL_OPEN_FORCE_SHARED_MDL : 0))) ||
+ if ((original_multiupdate && open_tables(thd, &table_list, &table_count,
+ thd->stmt_arena->is_stmt_prepare()
+ ? MYSQL_OPEN_FORCE_SHARED_MDL : 0,
+ &prelocking_strategy)) ||
mysql_handle_derived(lex, DT_INIT))
DBUG_RETURN(TRUE);
/*
@@ -1278,6 +1281,9 @@
if (unsafe_key_update(lex->select_lex.leaf_tables, tables_for_update))
DBUG_RETURN(true);
+ TABLE_LIST **new_tables= lex->query_tables_last;
+ DBUG_ASSERT(*new_tables== NULL);
+
/*
Setup timestamp handling and locking mode
*/
@@ -1305,6 +1311,11 @@
If table will be updated we should not downgrade lock for it and
leave it as is.
*/
+ tl->updating= 1;
+ if (tl->belong_to_view)
+ tl->belong_to_view->updating= 1;
+ if (extend_table_list(thd, tl, &prelocking_strategy, has_prelocking_list))
+ DBUG_RETURN(TRUE);
}
else
{
@@ -1323,9 +1334,21 @@
tl->lock_type= read_lock_type_for_table(thd, lex, tl);
else
tl->set_lock_type(thd, read_lock_type_for_table(thd, lex, tl));
- tl->updating= 0;
}
}
+
+ uint addon_table_count= 0;
+ if (*new_tables)
+ {
+ Sroutine_hash_entry **new_routines= thd->lex->sroutines_list.next;
+ DBUG_ASSERT(*new_routines == NULL);
+ if (open_tables(thd, new_tables, &addon_table_count, new_routines,
+ thd->stmt_arena->is_stmt_prepare()
+ ? MYSQL_OPEN_FORCE_SHARED_MDL : 0,
+ &prelocking_strategy))
+ DBUG_RETURN(TRUE);
+ }
+
for (tl= table_list; tl; tl= tl->next_local)
{
/* Check access privileges for table */
@@ -1358,7 +1381,7 @@
/* now lock and fill tables */
if (!thd->stmt_arena->is_stmt_prepare() &&
- lock_tables(thd, table_list, table_count, 0))
+ lock_tables(thd, table_list, table_count + addon_table_count, 0))
{
DBUG_RETURN(TRUE);
}
diff -Nru mariadb-5.5-5.5.63/sql/sql_view.cc mariadb-5.5-5.5.64/sql/sql_view.cc
--- mariadb-5.5-5.5.63/sql/sql_view.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_view.cc 2019-04-26 12:37:02.000000000 +0000
@@ -1511,6 +1511,7 @@
tbl->lock_type= table->lock_type;
tbl->mdl_request.set_type((tbl->lock_type >= TL_WRITE_ALLOW_WRITE) ?
MDL_SHARED_WRITE : MDL_SHARED_READ);
+ tbl->updating= table->updating;
}
/*
If the view is mergeable, we might want to
diff -Nru mariadb-5.5-5.5.63/sql/sql_yacc.cc mariadb-5.5-5.5.64/sql/sql_yacc.cc
--- mariadb-5.5-5.5.63/sql/sql_yacc.cc 2019-01-27 18:02:26.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_yacc.cc 2019-04-26 12:37:03.000000000 +0000
@@ -2715,33 +2715,33 @@
13494, 13498, 13539, 13557, 13568, 13585, 13598, 13613, 13632, 13658,
13671, 13697, 13740, 13754, 13755, 13756, 13757, 13761, 13762, 13771,
13783, 13784, 13785, 13791, 13797, 13809, 13808, 13824, 13825, 13829,
- 13830, 13834, 13849, 13850, 13851, 13856, 13857, 13862, 13861, 13881,
- 13893, 13906, 13905, 13939, 13940, 13944, 13945, 13949, 13950, 13951,
- 13952, 13954, 13953, 13966, 13967, 13968, 13969, 13970, 13976, 13981,
- 13987, 13998, 14009, 14013, 14023, 14028, 14035, 14047, 14059, 14068,
- 14070, 14074, 14075, 14082, 14084, 14088, 14089, 14094, 14093, 14097,
- 14096, 14100, 14099, 14103, 14102, 14105, 14106, 14107, 14108, 14109,
- 14110, 14111, 14112, 14113, 14114, 14115, 14116, 14117, 14118, 14119,
- 14120, 14121, 14122, 14123, 14124, 14125, 14126, 14127, 14128, 14129,
- 14130, 14134, 14135, 14139, 14140, 14144, 14154, 14164, 14177, 14192,
- 14205, 14218, 14230, 14235, 14243, 14248, 14255, 14255, 14256, 14256,
- 14259, 14286, 14291, 14297, 14303, 14309, 14313, 14317, 14318, 14322,
- 14349, 14351, 14355, 14359, 14363, 14370, 14371, 14375, 14376, 14380,
- 14381, 14385, 14386, 14392, 14398, 14404, 14414, 14413, 14423, 14424,
- 14429, 14430, 14431, 14436, 14437, 14438, 14442, 14443, 14447, 14459,
- 14468, 14478, 14487, 14501, 14502, 14507, 14506, 14522, 14523, 14524,
- 14528, 14529, 14533, 14533, 14555, 14556, 14560, 14561, 14562, 14566,
- 14570, 14577, 14580, 14578, 14594, 14601, 14622, 14648, 14650, 14654,
- 14655, 14659, 14660, 14668, 14669, 14670, 14671, 14677, 14683, 14693,
- 14695, 14697, 14702, 14703, 14704, 14705, 14706, 14710, 14711, 14712,
- 14713, 14714, 14715, 14725, 14726, 14731, 14744, 14757, 14759, 14761,
- 14766, 14771, 14773, 14775, 14781, 14782, 14784, 14790, 14789, 14806,
- 14807, 14811, 14816, 14824, 14824, 14848, 14849, 14854, 14855, 14857,
- 14859, 14877, 14883, 14888, 14870, 14949, 14966, 14990, 15021, 15025,
- 15034, 15057, 14986, 15120, 15144, 15153, 15160, 15119, 15180, 15184,
- 15188, 15192, 15196, 15200, 15207, 15214, 15221, 15231, 15232, 15236,
- 15237, 15238, 15242, 15243, 15248, 15250, 15249, 15255, 15256, 15260,
- 15267, 15277, 15283, 15294
+ 13830, 13834, 13852, 13853, 13854, 13859, 13860, 13865, 13864, 13884,
+ 13896, 13909, 13908, 13942, 13943, 13947, 13948, 13952, 13953, 13954,
+ 13955, 13957, 13956, 13969, 13970, 13971, 13972, 13973, 13979, 13984,
+ 13990, 14001, 14012, 14016, 14026, 14031, 14038, 14050, 14062, 14071,
+ 14073, 14077, 14078, 14085, 14087, 14091, 14092, 14097, 14096, 14100,
+ 14099, 14103, 14102, 14106, 14105, 14108, 14109, 14110, 14111, 14112,
+ 14113, 14114, 14115, 14116, 14117, 14118, 14119, 14120, 14121, 14122,
+ 14123, 14124, 14125, 14126, 14127, 14128, 14129, 14130, 14131, 14132,
+ 14133, 14137, 14138, 14142, 14143, 14147, 14157, 14167, 14180, 14195,
+ 14208, 14221, 14233, 14238, 14246, 14251, 14258, 14258, 14259, 14259,
+ 14262, 14289, 14294, 14300, 14306, 14312, 14316, 14320, 14321, 14325,
+ 14352, 14354, 14358, 14362, 14366, 14373, 14374, 14378, 14379, 14383,
+ 14384, 14388, 14389, 14395, 14401, 14407, 14417, 14416, 14426, 14427,
+ 14432, 14433, 14434, 14439, 14440, 14441, 14445, 14446, 14450, 14462,
+ 14471, 14481, 14490, 14504, 14505, 14510, 14509, 14525, 14526, 14527,
+ 14531, 14532, 14536, 14536, 14558, 14559, 14563, 14564, 14565, 14569,
+ 14573, 14580, 14583, 14581, 14597, 14604, 14625, 14651, 14653, 14657,
+ 14658, 14662, 14663, 14671, 14672, 14673, 14674, 14680, 14686, 14696,
+ 14698, 14700, 14705, 14706, 14707, 14708, 14709, 14713, 14714, 14715,
+ 14716, 14717, 14718, 14728, 14729, 14734, 14747, 14760, 14762, 14764,
+ 14769, 14774, 14776, 14778, 14784, 14785, 14787, 14793, 14792, 14809,
+ 14810, 14814, 14819, 14827, 14827, 14851, 14852, 14857, 14858, 14860,
+ 14862, 14880, 14886, 14891, 14873, 14952, 14969, 14993, 15024, 15028,
+ 15037, 15060, 14989, 15123, 15147, 15156, 15163, 15122, 15183, 15187,
+ 15191, 15195, 15199, 15203, 15210, 15217, 15224, 15234, 15235, 15239,
+ 15240, 15241, 15245, 15246, 15251, 15253, 15252, 15258, 15259, 15263,
+ 15270, 15280, 15286, 15297
};
#endif
@@ -25155,7 +25155,7 @@
#line 7677 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
- lex->current_select->set_lock_for_tables(TL_WRITE);
+ lex->current_select->set_lock_for_tables(TL_WRITE, false);
lex->safe_to_cache_query=0;
}
#line 25162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
@@ -25166,7 +25166,7 @@
{
LEX *lex=Lex;
lex->current_select->
- set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS);
+ set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS, false);
lex->safe_to_cache_query=0;
}
#line 25173 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
@@ -29826,7 +29826,7 @@
case 1621:
#line 10968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
- Select->set_lock_for_tables((yyvsp[-2].lock_type));
+ Select->set_lock_for_tables((yyvsp[-2].lock_type), true);
Lex->current_select= &Lex->select_lex;
}
#line 29833 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
@@ -29852,7 +29852,7 @@
case 1624:
#line 10985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
- Select->set_lock_for_tables((yyvsp[-1].lock_type));
+ Select->set_lock_for_tables((yyvsp[-1].lock_type), true);
Lex->current_select= &Lex->select_lex;
}
#line 29859 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
@@ -30133,14 +30133,14 @@
case 1669:
#line 11161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
- LEX *lex= Lex;
- if (lex->select_lex.table_list.elements > 1)
- lex->sql_command= SQLCOM_UPDATE_MULTI;
- else if (lex->select_lex.get_table_list()->derived)
+ SELECT_LEX *slex= &Lex->select_lex;
+ if (slex->table_list.elements > 1)
+ Lex->sql_command= SQLCOM_UPDATE_MULTI;
+ else if (slex->get_table_list()->derived)
{
/* it is single table update and it is update of derived table */
my_error(ER_NON_UPDATABLE_TABLE, MYF(0),
- lex->select_lex.get_table_list()->alias, "UPDATE");
+ slex->get_table_list()->alias, "UPDATE");
MYSQL_YYABORT;
}
/*
@@ -30148,7 +30148,7 @@
be too pessimistic. We will decrease lock level if possible in
mysql_multi_update().
*/
- Select->set_lock_for_tables((yyvsp[-4].lock_type));
+ slex->set_lock_for_tables((yyvsp[-4].lock_type), slex->table_list.elements == 1);
}
#line 30154 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
@@ -35505,52 +35505,55 @@
#line 13835 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
thr_lock_type lock_type= (thr_lock_type) (yyvsp[0].num);
- bool lock_for_write= (lock_type >= TL_WRITE_ALLOW_WRITE);
- if (!Select->add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr), 0, lock_type,
- (lock_for_write ?
- lock_type == TL_WRITE_CONCURRENT_INSERT ?
- MDL_SHARED_WRITE :
- MDL_SHARED_NO_READ_WRITE :
- MDL_SHARED_READ)))
+ bool lock_for_write= lock_type >= TL_WRITE_ALLOW_WRITE;
+ ulong table_options= lock_for_write ? TL_OPTION_UPDATING : 0;
+ enum_mdl_type mdl_type= !lock_for_write
+ ? MDL_SHARED_READ
+ : lock_type == TL_WRITE_CONCURRENT_INSERT
+ ? MDL_SHARED_WRITE
+ : MDL_SHARED_NO_READ_WRITE;
+
+ if (!Select->add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr), table_options,
+ lock_type, mdl_type))
MYSQL_YYABORT;
}
-#line 35518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2382:
-#line 13849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13852 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= TL_READ_NO_INSERT; }
-#line 35524 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35527 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2383:
-#line 13850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13853 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= TL_WRITE_DEFAULT; }
-#line 35530 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2384:
-#line 13852 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13855 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
}
-#line 35538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2385:
-#line 13856 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= TL_WRITE_LOW_PRIORITY; }
-#line 35544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35547 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2386:
-#line 13857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= TL_READ; }
-#line 35550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35553 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2387:
-#line 13862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13865 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
@@ -35561,17 +35564,17 @@
}
lex->sql_command= SQLCOM_UNLOCK_TABLES;
}
-#line 35565 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2388:
-#line 13873 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13876 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 35571 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35574 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2389:
-#line 13882 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->sphead)
@@ -35583,11 +35586,11 @@
if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-2].table), (yyvsp[0].lex_str_ptr), 0))
MYSQL_YYABORT;
}
-#line 35587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35590 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2390:
-#line 13894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13897 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->sphead)
@@ -35599,11 +35602,11 @@
if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0))
MYSQL_YYABORT;
}
-#line 35603 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2391:
-#line 13906 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
if (lex->sphead)
@@ -35623,11 +35626,11 @@
if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0))
MYSQL_YYABORT;
}
-#line 35627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2392:
-#line 13926 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13929 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->expr_allows_subselect= TRUE;
/* Stored functions are not supported for HANDLER READ. */
@@ -35638,59 +35641,59 @@
MYSQL_YYABORT;
}
}
-#line 35642 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35645 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2393:
-#line 13939 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->ident= null_lex_str; }
-#line 35648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35651 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2394:
-#line 13940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->ident= (yyvsp[-1].lex_str); }
-#line 35654 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35657 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2395:
-#line 13944 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->ha_read_mode = RFIRST; }
-#line 35660 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2396:
-#line 13945 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->ha_read_mode = RNEXT; }
-#line 35666 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35669 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2397:
-#line 13949 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->ha_read_mode = RFIRST; }
-#line 35672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35675 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2398:
-#line 13950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->ha_read_mode = RNEXT; }
-#line 35678 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35681 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2399:
-#line 13951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13954 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->ha_read_mode = RPREV; }
-#line 35684 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2400:
-#line 13952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13955 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->ha_read_mode = RLAST; }
-#line 35690 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35693 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2401:
-#line 13954 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->ha_read_mode = RKEY;
@@ -35698,63 +35701,63 @@
if (!(lex->insert_list = new List_item))
MYSQL_YYABORT;
}
-#line 35702 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35705 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2402:
-#line 13962 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 35708 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35711 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2403:
-#line 13966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT; }
-#line 35714 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35717 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2404:
-#line 13967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; }
-#line 35720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2405:
-#line 13968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13971 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; }
-#line 35726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2406:
-#line 13969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13972 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY; }
-#line 35732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35735 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2407:
-#line 13970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13973 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY; }
-#line 35738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35741 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2408:
-#line 13977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13980 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 35744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35747 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2409:
-#line 13982 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_REVOKE;
lex->type= 0;
}
-#line 35754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35757 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2410:
-#line 13988 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 13991 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->columns.elements)
@@ -35765,11 +35768,11 @@
lex->sql_command= SQLCOM_REVOKE;
lex->type= TYPE_ENUM_FUNCTION;
}
-#line 35769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2411:
-#line 13999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->columns.elements)
@@ -35780,46 +35783,46 @@
lex->sql_command= SQLCOM_REVOKE;
lex->type= TYPE_ENUM_PROCEDURE;
}
-#line 35784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35787 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2412:
-#line 14010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14013 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_REVOKE_ALL;
}
-#line 35792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35795 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2413:
-#line 14014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->users_list.push_front ((yyvsp[-2].lex_user));
lex->sql_command= SQLCOM_REVOKE;
lex->type= TYPE_ENUM_PROXY;
}
-#line 35803 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2414:
-#line 14024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14027 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 35809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2415:
-#line 14030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14033 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_GRANT;
lex->type= 0;
}
-#line 35819 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2416:
-#line 14037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->columns.elements)
@@ -35830,11 +35833,11 @@
lex->sql_command= SQLCOM_GRANT;
lex->type= TYPE_ENUM_FUNCTION;
}
-#line 35834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35837 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2417:
-#line 14049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14052 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->columns.elements)
@@ -35845,253 +35848,253 @@
lex->sql_command= SQLCOM_GRANT;
lex->type= TYPE_ENUM_PROCEDURE;
}
-#line 35849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2418:
-#line 14060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->users_list.push_front ((yyvsp[-3].lex_user));
lex->sql_command= SQLCOM_GRANT;
lex->type= TYPE_ENUM_PROXY;
}
-#line 35860 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35863 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2421:
-#line 14074 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 35866 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35869 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2422:
-#line 14076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->all_privileges= 1;
Lex->grant= GLOBAL_ACLS;
}
-#line 35875 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35878 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2427:
-#line 14094 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->which_columns = SELECT_ACL;}
-#line 35881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35884 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2428:
-#line 14095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 35887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35890 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2429:
-#line 14097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->which_columns = INSERT_ACL;}
-#line 35893 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35896 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2430:
-#line 14098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 35899 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2431:
-#line 14100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->which_columns = UPDATE_ACL; }
-#line 35905 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2432:
-#line 14101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 35911 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2433:
-#line 14103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->which_columns = REFERENCES_ACL;}
-#line 35917 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2434:
-#line 14104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 35923 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35926 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2435:
-#line 14105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= DELETE_ACL;}
-#line 35929 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35932 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2436:
-#line 14106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 35935 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35938 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2437:
-#line 14107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= INDEX_ACL;}
-#line 35941 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35944 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2438:
-#line 14108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= ALTER_ACL;}
-#line 35947 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35950 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2439:
-#line 14109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= CREATE_ACL;}
-#line 35953 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2440:
-#line 14110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= DROP_ACL;}
-#line 35959 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35962 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2441:
-#line 14111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= EXECUTE_ACL;}
-#line 35965 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2442:
-#line 14112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= RELOAD_ACL;}
-#line 35971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35974 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2443:
-#line 14113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= SHUTDOWN_ACL;}
-#line 35977 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35980 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2444:
-#line 14114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= PROCESS_ACL;}
-#line 35983 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2445:
-#line 14115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= FILE_ACL;}
-#line 35989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35992 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2446:
-#line 14116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= GRANT_ACL;}
-#line 35995 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 35998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2447:
-#line 14117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= SHOW_DB_ACL;}
-#line 36001 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2448:
-#line 14118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= SUPER_ACL;}
-#line 36007 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2449:
-#line 14119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= CREATE_TMP_ACL;}
-#line 36013 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2450:
-#line 14120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= LOCK_TABLES_ACL; }
-#line 36019 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2451:
-#line 14121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= REPL_SLAVE_ACL; }
-#line 36025 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2452:
-#line 14122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= REPL_CLIENT_ACL; }
-#line 36031 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2453:
-#line 14123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= CREATE_VIEW_ACL; }
-#line 36037 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36040 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2454:
-#line 14124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= SHOW_VIEW_ACL; }
-#line 36043 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2455:
-#line 14125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= CREATE_PROC_ACL; }
-#line 36049 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2456:
-#line 14126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= ALTER_PROC_ACL; }
-#line 36055 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2457:
-#line 14127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= CREATE_USER_ACL; }
-#line 36061 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36064 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2458:
-#line 14128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= EVENT_ACL;}
-#line 36067 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36070 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2459:
-#line 14129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= TRIGGER_ACL; }
-#line 36073 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36076 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2460:
-#line 14130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= CREATE_TABLESPACE_ACL; }
-#line 36079 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2461:
-#line 14134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2462:
-#line 14135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36091 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2465:
-#line 14145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14148 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
if (lex->x509_subject)
@@ -36101,11 +36104,11 @@
}
lex->x509_subject=(yyvsp[0].lex_str).str;
}
-#line 36105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2466:
-#line 14155 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14158 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
if (lex->x509_issuer)
@@ -36115,11 +36118,11 @@
}
lex->x509_issuer=(yyvsp[0].lex_str).str;
}
-#line 36119 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2467:
-#line 14165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14168 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
if (lex->ssl_cipher)
@@ -36129,11 +36132,11 @@
}
lex->ssl_cipher=(yyvsp[0].lex_str).str;
}
-#line 36133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36136 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2468:
-#line 14178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
size_t dummy;
@@ -36148,11 +36151,11 @@
MYSQL_YYABORT;
}
}
-#line 36152 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36155 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2469:
-#line 14193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->current_select->db = (yyvsp[-2].lex_str).str;
@@ -36165,11 +36168,11 @@
MYSQL_YYABORT;
}
}
-#line 36169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36172 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2470:
-#line 14206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->current_select->db = NULL;
@@ -36182,11 +36185,11 @@
MYSQL_YYABORT;
}
}
-#line 36186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36189 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2471:
-#line 14219 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,
@@ -36195,47 +36198,47 @@
if (lex->grant == GLOBAL_ACLS)
lex->grant = TABLE_ACLS & ~GRANT_ACL;
}
-#line 36199 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36202 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2472:
-#line 14231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
if (Lex->users_list.push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
-#line 36208 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36211 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2473:
-#line 14236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
if (Lex->users_list.push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
-#line 36217 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36220 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2474:
-#line 14244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
if (Lex->users_list.push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
-#line 36226 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36229 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2475:
-#line 14249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
if (Lex->users_list.push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
-#line 36235 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2480:
-#line 14260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14263 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)=(yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->password=(yyvsp[0].lex_str);
if ((yyvsp[0].lex_str).length)
@@ -36262,55 +36265,55 @@
}
}
}
-#line 36266 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36269 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2481:
-#line 14287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-4].lex_user);
(yyvsp[-4].lex_user)->password= (yyvsp[0].lex_str);
}
-#line 36275 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36278 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2482:
-#line 14292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-3].lex_user);
(yyvsp[-3].lex_user)->plugin= (yyvsp[0].lex_str);
(yyvsp[-3].lex_user)->auth= empty_lex_str;
}
-#line 36285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2483:
-#line 14298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-5].lex_user);
(yyvsp[-5].lex_user)->plugin= (yyvsp[-2].lex_str);
(yyvsp[-5].lex_user)->auth= (yyvsp[0].lex_str);
}
-#line 36295 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36298 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2484:
-#line 14304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14307 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lex_user)= (yyvsp[0].lex_user); (yyvsp[0].lex_user)->password= null_lex_str; }
-#line 36301 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36304 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2485:
-#line 14309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->grant |= lex->which_columns;
}
-#line 36310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36313 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2489:
-#line 14323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14326 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
String *new_str = new (thd->mem_root) String((const char*) (yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,system_charset_info);
if (new_str == NULL)
@@ -36335,195 +36338,195 @@
lex->columns.push_back(col);
}
}
-#line 36339 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2491:
-#line 14352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->ssl_type=SSL_TYPE_SPECIFIED;
}
-#line 36347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36350 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2492:
-#line 14356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14359 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->ssl_type=SSL_TYPE_ANY;
}
-#line 36355 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36358 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2493:
-#line 14360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14363 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->ssl_type=SSL_TYPE_X509;
}
-#line 36363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36366 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2494:
-#line 14364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14367 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->ssl_type=SSL_TYPE_NONE;
}
-#line 36371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2495:
-#line 14370 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36380 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2497:
-#line 14375 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14378 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36383 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2498:
-#line 14376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14379 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= GRANT_ACL;}
-#line 36389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36392 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2499:
-#line 14380 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14383 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36395 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2500:
-#line 14381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14384 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2501:
-#line 14385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14388 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= GRANT_ACL;}
-#line 36407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36410 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2502:
-#line 14387 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->mqh.questions=(yyvsp[0].ulong_num);
lex->mqh.specified_limits|= USER_RESOURCES::QUERIES_PER_HOUR;
}
-#line 36417 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2503:
-#line 14393 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14396 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->mqh.updates=(yyvsp[0].ulong_num);
lex->mqh.specified_limits|= USER_RESOURCES::UPDATES_PER_HOUR;
}
-#line 36427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36430 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2504:
-#line 14399 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->mqh.conn_per_hour= (yyvsp[0].ulong_num);
lex->mqh.specified_limits|= USER_RESOURCES::CONNECTIONS_PER_HOUR;
}
-#line 36437 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36440 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2505:
-#line 14405 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14408 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->mqh.user_conn= (yyvsp[0].num);
lex->mqh.specified_limits|= USER_RESOURCES::USER_CONNECTIONS;
}
-#line 36447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2506:
-#line 14414 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14417 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command = SQLCOM_BEGIN;
lex->start_transaction_opt= 0;
}
-#line 36457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2507:
-#line 14419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36463 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2508:
-#line 14423 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14426 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36469 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36472 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2509:
-#line 14424 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36475 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36478 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2510:
-#line 14429 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14432 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_yes_no_unk)= TVL_UNKNOWN; }
-#line 36481 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36484 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2511:
-#line 14430 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_yes_no_unk)= TVL_NO; }
-#line 36487 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36490 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2512:
-#line 14431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14434 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_yes_no_unk)= TVL_YES; }
-#line 36493 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2513:
-#line 14436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14439 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_yes_no_unk)= TVL_UNKNOWN; }
-#line 36499 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36502 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2514:
-#line 14437 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14440 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_yes_no_unk)= TVL_YES; }
-#line 36505 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2515:
-#line 14438 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_yes_no_unk)= TVL_NO; }
-#line 36511 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2516:
-#line 14442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14445 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36517 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36520 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2517:
-#line 14443 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14446 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36523 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2518:
-#line 14448 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14451 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_COMMIT;
@@ -36532,11 +36535,11 @@
lex->tx_chain= (yyvsp[-1].m_yes_no_unk);
lex->tx_release= (yyvsp[0].m_yes_no_unk);
}
-#line 36536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36539 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2519:
-#line 14460 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14463 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_ROLLBACK;
@@ -36545,56 +36548,56 @@
lex->tx_chain= (yyvsp[-1].m_yes_no_unk);
lex->tx_release= (yyvsp[0].m_yes_no_unk);
}
-#line 36549 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2520:
-#line 14470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14473 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT;
lex->ident= (yyvsp[0].lex_str);
}
-#line 36559 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2521:
-#line 14479 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14482 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_SAVEPOINT;
lex->ident= (yyvsp[0].lex_str);
}
-#line 36569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2522:
-#line 14488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14491 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_RELEASE_SAVEPOINT;
lex->ident= (yyvsp[0].lex_str);
}
-#line 36579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2523:
-#line 14501 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36585 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2525:
-#line 14507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), TRUE))
MYSQL_YYABORT;
}
-#line 36594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2526:
-#line 14512 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14515 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
/*
Remove from the name resolution context stack the context of the
@@ -36602,41 +36605,41 @@
*/
Lex->pop_context();
}
-#line 36606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2527:
-#line 14522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14525 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 0; }
-#line 36612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2528:
-#line 14523 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14526 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 1; }
-#line 36618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2529:
-#line 14524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14527 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 1; }
-#line 36624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2530:
-#line 14528 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14531 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
-#line 36630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2531:
-#line 14529 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
-#line 36636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36639 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2532:
-#line 14533 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= thd->lex;
DBUG_ASSERT(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE);
@@ -36651,80 +36654,80 @@
}
thd->where= "global ORDER clause";
}
-#line 36655 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2533:
-#line 14548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14551 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
thd->lex->current_select->no_table_names_allowed= 0;
thd->where= "";
}
-#line 36664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36667 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2536:
-#line 14560 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14563 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)=1; }
-#line 36670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2537:
-#line 14561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)=1; }
-#line 36676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36679 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2538:
-#line 14562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)=0; }
-#line 36682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36685 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2539:
-#line 14567 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.select_lex)= Lex->current_select->master_unit()->first_select();
}
-#line 36690 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36693 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2540:
-#line 14571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14574 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.select_lex)= Lex->current_select->master_unit()->first_select();
}
-#line 36698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36701 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2542:
-#line 14580 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14583 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), FALSE))
MYSQL_YYABORT;
}
-#line 36707 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2543:
-#line 14586 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->pop_context();
(yyval.select_lex)= (yyvsp[-5].select_lex);
}
-#line 36716 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36719 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2544:
-#line 14595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14598 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.select_lex)= (yyvsp[-1].select_lex);
}
-#line 36724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36727 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2545:
-#line 14601 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14604 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
if (!lex->expr_allows_subselect ||
@@ -36743,11 +36746,11 @@
if (mysql_new_select(Lex, 1))
MYSQL_YYABORT;
}
-#line 36747 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2546:
-#line 14622 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14625 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
@@ -36772,17 +36775,17 @@
temp->select_n_having_items;
}
}
-#line 36776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36779 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2551:
-#line 14659 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14662 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Select->options|= SELECT_STRAIGHT_JOIN; }
-#line 36782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36785 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2552:
-#line 14661 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14664 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
if (check_simple_select())
MYSQL_YYABORT;
@@ -36790,73 +36793,73 @@
YYPS->m_mdl_type= MDL_SHARED_READ;
Select->options|= SELECT_HIGH_PRIORITY;
}
-#line 36794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36797 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2553:
-#line 14668 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14671 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Select->options|= SELECT_DISTINCT; }
-#line 36800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36803 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2554:
-#line 14669 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14672 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Select->options|= SELECT_SMALL_RESULT; }
-#line 36806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2555:
-#line 14670 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14673 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Select->options|= SELECT_BIG_RESULT; }
-#line 36812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36815 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2556:
-#line 14672 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
if (check_simple_select())
MYSQL_YYABORT;
Select->options|= OPTION_BUFFER_RESULT;
}
-#line 36822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36825 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2557:
-#line 14678 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14681 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
if (check_simple_select())
MYSQL_YYABORT;
Select->options|= OPTION_FOUND_ROWS;
}
-#line 36832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36835 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2558:
-#line 14683 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14686 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Select->options|= SELECT_ALL; }
-#line 36838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36841 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2559:
-#line 14694 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14697 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36847 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2560:
-#line 14696 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36853 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2561:
-#line 14698 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14701 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36859 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2575:
-#line 14731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14734 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
/*
We have to distinguish missing DEFINER-clause from case when
@@ -36867,79 +36870,79 @@
*/
thd->lex->definer= 0;
}
-#line 36871 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2576:
-#line 14745 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14748 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
thd->lex->definer= get_current_user(thd, (yyvsp[0].lex_user));
}
-#line 36879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2577:
-#line 14758 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14761 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36885 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2578:
-#line 14760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36891 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36894 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2579:
-#line 14762 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14765 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36897 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36900 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2580:
-#line 14767 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14770 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_mode= VIEW_CREATE_OR_REPLACE; }
-#line 36903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36906 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2581:
-#line 14772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_algorithm= DTYPE_ALGORITHM_UNDEFINED; }
-#line 36909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2582:
-#line 14774 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14777 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_algorithm= VIEW_ALGORITHM_MERGE; }
-#line 36915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36918 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2583:
-#line 14776 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14779 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_algorithm= VIEW_ALGORITHM_TMPTABLE; }
-#line 36921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36924 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2584:
-#line 14781 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14784 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_suid= VIEW_SUID_DEFAULT; }
-#line 36927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2585:
-#line 14783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14786 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_suid= VIEW_SUID_DEFINER; }
-#line 36933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36936 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2586:
-#line 14785 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14788 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_suid= VIEW_SUID_INVOKER; }
-#line 36939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2587:
-#line 14790 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= thd->lex;
lex->sql_command= SQLCOM_CREATE_VIEW;
@@ -36951,35 +36954,35 @@
MYSQL_YYABORT;
lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB;
}
-#line 36955 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36958 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2589:
-#line 14806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14809 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 36961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2591:
-#line 14812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14815 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->view_list.push_back((LEX_STRING*)
sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)));
}
-#line 36970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2592:
-#line 14817 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14820 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->view_list.push_back((LEX_STRING*)
sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)));
}
-#line 36979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2593:
-#line 14824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->parsing_options.allows_variable= FALSE;
@@ -36988,11 +36991,11 @@
lex->parsing_options.allows_derived= FALSE;
lex->create_view_select.str= (char *) YYLIP->get_cpp_ptr();
}
-#line 36992 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 36995 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2594:
-#line 14833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14836 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
uint len= YYLIP->get_cpp_ptr() - lex->create_view_select.str;
@@ -37005,51 +37008,51 @@
lex->parsing_options.allows_select_procedure= TRUE;
lex->parsing_options.allows_derived= TRUE;
}
-#line 37009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2597:
-#line 14854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_check= VIEW_CHECK_NONE; }
-#line 37015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2598:
-#line 14856 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_check= VIEW_CHECK_CASCADED; }
-#line 37021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2599:
-#line 14858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14861 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_check= VIEW_CHECK_CASCADED; }
-#line 37027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2600:
-#line 14860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14863 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_check= VIEW_CHECK_LOCAL; }
-#line 37033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2601:
-#line 14877 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14880 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ /* $8 */
Lex->raw_trg_on_table_name_begin= YYLIP->get_tok_start();
}
-#line 37041 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37044 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2602:
-#line 14883 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ /* $12 */
Lex->raw_trg_on_table_name_end= YYLIP->get_tok_start();
}
-#line 37049 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2603:
-#line 14888 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14891 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ /* $15 */
LEX *lex= thd->lex;
Lex_input_stream *lip= YYLIP;
@@ -37078,11 +37081,11 @@
lex->sphead->m_chistics= &lex->sp_chistics;
lex->sphead->set_body_start(thd, lip->get_cpp_ptr());
}
-#line 37082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2604:
-#line 14917 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14920 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ /* $17 */
LEX *lex= Lex;
sp_head *sp= lex->sphead;
@@ -37106,11 +37109,11 @@
MDL_SHARED_NO_WRITE))
MYSQL_YYABORT;
}
-#line 37110 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37113 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2605:
-#line 14951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14954 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= thd->lex;
if (is_native_function(thd, & (yyvsp[-4].lex_str)))
@@ -37126,11 +37129,11 @@
lex->udf.returns=(Item_result) (yyvsp[-2].num);
lex->udf.dl=(yyvsp[0].lex_str).str;
}
-#line 37130 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2606:
-#line 14968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14971 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= thd->lex;
if (is_native_function(thd, & (yyvsp[-4].lex_str)))
@@ -37146,11 +37149,11 @@
lex->udf.returns=(Item_result) (yyvsp[-2].num);
lex->udf.dl=(yyvsp[0].lex_str).str;
}
-#line 37150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37153 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2607:
-#line 14990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 14993 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ /* $5 */
LEX *lex= thd->lex;
Lex_input_stream *lip= YYLIP;
@@ -37180,19 +37183,19 @@
tmp_param_begin++;
lex->sphead->m_param_begin= tmp_param_begin;
}
-#line 37184 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37187 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2608:
-#line 15021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ /* $8 */
Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start();
}
-#line 37192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37195 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2609:
-#line 15025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ /* $10 */
LEX *lex= Lex;
lex->charset= NULL;
@@ -37201,11 +37204,11 @@
lex->type= 0;
lex->vcol_info= 0;
}
-#line 37205 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37208 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2610:
-#line 15034 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ /* $12 */
LEX *lex= Lex;
sp_head *sp= lex->sphead;
@@ -37228,11 +37231,11 @@
bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
}
-#line 37232 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37235 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2611:
-#line 15057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ /* $14 */
LEX *lex= thd->lex;
Lex_input_stream *lip= YYLIP;
@@ -37240,11 +37243,11 @@
lex->sphead->m_chistics= &lex->sp_chistics;
lex->sphead->set_body_start(thd, lip->get_cpp_tok_start());
}
-#line 37244 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37247 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2612:
-#line 15065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15068 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
@@ -37296,11 +37299,11 @@
}
sp->restore_thd_mem_root(thd);
}
-#line 37300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2613:
-#line 15120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
sp_head *sp;
@@ -37324,11 +37327,11 @@
lex->sphead= sp;
}
-#line 37328 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37331 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2614:
-#line 15144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15147 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
const char* tmp_param_begin;
@@ -37336,33 +37339,33 @@
tmp_param_begin++;
Lex->sphead->m_param_begin= tmp_param_begin;
}
-#line 37340 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37343 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2615:
-#line 15153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= thd->lex;
lex->sphead->m_param_end= YYLIP->get_cpp_tok_start();
bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
}
-#line 37351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2616:
-#line 15160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15163 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= thd->lex;
lex->sphead->m_chistics= &lex->sp_chistics;
lex->sphead->set_body_start(thd, YYLIP->get_cpp_tok_start());
}
-#line 37362 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2617:
-#line 15167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15170 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
sp_head *sp= lex->sphead;
@@ -37371,209 +37374,209 @@
lex->sql_command= SQLCOM_CREATE_PROCEDURE;
sp->restore_thd_mem_root(thd);
}
-#line 37375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37378 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2618:
-#line 15181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_XA_START;
}
-#line 37383 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2619:
-#line 15185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_XA_END;
}
-#line 37391 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37394 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2620:
-#line 15189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_XA_PREPARE;
}
-#line 37399 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37402 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2621:
-#line 15193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_XA_COMMIT;
}
-#line 37407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37410 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2622:
-#line 15197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15200 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_XA_ROLLBACK;
}
-#line 37415 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37418 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2623:
-#line 15201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_XA_RECOVER;
}
-#line 37423 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2624:
-#line 15208 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
MYSQL_YYABORT_UNLESS((yyvsp[0].string)->length() <= MAXGTRIDSIZE);
if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
MYSQL_YYABORT;
Lex->xid->set(1L, (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length(), 0, 0);
}
-#line 37434 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37437 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2625:
-#line 15215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
MYSQL_YYABORT_UNLESS((yyvsp[-2].string)->length() <= MAXGTRIDSIZE && (yyvsp[0].string)->length() <= MAXBQUALSIZE);
if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
MYSQL_YYABORT;
Lex->xid->set(1L, (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length(), (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length());
}
-#line 37445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2626:
-#line 15222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
MYSQL_YYABORT_UNLESS((yyvsp[-4].string)->length() <= MAXGTRIDSIZE && (yyvsp[-2].string)->length() <= MAXBQUALSIZE);
if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
MYSQL_YYABORT;
Lex->xid->set((yyvsp[0].ulong_num), (yyvsp[-4].string)->ptr(), (yyvsp[-4].string)->length(), (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length());
}
-#line 37456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37459 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2627:
-#line 15231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 37462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37465 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2628:
-#line 15232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15235 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 37468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37471 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2629:
-#line 15236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->xa_opt=XA_NONE; }
-#line 37474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2630:
-#line 15237 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->xa_opt=XA_JOIN; }
-#line 37480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2631:
-#line 15238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->xa_opt=XA_RESUME; }
-#line 37486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2632:
-#line 15242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->xa_opt=XA_NONE; }
-#line 37492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2633:
-#line 15243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->xa_opt=XA_ONE_PHASE; }
-#line 37498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2634:
-#line 15248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->xa_opt=XA_NONE; }
-#line 37504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37507 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2635:
-#line 15250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->xa_opt=XA_SUSPEND; }
-#line 37510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37513 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2637:
-#line 15255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{}
-#line 37516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37519 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2638:
-#line 15256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{ Lex->xa_opt=XA_FOR_MIGRATE; }
-#line 37522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37525 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2639:
-#line 15261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_INSTALL_PLUGIN;
lex->comment= (yyvsp[-2].lex_str);
lex->ident= (yyvsp[0].lex_str);
}
-#line 37533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2640:
-#line 15268 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_INSTALL_PLUGIN;
lex->comment= null_lex_str;
lex->ident= (yyvsp[0].lex_str);
}
-#line 37544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37547 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2641:
-#line 15278 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_UNINSTALL_PLUGIN;
lex->comment= (yyvsp[0].lex_str);
}
-#line 37554 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2642:
-#line 15284 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_UNINSTALL_PLUGIN;
lex->comment= null_lex_str;
lex->ident= (yyvsp[0].lex_str);
}
-#line 37565 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2643:
-#line 15295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
+#line 15298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646 */
{
YYERROR;
}
-#line 37573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
-#line 37577 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
+#line 37580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
diff -Nru mariadb-5.5-5.5.63/sql/sql_yacc.yy mariadb-5.5-5.5.64/sql/sql_yacc.yy
--- mariadb-5.5-5.5.63/sql/sql_yacc.yy 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/sql_yacc.yy 2019-04-26 12:37:02.000000000 +0000
@@ -7676,14 +7676,14 @@
| FOR_SYM UPDATE_SYM
{
LEX *lex=Lex;
- lex->current_select->set_lock_for_tables(TL_WRITE);
+ lex->current_select->set_lock_for_tables(TL_WRITE, false);
lex->safe_to_cache_query=0;
}
| LOCK_SYM IN_SYM SHARE_SYM MODE_SYM
{
LEX *lex=Lex;
lex->current_select->
- set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS);
+ set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS, false);
lex->safe_to_cache_query=0;
}
;
@@ -10966,7 +10966,7 @@
insert_lock_option
opt_ignore insert2
{
- Select->set_lock_for_tables($3);
+ Select->set_lock_for_tables($3, true);
Lex->current_select= &Lex->select_lex;
}
insert_field_spec opt_insert_update
@@ -10983,7 +10983,7 @@
}
replace_lock_option insert2
{
- Select->set_lock_for_tables($3);
+ Select->set_lock_for_tables($3, true);
Lex->current_select= &Lex->select_lex;
}
insert_field_spec
@@ -11159,14 +11159,14 @@
opt_low_priority opt_ignore join_table_list
SET update_list
{
- LEX *lex= Lex;
- if (lex->select_lex.table_list.elements > 1)
- lex->sql_command= SQLCOM_UPDATE_MULTI;
- else if (lex->select_lex.get_table_list()->derived)
+ SELECT_LEX *slex= &Lex->select_lex;
+ if (slex->table_list.elements > 1)
+ Lex->sql_command= SQLCOM_UPDATE_MULTI;
+ else if (slex->get_table_list()->derived)
{
/* it is single table update and it is update of derived table */
my_error(ER_NON_UPDATABLE_TABLE, MYF(0),
- lex->select_lex.get_table_list()->alias, "UPDATE");
+ slex->get_table_list()->alias, "UPDATE");
MYSQL_YYABORT;
}
/*
@@ -11174,7 +11174,7 @@
be too pessimistic. We will decrease lock level if possible in
mysql_multi_update().
*/
- Select->set_lock_for_tables($3);
+ slex->set_lock_for_tables($3, slex->table_list.elements == 1);
}
where_clause opt_order_clause delete_limit_clause {}
;
@@ -13834,13 +13834,16 @@
table_ident opt_table_alias lock_option
{
thr_lock_type lock_type= (thr_lock_type) $3;
- bool lock_for_write= (lock_type >= TL_WRITE_ALLOW_WRITE);
- if (!Select->add_table_to_list(thd, $1, $2, 0, lock_type,
- (lock_for_write ?
- lock_type == TL_WRITE_CONCURRENT_INSERT ?
- MDL_SHARED_WRITE :
- MDL_SHARED_NO_READ_WRITE :
- MDL_SHARED_READ)))
+ bool lock_for_write= lock_type >= TL_WRITE_ALLOW_WRITE;
+ ulong table_options= lock_for_write ? TL_OPTION_UPDATING : 0;
+ enum_mdl_type mdl_type= !lock_for_write
+ ? MDL_SHARED_READ
+ : lock_type == TL_WRITE_CONCURRENT_INSERT
+ ? MDL_SHARED_WRITE
+ : MDL_SHARED_NO_READ_WRITE;
+
+ if (!Select->add_table_to_list(thd, $1, $2, table_options,
+ lock_type, mdl_type))
MYSQL_YYABORT;
}
;
diff -Nru mariadb-5.5-5.5.63/sql/table.cc mariadb-5.5-5.5.64/sql/table.cc
--- mariadb-5.5-5.5.63/sql/table.cc 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/sql/table.cc 2019-04-26 12:37:02.000000000 +0000
@@ -5373,7 +5373,8 @@
return natural_join_it.column_ref()->table_name();
DBUG_ASSERT(!strcmp(table_ref->table_name,
- table_ref->table->s->table_name.str));
+ table_ref->table->s->table_name.str) ||
+ table_ref->schema_table);
return table_ref->table_name;
}
diff -Nru mariadb-5.5-5.5.63/storage/innobase/dict/dict0dict.c mariadb-5.5-5.5.64/storage/innobase/dict/dict0dict.c
--- mariadb-5.5-5.5.63/storage/innobase/dict/dict0dict.c 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/innobase/dict/dict0dict.c 2019-04-26 12:37:02.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -3787,6 +3788,9 @@
}
goto loop;
+ } else {
+ strncpy(create_name, name, sizeof create_name);
+ create_name[(sizeof create_name) - 1] = '\0';
}
if (table == NULL) {
@@ -3811,11 +3815,20 @@
goto loop;
}
- ptr = dict_accept(cs, ptr, "TABLE", &success);
-
- if (!success) {
-
- goto loop;
+ orig = ptr;
+ for (;;) {
+ ptr = dict_accept(cs, ptr, "TABLE", &success);
+ if (success) {
+ break;
+ }
+ ptr = dict_accept(cs, ptr, "ONLINE", &success);
+ if (success) {
+ continue;
+ }
+ ptr = dict_accept(cs, ptr, "IGNORE", &success);
+ if (!success) {
+ goto loop;
+ }
}
/* We are doing an ALTER TABLE: scan the table name we are altering */
diff -Nru mariadb-5.5-5.5.63/storage/innobase/include/trx0sys.ic mariadb-5.5-5.5.64/storage/innobase/include/trx0sys.ic
--- mariadb-5.5-5.5.63/storage/innobase/include/trx0sys.ic 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/innobase/include/trx0sys.ic 2019-04-26 12:37:02.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2011, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -353,10 +354,13 @@
}
trx = trx_get_on_id(trx_id);
- if (trx && (trx->conc_state == TRX_ACTIVE
- || trx->conc_state == TRX_PREPARED)) {
-
- return(TRUE);
+ if (trx) {
+ switch (trx->conc_state) {
+ case TRX_ACTIVE:
+ case TRX_PREPARED:
+ case TRX_PREPARED_RECOVERED:
+ return(TRUE);
+ }
}
return(FALSE);
diff -Nru mariadb-5.5-5.5.63/storage/innobase/include/trx0trx.h mariadb-5.5-5.5.64/storage/innobase/include/trx0trx.h
--- mariadb-5.5-5.5.63/storage/innobase/include/trx0trx.h 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/innobase/include/trx0trx.h 2019-04-26 12:37:02.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2010, Innobase Oy. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -741,6 +742,8 @@
#define TRX_ACTIVE 1
#define TRX_COMMITTED_IN_MEMORY 2
#define TRX_PREPARED 3 /* Support for 2PC/XA */
+#define TRX_PREPARED_RECOVERED 4 /* XA PREPARE transaction that
+ was returned to ha_recover() */
/* Transaction execution states when trx->conc_state == TRX_ACTIVE */
#define TRX_QUE_RUNNING 0 /* transaction is running */
diff -Nru mariadb-5.5-5.5.63/storage/innobase/lock/lock0lock.c mariadb-5.5-5.5.64/storage/innobase/lock/lock0lock.c
--- mariadb-5.5-5.5.63/storage/innobase/lock/lock0lock.c 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/innobase/lock/lock0lock.c 2019-04-26 12:37:02.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -4782,6 +4783,22 @@
}
#ifdef UNIV_DEBUG
+/** Validate the state of a transaction that holds locks */
+static void lock_trx_state_validate(const trx_t* trx)
+{
+ switch (trx->conc_state) {
+ case TRX_NOT_STARTED:
+ break;
+ case TRX_ACTIVE:
+ case TRX_PREPARED:
+ case TRX_PREPARED_RECOVERED:
+ case TRX_COMMITTED_IN_MEMORY:
+ return;
+
+ }
+ ut_ad(!"wrong state");
+}
+
/*********************************************************************//**
Validates the lock queue on a table.
@return TRUE if ok */
@@ -4798,9 +4815,7 @@
lock = UT_LIST_GET_FIRST(table->locks);
while (lock) {
- ut_a(((lock->trx)->conc_state == TRX_ACTIVE)
- || ((lock->trx)->conc_state == TRX_PREPARED)
- || ((lock->trx)->conc_state == TRX_COMMITTED_IN_MEMORY));
+ ut_d(lock_trx_state_validate(lock->trx));
if (!lock_get_wait(lock)) {
@@ -4848,15 +4863,7 @@
lock = lock_rec_get_first(block, heap_no);
while (lock) {
- switch(lock->trx->conc_state) {
- case TRX_ACTIVE:
- case TRX_PREPARED:
- case TRX_COMMITTED_IN_MEMORY:
- break;
- default:
- ut_error;
- }
-
+ ut_d(lock_trx_state_validate(lock->trx));
ut_a(trx_in_trx_list(lock->trx));
if (lock_get_wait(lock)) {
@@ -4935,9 +4942,7 @@
lock = lock_rec_get_first(block, heap_no);
while (lock) {
- ut_a(lock->trx->conc_state == TRX_ACTIVE
- || lock->trx->conc_state == TRX_PREPARED
- || lock->trx->conc_state == TRX_COMMITTED_IN_MEMORY);
+ ut_d(lock_trx_state_validate(lock->trx));
ut_a(trx_in_trx_list(lock->trx));
if (index) {
@@ -5014,10 +5019,8 @@
}
}
+ ut_d(lock_trx_state_validate(lock->trx));
ut_a(trx_in_trx_list(lock->trx));
- ut_a(lock->trx->conc_state == TRX_ACTIVE
- || lock->trx->conc_state == TRX_PREPARED
- || lock->trx->conc_state == TRX_COMMITTED_IN_MEMORY);
# ifdef UNIV_SYNC_DEBUG
/* Only validate the record queues when this thread is not
diff -Nru mariadb-5.5-5.5.63/storage/innobase/mysql-test/storage_engine/vcol.rdiff mariadb-5.5-5.5.64/storage/innobase/mysql-test/storage_engine/vcol.rdiff
--- mariadb-5.5-5.5.63/storage/innobase/mysql-test/storage_engine/vcol.rdiff 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/innobase/mysql-test/storage_engine/vcol.rdiff 2019-04-26 12:37:02.000000000 +0000
@@ -10,8 +10,8 @@
-INSERT INTO t1 (a) VALUES (1),(2);
-INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
-Warnings:
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
-SELECT a,b FROM t1;
-a b
-1 2
@@ -27,8 +27,8 @@
-INSERT INTO t1 (a) VALUES (1),(2);
-INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
-Warnings:
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
-SELECT a,b FROM t1;
-a b
-1 2
@@ -44,8 +44,8 @@
-INSERT INTO t1 (a) VALUES (1),(2);
-INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
-Warnings:
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
-SELECT a,b FROM t1;
-a b
-1 2
@@ -61,8 +61,8 @@
-INSERT INTO t1 (a) VALUES (1),(2);
-INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
-Warnings:
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
-SELECT a,b FROM t1;
-a b
-1 2
diff -Nru mariadb-5.5-5.5.63/storage/innobase/read/read0read.c mariadb-5.5-5.5.64/storage/innobase/read/read0read.c
--- mariadb-5.5-5.5.63/storage/innobase/read/read0read.c 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/innobase/read/read0read.c 2019-04-26 12:37:02.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 1997, 2009, Innobase Oy. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -272,15 +273,19 @@
view->low_limit_id = view->low_limit_no;
n = 0;
- trx = UT_LIST_GET_FIRST(trx_sys->trx_list);
/* No active transaction should be visible, except cr_trx */
- while (trx) {
- if (trx->id != cr_trx_id
- && (trx->conc_state == TRX_ACTIVE
- || trx->conc_state == TRX_PREPARED)) {
+ for (trx = UT_LIST_GET_FIRST(trx_sys->trx_list); trx;
+ trx = UT_LIST_GET_NEXT(trx_list, trx)) {
+ if (trx->id == cr_trx_id) {
+ continue;
+ }
+ switch (trx->conc_state) {
+ case TRX_ACTIVE:
+ case TRX_PREPARED:
+ case TRX_PREPARED_RECOVERED:
read_view_set_nth_trx_id(view, n, trx->id);
n++;
@@ -296,8 +301,6 @@
view->low_limit_no = trx->no;
}
}
-
- trx = UT_LIST_GET_NEXT(trx_list, trx);
}
view->n_trx_ids = n;
@@ -437,18 +440,15 @@
view->low_limit_id = view->low_limit_no;
n = 0;
- trx = UT_LIST_GET_FIRST(trx_sys->trx_list);
/* No active transaction should be visible */
-
- while (trx) {
-
- if (trx->conc_state == TRX_ACTIVE
- || trx->conc_state == TRX_PREPARED) {
-
- read_view_set_nth_trx_id(view, n, trx->id);
-
- n++;
+ for (trx = UT_LIST_GET_FIRST(trx_sys->trx_list); trx;
+ trx = UT_LIST_GET_NEXT(trx_list, trx)) {
+ switch (trx->conc_state) {
+ case TRX_ACTIVE:
+ case TRX_PREPARED:
+ case TRX_PREPARED_RECOVERED:
+ read_view_set_nth_trx_id(view, n++, trx->id);
/* NOTE that a transaction whose trx number is <
trx_sys->max_trx_id can still be active, if it is
@@ -461,8 +461,6 @@
view->low_limit_no = trx->no;
}
}
-
- trx = UT_LIST_GET_NEXT(trx_list, trx);
}
view->n_trx_ids = n;
diff -Nru mariadb-5.5-5.5.63/storage/innobase/row/row0mysql.c mariadb-5.5-5.5.64/storage/innobase/row/row0mysql.c
--- mariadb-5.5-5.5.63/storage/innobase/row/row0mysql.c 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/innobase/row/row0mysql.c 2019-04-26 12:37:02.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -572,8 +573,7 @@
switch (err) {
case DB_LOCK_WAIT_TIMEOUT:
if (row_rollback_on_timeout) {
- trx_general_rollback_for_mysql(trx, NULL);
- break;
+ goto rollback;
}
/* fall through */
case DB_DUPLICATE_KEY:
@@ -586,6 +586,7 @@
case DB_TOO_MANY_CONCURRENT_TRXS:
case DB_OUT_OF_FILE_SPACE:
case DB_INTERRUPTED:
+ rollback_to_savept:
if (savept) {
/* Roll back the latest, possibly incomplete
insertion or update */
@@ -609,6 +610,7 @@
case DB_DEADLOCK:
case DB_LOCK_TABLE_FULL:
+ rollback:
/* Roll back the whole transaction; this resolution was added
to version 3.23.43 */
@@ -638,14 +640,14 @@
"InnoDB: you dump the tables, look at\n"
"InnoDB: " REFMAN "forcing-innodb-recovery.html"
" for help.\n", stderr);
- break;
+ goto rollback_to_savept;
case DB_FOREIGN_EXCEED_MAX_CASCADE:
fprintf(stderr, "InnoDB: Cannot delete/update rows with"
" cascading foreign key constraints that exceed max"
" depth of %lu\n"
"Please drop excessive foreign constraints"
" and try again\n", (ulong) DICT_FK_MAX_RECURSIVE_LOAD);
- break;
+ goto rollback_to_savept;
default:
fprintf(stderr, "InnoDB: unknown error code %lu\n",
(ulong) err);
diff -Nru mariadb-5.5-5.5.63/storage/innobase/trx/trx0roll.c mariadb-5.5-5.5.64/storage/innobase/trx/trx0roll.c
--- mariadb-5.5-5.5.63/storage/innobase/trx/trx0roll.c 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/innobase/trx/trx0roll.c 2019-04-26 12:37:02.000000000 +0000
@@ -2,6 +2,7 @@
Copyright (c) 1996, 2009, Innobase Oy. All Rights Reserved.
Copyright (c) 2017, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -564,6 +565,7 @@
switch (trx->conc_state) {
case TRX_NOT_STARTED:
case TRX_PREPARED:
+ case TRX_PREPARED_RECOVERED:
continue;
case TRX_COMMITTED_IN_MEMORY:
diff -Nru mariadb-5.5-5.5.63/storage/innobase/trx/trx0sys.c mariadb-5.5-5.5.64/storage/innobase/trx/trx0sys.c
--- mariadb-5.5-5.5.63/storage/innobase/trx/trx0sys.c 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/innobase/trx/trx0sys.c 2019-04-26 12:37:02.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -1031,7 +1032,7 @@
trx = UT_LIST_GET_FIRST(trx_sys->trx_list);
for (;;) {
-
+ ut_ad(trx->conc_state != TRX_PREPARED_RECOVERED);
if (trx->conc_state != TRX_PREPARED) {
rows_to_undo += trx->undo_no;
}
diff -Nru mariadb-5.5-5.5.63/storage/innobase/trx/trx0trx.c mariadb-5.5-5.5.64/storage/innobase/trx/trx0trx.c
--- mariadb-5.5-5.5.63/storage/innobase/trx/trx0trx.c 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/innobase/trx/trx0trx.c 2019-04-26 12:37:02.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2011, Innobase Oy. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -348,7 +349,8 @@
trx_t* trx) /*!< in, own: trx object */
{
ut_ad(mutex_own(&kernel_mutex));
- ut_a(trx->conc_state == TRX_PREPARED);
+ ut_a(trx->conc_state == TRX_PREPARED
+ || trx->conc_state == TRX_PREPARED_RECOVERED);
ut_a(trx->magic_n == TRX_MAGIC_N);
/* Prepared transactions are sort of active; they allow
@@ -932,10 +934,11 @@
lsn = 0;
}
- ut_ad(trx->conc_state == TRX_ACTIVE || trx->conc_state == TRX_PREPARED);
+ ut_ad(trx->conc_state == TRX_ACTIVE || trx->conc_state == TRX_PREPARED
+ || trx->conc_state == TRX_PREPARED_RECOVERED);
ut_ad(mutex_own(&kernel_mutex));
- if (UNIV_UNLIKELY(trx->conc_state == TRX_PREPARED)) {
+ if (UNIV_UNLIKELY(trx->conc_state != TRX_ACTIVE)) {
ut_a(trx_n_prepared > 0);
trx_n_prepared--;
}
@@ -2072,6 +2075,7 @@
while (trx) {
if (trx->conc_state == TRX_PREPARED) {
+ trx->conc_state = TRX_PREPARED_RECOVERED;
xid_list[count] = trx->xid;
if (count == 0) {
@@ -2096,13 +2100,25 @@
count++;
if (count == len) {
- break;
+ goto partial;
}
}
trx = UT_LIST_GET_NEXT(trx_list, trx);
}
+ /* After returning the full list, reset the state, because
+ init_server_components() wants to recover the collection of
+ transactions twice, by first calling tc_log->open() and then
+ ha_recover() directly. */
+ for (trx = UT_LIST_GET_FIRST(trx_sys->trx_list); trx;
+ trx = UT_LIST_GET_NEXT(trx_list, trx)) {
+ if (trx->conc_state == TRX_PREPARED_RECOVERED) {
+ trx->conc_state = TRX_PREPARED;
+ }
+ }
+
+partial:
mutex_exit(&kernel_mutex);
if (count > 0){
@@ -2144,7 +2160,8 @@
the same */
if (trx->is_recovered
- && trx->conc_state == TRX_PREPARED
+ && (trx->conc_state == TRX_PREPARED
+ || trx->conc_state == TRX_PREPARED_RECOVERED)
&& xid->gtrid_length == trx->xid.gtrid_length
&& xid->bqual_length == trx->xid.bqual_length
&& memcmp(xid->data, trx->xid.data,
diff -Nru mariadb-5.5-5.5.63/storage/myisammrg/mysql-test/storage_engine/vcol.rdiff mariadb-5.5-5.5.64/storage/myisammrg/mysql-test/storage_engine/vcol.rdiff
--- mariadb-5.5-5.5.63/storage/myisammrg/mysql-test/storage_engine/vcol.rdiff 2019-01-27 18:02:23.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/myisammrg/mysql-test/storage_engine/vcol.rdiff 2019-04-26 12:37:02.000000000 +0000
@@ -10,8 +10,8 @@
-INSERT INTO t1 (a) VALUES (1),(2);
-INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
-Warnings:
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
-SELECT a,b FROM t1;
-a b
-1 2
@@ -27,8 +27,8 @@
-INSERT INTO t1 (a) VALUES (1),(2);
-INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
-Warnings:
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
-SELECT a,b FROM t1;
-a b
-1 2
@@ -44,8 +44,8 @@
-INSERT INTO t1 (a) VALUES (1),(2);
-INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
-Warnings:
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
-SELECT a,b FROM t1;
-a b
-1 2
@@ -61,8 +61,8 @@
-INSERT INTO t1 (a) VALUES (1),(2);
-INSERT INTO t1 (a,b) VALUES (3,3),(4,4);
-Warnings:
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
--Warning 1906 The value specified for computed column 'b' in table 't1' ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
+-Warning 1906 The value specified for computed column 'b' in table 't1' has been ignored
-SELECT a,b FROM t1;
-a b
-1 2
diff -Nru mariadb-5.5-5.5.63/storage/xtradb/dict/dict0dict.c mariadb-5.5-5.5.64/storage/xtradb/dict/dict0dict.c
--- mariadb-5.5-5.5.63/storage/xtradb/dict/dict0dict.c 2019-01-27 18:02:25.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/xtradb/dict/dict0dict.c 2019-04-26 12:37:03.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -3921,6 +3922,9 @@
}
goto loop;
+ } else {
+ strncpy(create_name, name, sizeof create_name);
+ create_name[(sizeof create_name) - 1] = '\0';
}
if (table == NULL) {
@@ -3945,11 +3949,20 @@
goto loop;
}
- ptr = dict_accept(cs, ptr, "TABLE", &success);
-
- if (!success) {
-
- goto loop;
+ orig = ptr;
+ for (;;) {
+ ptr = dict_accept(cs, ptr, "TABLE", &success);
+ if (success) {
+ break;
+ }
+ ptr = dict_accept(cs, ptr, "ONLINE", &success);
+ if (success) {
+ continue;
+ }
+ ptr = dict_accept(cs, ptr, "IGNORE", &success);
+ if (!success) {
+ goto loop;
+ }
}
/* We are doing an ALTER TABLE: scan the table name we are altering */
diff -Nru mariadb-5.5-5.5.63/storage/xtradb/include/trx0trx.h mariadb-5.5-5.5.64/storage/xtradb/include/trx0trx.h
--- mariadb-5.5-5.5.63/storage/xtradb/include/trx0trx.h 2019-01-27 18:02:26.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/xtradb/include/trx0trx.h 2019-04-26 12:37:03.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2010, Innobase Oy. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -802,6 +803,8 @@
#define TRX_ACTIVE 1
#define TRX_COMMITTED_IN_MEMORY 2
#define TRX_PREPARED 3 /* Support for 2PC/XA */
+#define TRX_PREPARED_RECOVERED 4 /* XA PREPARE transaction that
+ was returned to ha_recover() */
/* Transaction execution states when trx->conc_state == TRX_ACTIVE */
#define TRX_QUE_RUNNING 0 /* transaction is running */
diff -Nru mariadb-5.5-5.5.63/storage/xtradb/lock/lock0lock.c mariadb-5.5-5.5.64/storage/xtradb/lock/lock0lock.c
--- mariadb-5.5-5.5.63/storage/xtradb/lock/lock0lock.c 2019-01-27 18:02:26.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/xtradb/lock/lock0lock.c 2019-04-26 12:37:03.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -4811,6 +4812,22 @@
}
#ifdef UNIV_DEBUG
+/** Validate the state of a transaction that holds locks */
+static void lock_trx_state_validate(const trx_t* trx)
+{
+ switch (trx->state) {
+ case TRX_NOT_STARTED:
+ break;
+ case TRX_ACTIVE:
+ case TRX_PREPARED:
+ case TRX_PREPARED_RECOVERED:
+ case TRX_COMMITTED_IN_MEMORY:
+ return;
+
+ }
+ ut_ad(!"wrong state");
+}
+
/*********************************************************************//**
Validates the lock queue on a table.
@return TRUE if ok */
@@ -4827,9 +4844,7 @@
lock = UT_LIST_GET_FIRST(table->locks);
while (lock) {
- ut_a(((lock->trx)->state == TRX_ACTIVE)
- || ((lock->trx)->state == TRX_PREPARED)
- || ((lock->trx)->state == TRX_COMMITTED_IN_MEMORY));
+ ut_d(lock_trx_state_validate(lock->trx));
if (!lock_get_wait(lock)) {
@@ -4877,15 +4892,7 @@
lock = lock_rec_get_first(block, heap_no);
while (lock) {
- switch(lock->trx->state) {
- case TRX_ACTIVE:
- case TRX_PREPARED:
- case TRX_COMMITTED_IN_MEMORY:
- break;
- default:
- ut_error;
- }
-
+ ut_d(lock_trx_state_validate(lock->trx));
ut_a(trx_in_trx_list(lock->trx));
if (lock_get_wait(lock)) {
@@ -4964,9 +4971,7 @@
lock = lock_rec_get_first(block, heap_no);
while (lock) {
- ut_a(lock->trx->state == TRX_ACTIVE
- || lock->trx->state == TRX_PREPARED
- || lock->trx->state == TRX_COMMITTED_IN_MEMORY);
+ ut_d(lock_trx_state_validate(lock->trx));
ut_a(trx_in_trx_list(lock->trx));
if (index) {
@@ -5043,10 +5048,8 @@
}
}
+ ut_d(lock_trx_state_validate(lock->trx));
ut_a(trx_in_trx_list(lock->trx));
- ut_a(lock->trx->state == TRX_ACTIVE
- || lock->trx->state == TRX_PREPARED
- || lock->trx->state == TRX_COMMITTED_IN_MEMORY);
# ifdef UNIV_SYNC_DEBUG
/* Only validate the record queues when this thread is not
diff -Nru mariadb-5.5-5.5.63/storage/xtradb/row/row0mysql.c mariadb-5.5-5.5.64/storage/xtradb/row/row0mysql.c
--- mariadb-5.5-5.5.63/storage/xtradb/row/row0mysql.c 2019-01-27 18:02:26.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/xtradb/row/row0mysql.c 2019-04-26 12:37:03.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -574,8 +575,7 @@
switch (err) {
case DB_LOCK_WAIT_TIMEOUT:
if (row_rollback_on_timeout) {
- trx_general_rollback_for_mysql(trx, NULL);
- break;
+ goto rollback;
}
/* fall through */
case DB_DUPLICATE_KEY:
@@ -588,6 +588,7 @@
case DB_TOO_MANY_CONCURRENT_TRXS:
case DB_OUT_OF_FILE_SPACE:
case DB_INTERRUPTED:
+ rollback_to_savept:
if (savept) {
/* Roll back the latest, possibly incomplete
insertion or update */
@@ -611,6 +612,7 @@
case DB_DEADLOCK:
case DB_LOCK_TABLE_FULL:
+ rollback:
/* Roll back the whole transaction; this resolution was added
to version 3.23.43 */
@@ -640,14 +642,14 @@
"InnoDB: you dump the tables, look at\n"
"InnoDB: " REFMAN "forcing-innodb-recovery.html"
" for help.\n", stderr);
- break;
+ goto rollback_to_savept;
case DB_FOREIGN_EXCEED_MAX_CASCADE:
fprintf(stderr, "InnoDB: Cannot delete/update rows with"
" cascading foreign key constraints that exceed max"
" depth of %lu\n"
"Please drop excessive foreign constraints"
" and try again\n", (ulong) DICT_FK_MAX_RECURSIVE_LOAD);
- break;
+ goto rollback_to_savept;
default:
fprintf(stderr, "InnoDB: unknown error code %lu\n",
(ulong) err);
diff -Nru mariadb-5.5-5.5.63/storage/xtradb/trx/trx0roll.c mariadb-5.5-5.5.64/storage/xtradb/trx/trx0roll.c
--- mariadb-5.5-5.5.63/storage/xtradb/trx/trx0roll.c 2019-01-27 18:02:26.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/xtradb/trx/trx0roll.c 2019-04-26 12:37:03.000000000 +0000
@@ -2,6 +2,7 @@
Copyright (c) 1996, 2009, Innobase Oy. All Rights Reserved.
Copyright (c) 2017, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -564,6 +565,7 @@
switch (trx->state) {
case TRX_NOT_STARTED:
case TRX_PREPARED:
+ case TRX_PREPARED_RECOVERED:
continue;
case TRX_COMMITTED_IN_MEMORY:
diff -Nru mariadb-5.5-5.5.63/storage/xtradb/trx/trx0sys.c mariadb-5.5-5.5.64/storage/xtradb/trx/trx0sys.c
--- mariadb-5.5-5.5.63/storage/xtradb/trx/trx0sys.c 2019-01-27 18:02:26.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/xtradb/trx/trx0sys.c 2019-04-26 12:37:03.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -1355,7 +1356,7 @@
trx = UT_LIST_GET_FIRST(trx_sys->trx_list);
for (;;) {
-
+ ut_ad(trx->state != TRX_PREPARED_RECOVERED);
if (trx->state != TRX_PREPARED) {
rows_to_undo += trx->undo_no;
}
diff -Nru mariadb-5.5-5.5.63/storage/xtradb/trx/trx0trx.c mariadb-5.5-5.5.64/storage/xtradb/trx/trx0trx.c
--- mariadb-5.5-5.5.63/storage/xtradb/trx/trx0trx.c 2019-01-27 18:02:26.000000000 +0000
+++ mariadb-5.5-5.5.64/storage/xtradb/trx/trx0trx.c 2019-04-26 12:37:03.000000000 +0000
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2011, Innobase Oy. All Rights Reserved.
+Copyright (c) 2019, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -481,7 +482,8 @@
trx_t* trx) /*!< in, own: trx object */
{
ut_ad(mutex_own(&kernel_mutex));
- ut_a(trx->state == TRX_PREPARED);
+ ut_a(trx->state == TRX_PREPARED
+ || trx->state == TRX_PREPARED_RECOVERED);
ut_a(trx->magic_n == TRX_MAGIC_N);
/* Prepared transactions are sort of active; they allow
@@ -1148,10 +1150,11 @@
lsn = 0;
}
- ut_ad(trx->state == TRX_ACTIVE || trx->state == TRX_PREPARED);
+ ut_ad(trx->state == TRX_ACTIVE || trx->state == TRX_PREPARED
+ || trx->state == TRX_PREPARED_RECOVERED);
ut_ad(mutex_own(&kernel_mutex));
- if (UNIV_UNLIKELY(trx->state == TRX_PREPARED)) {
+ if (UNIV_UNLIKELY(trx->state != TRX_ACTIVE)) {
ut_a(trx_n_prepared > 0);
trx_n_prepared--;
}
@@ -2359,6 +2362,7 @@
while (trx) {
if (trx->state == TRX_PREPARED) {
+ trx->state = TRX_PREPARED_RECOVERED;
xid_list[count] = trx->xid;
if (count == 0) {
@@ -2383,13 +2387,25 @@
count++;
if (count == len) {
- break;
+ goto partial;
}
}
trx = UT_LIST_GET_NEXT(trx_list, trx);
}
+ /* After returning the full list, reset the state, because
+ init_server_components() wants to recover the collection of
+ transactions twice, by first calling tc_log->open() and then
+ ha_recover() directly. */
+ for (trx = UT_LIST_GET_FIRST(trx_sys->trx_list); trx;
+ trx = UT_LIST_GET_NEXT(trx_list, trx)) {
+ if (trx->state == TRX_PREPARED_RECOVERED) {
+ trx->state = TRX_PREPARED;
+ }
+ }
+
+partial:
mutex_exit(&kernel_mutex);
if (count > 0){
@@ -2431,7 +2447,8 @@
the same */
if (trx->is_recovered
- && trx->state == TRX_PREPARED
+ && (trx->state == TRX_PREPARED
+ || trx->state == TRX_PREPARED_RECOVERED)
&& xid->gtrid_length == trx->xid.gtrid_length
&& xid->bqual_length == trx->xid.bqual_length
&& memcmp(xid->data, trx->xid.data,
diff -Nru mariadb-5.5-5.5.63/VERSION mariadb-5.5-5.5.64/VERSION
--- mariadb-5.5-5.5.63/VERSION 2019-01-27 18:02:20.000000000 +0000
+++ mariadb-5.5-5.5.64/VERSION 2019-04-26 12:37:01.000000000 +0000
@@ -1,4 +1,4 @@
MYSQL_VERSION_MAJOR=5
MYSQL_VERSION_MINOR=5
-MYSQL_VERSION_PATCH=63
+MYSQL_VERSION_PATCH=64
MYSQL_VERSION_EXTRA=
diff -Nru mariadb-5.5-5.5.63/win/packaging/create_msi.cmake.in mariadb-5.5-5.5.64/win/packaging/create_msi.cmake.in
--- mariadb-5.5-5.5.63/win/packaging/create_msi.cmake.in 2019-01-27 18:02:26.000000000 +0000
+++ mariadb-5.5-5.5.64/win/packaging/create_msi.cmake.in 2019-04-26 12:37:03.000000000 +0000
@@ -401,9 +401,10 @@
ENDIF()
FILE(REMOVE mysql_server.wixobj extra.wixobj)
+STRING(REPLACE " " ";" EXTRA_WIX_PREPROCESSOR_FLAGS_LIST ${EXTRA_WIX_PREPROCESSOR_FLAGS})
EXECUTE_PROCESS(
COMMAND ${CANDLE_EXECUTABLE}
- ${EXTRA_WIX_PREPROCESSOR_FLAGS}
+ ${EXTRA_WIX_PREPROCESSOR_FLAGS_LIST}
${CANDLE_ARCH}
-ext WixUtilExtension
-ext WixFirewallExtension
@@ -413,7 +414,7 @@
EXECUTE_PROCESS(
COMMAND ${CANDLE_EXECUTABLE} ${CANDLE_ARCH}
- ${EXTRA_WIX_PREPROCESSOR_FLAGS}
+ ${EXTRA_WIX_PREPROCESSOR_FLAGS_LIST}
-ext WixUtilExtension
-ext WixFirewallExtension
${CMAKE_CURRENT_BINARY_DIR}/extra.wxs
|