diff options
Diffstat (limited to 'mysql-test')
42 files changed, 375 insertions, 173 deletions
diff --git a/mysql-test/include/wait_until_disconnected.inc b/mysql-test/include/wait_until_disconnected.inc index 93ada7f11ce..3854369bb60 100644 --- a/mysql-test/include/wait_until_disconnected.inc +++ b/mysql-test/include/wait_until_disconnected.inc @@ -9,7 +9,7 @@ let $counter= 600; let $mysql_errno= 0; while (!$mysql_errno) { - --error 0,ER_SERVER_SHUTDOWN,ER_CONNECTION_KILLED,2002,2006,2013 + --error 0,ER_SERVER_SHUTDOWN,ER_CONNECTION_KILLED,2002,2006,2026,2013,5014 show status; dec $counter; diff --git a/mysql-test/main/func_json.result b/mysql-test/main/func_json.result index 83e6bde8e5b..d072b9f59ad 100644 --- a/mysql-test/main/func_json.result +++ b/mysql-test/main/func_json.result @@ -1005,6 +1005,17 @@ JSON_VALID('{"admin\\"": null}') {"admin\"": null} 1 {"\"admin": null} 1 {"\"": null} # +# MDEV-29188: Crash in JSON_EXTRACT +# +CREATE TABLE t1 (j JSON); +INSERT INTO t1 VALUES +('{"ID": "4", "Name": "Betty", "Age": 19}'), +('[10, 20, [30, 40]]'); +SELECT * FROM t1 WHERE JSON_EXTRACT(j, '$.Age')=19; +j +{"ID": "4", "Name": "Betty", "Age": 19} +drop table t1; +# # End of 10.3 tests # # diff --git a/mysql-test/main/func_json.test b/mysql-test/main/func_json.test index 91e283829df..db474e38a2c 100644 --- a/mysql-test/main/func_json.test +++ b/mysql-test/main/func_json.test @@ -614,6 +614,20 @@ SELECT JSON_VALID('{"admin\\"": null}'), '{"admin\\"": null}' SELECT JSON_VALID('{"\\"": null}'), '{"\\"": null}'; --echo # +--echo # MDEV-29188: Crash in JSON_EXTRACT +--echo # + +CREATE TABLE t1 (j JSON); + +INSERT INTO t1 VALUES + ('{"ID": "4", "Name": "Betty", "Age": 19}'), + ('[10, 20, [30, 40]]'); + +SELECT * FROM t1 WHERE JSON_EXTRACT(j, '$.Age')=19; + +drop table t1; + +--echo # --echo # End of 10.3 tests --echo # diff --git a/mysql-test/main/kill.test b/mysql-test/main/kill.test index c7f6d1e098f..7dc57158825 100644 --- a/mysql-test/main/kill.test +++ b/mysql-test/main/kill.test @@ -57,7 +57,7 @@ SET DEBUG_SYNC= 'now WAIT_FOR con1_end'; SET DEBUG_SYNC = 'RESET'; connection con1; ---error 1053,2006,2013 +--error 1053,2006,2013,5014 SELECT 1; --enable_reconnect @@ -96,7 +96,7 @@ SET DEBUG_SYNC= 'now WAIT_FOR con1_end'; SET DEBUG_SYNC = 'RESET'; connection con1; ---error 1053,2006,2013 +--error 1053,2006,2013,5014 SELECT 1; enable_reconnect; SELECT 1; @@ -143,7 +143,7 @@ KILL @id; SET DEBUG_SYNC= 'now WAIT_FOR con1_end'; connection con1; ---error 1317,1053,2006,2013 +--error 1317,1053,2006,2013,5014 reap; SELECT 1; @@ -288,7 +288,7 @@ SET DEBUG_SYNC= 'now WAIT_FOR con1_end'; connection con1; --echo # ER_SERVER_SHUTDOWN, CR_SERVER_GONE_ERROR, CR_SERVER_LOST, --echo # depending on the timing of close of the connection socket ---error 1053,2006,2013 +--error 1053,2006,2013,5014 SELECT 1; --enable_reconnect SELECT 1; @@ -521,10 +521,10 @@ drop user test@localhost; drop user test2@localhost; connection con3; ---error 2013,2006 +--error 2013,2006,5014 select 1; connection con4; ---error 2013,2006 +--error 2013,2006,5014 select 1; connection default; diff --git a/mysql-test/main/long_unique_bugs.result b/mysql-test/main/long_unique_bugs.result index 709ed929fba..232cb0a38c0 100644 --- a/mysql-test/main/long_unique_bugs.result +++ b/mysql-test/main/long_unique_bugs.result @@ -316,6 +316,25 @@ update t1,t2 set v1 = v2 , v5 = 0; ERROR 23000: Duplicate entry '-128' for key 'v1' drop table t1, t2; # +# MDEV-21540 Initialization of already inited long unique index on reorganize partition +# +create table t1 (x int, a blob) +partition by range (x) ( +partition p1 values less than (50), +partition pn values less than maxvalue); +insert into t1 values (1, 1), (100, 1); +alter table t1 add unique key (a); +ERROR 23000: Duplicate entry '1' for key 'a' +update t1 set a= x; +alter table t1 add unique key (a); +update t1 set a= 1; +ERROR 23000: Duplicate entry '1' for key 'a' +update t1 set a= x + 1; +alter table t1 reorganize partition p1 into ( +partition n0 values less than (10), +partition n1 values less than (50)); +drop table t1; +# # End of 10.4 tests # # diff --git a/mysql-test/main/long_unique_bugs.test b/mysql-test/main/long_unique_bugs.test index c5eb208d810..e313d1d434e 100644 --- a/mysql-test/main/long_unique_bugs.test +++ b/mysql-test/main/long_unique_bugs.test @@ -398,6 +398,33 @@ update t1,t2 set v1 = v2 , v5 = 0; drop table t1, t2; --echo # +--echo # MDEV-21540 Initialization of already inited long unique index on reorganize partition +--echo # +create table t1 (x int, a blob) +partition by range (x) ( + partition p1 values less than (50), + partition pn values less than maxvalue); + +insert into t1 values (1, 1), (100, 1); + +# a little bit of additional checks +--error ER_DUP_ENTRY +alter table t1 add unique key (a); + +update t1 set a= x; +alter table t1 add unique key (a); +--error ER_DUP_ENTRY +update t1 set a= 1; +update t1 set a= x + 1; + +# bug failure +alter table t1 reorganize partition p1 into ( + partition n0 values less than (10), + partition n1 values less than (50)); + +drop table t1; + +--echo # --echo # End of 10.4 tests --echo # diff --git a/mysql-test/main/mysql_upgrade.result b/mysql-test/main/mysql_upgrade.result index 5fe4ccd2c1f..9bc0c06aa10 100644 --- a/mysql-test/main/mysql_upgrade.result +++ b/mysql-test/main/mysql_upgrade.result @@ -947,6 +947,44 @@ disconnect con1; connection default; drop table mysql.global_priv; rename table mysql.global_priv_bak to mysql.global_priv; +# +# MDEV-28727 ALTER TABLE ALGORITHM=NOCOPY does not work after upgrade +# +create or replace table pet4 ( +build_time double(18, 7) default null, +key idx1 (build_time) +) engine innodb; +check table pet4; +Table Op Msg_type Msg_text +test.pet4 check error Table rebuild required. Please do "ALTER TABLE `pet4` FORCE" or dump/reload to fix it! +check table pet4 for upgrade; +Table Op Msg_type Msg_text +test.pet4 check error Table rebuild required. Please do "ALTER TABLE `pet4` FORCE" or dump/reload to fix it! +alter table pet4 add i1 int, algorithm=nocopy; +ERROR 0A000: ALGORITHM=NOCOPY is not supported for this operation. Try ALGORITHM=INPLACE +# Running mysqlcheck +test.pet4 +error : Table rebuild required. Please do "ALTER TABLE `pet4` FORCE" or dump/reload to fix it! + +Repairing tables +check table pet4; +Table Op Msg_type Msg_text +test.pet4 check status OK +alter table pet4 add i1 int, algorithm=nocopy; +create or replace table pet4 ( +build_time double(18, 7) default null, +key idx1 (build_time) +) engine innodb; +alter table pet4 add i1 int, algorithm=nocopy; +ERROR 0A000: ALGORITHM=NOCOPY is not supported for this operation. Try ALGORITHM=INPLACE +# Running mysql_upgrade +test.pet4 +error : Table rebuild required. Please do "ALTER TABLE `pet4` FORCE" or dump/reload to fix it! +check table pet4; +Table Op Msg_type Msg_text +test.pet4 check status OK +alter table pet4 add i1 int, algorithm=nocopy; +drop table pet4; # End of 10.4 tests # # Check that mysql_upgrade can be run on mysqldump diff --git a/mysql-test/main/mysql_upgrade.test b/mysql-test/main/mysql_upgrade.test index a743cf481ea..017a7cc742f 100644 --- a/mysql-test/main/mysql_upgrade.test +++ b/mysql-test/main/mysql_upgrade.test @@ -471,6 +471,47 @@ drop table mysql.global_priv; rename table mysql.global_priv_bak to mysql.global_priv; --remove_file $MYSQLD_DATADIR/mysql_upgrade_info +--echo # +--echo # MDEV-28727 ALTER TABLE ALGORITHM=NOCOPY does not work after upgrade +--echo # +create or replace table pet4 ( + build_time double(18, 7) default null, + key idx1 (build_time) +) engine innodb; + +--remove_file $MYSQLD_DATADIR/test/pet4.frm +--copy_file std_data/mdev-28727-pet4.frm $MYSQLD_DATADIR/test/pet4.frm + +check table pet4; +check table pet4 for upgrade; +--error ER_ALTER_OPERATION_NOT_SUPPORTED +alter table pet4 add i1 int, algorithm=nocopy; + +--echo # Running mysqlcheck +--exec $MYSQL_CHECK --auto-repair --databases test 2>&1 +check table pet4; +alter table pet4 add i1 int, algorithm=nocopy; + +create or replace table pet4 ( + build_time double(18, 7) default null, + key idx1 (build_time) +) engine innodb; + +--remove_file $MYSQLD_DATADIR/test/pet4.frm +--copy_file std_data/mdev-28727-pet4.frm $MYSQLD_DATADIR/test/pet4.frm + +--error ER_ALTER_OPERATION_NOT_SUPPORTED +alter table pet4 add i1 int, algorithm=nocopy; + +--echo # Running mysql_upgrade +--exec $MYSQL_UPGRADE --silent 2>&1 +file_exists $MYSQLD_DATADIR/mysql_upgrade_info; +check table pet4; +alter table pet4 add i1 int, algorithm=nocopy; + +--remove_file $MYSQLD_DATADIR/mysql_upgrade_info +drop table pet4; + --echo # End of 10.4 tests # diff --git a/mysql-test/main/openssl_1.result b/mysql-test/main/openssl_1.result index 96b1895d57b..a9c092948be 100644 --- a/mysql-test/main/openssl_1.result +++ b/mysql-test/main/openssl_1.result @@ -47,11 +47,11 @@ disconnect con3; disconnect con4; drop user ssl_user1@localhost, ssl_user3@localhost, ssl_user4@localhost, ssl_user5@localhost; drop table t1; -mysqltest: Could not open connection 'default': 2026 SSL connection error: xxxx -mysqltest: Could not open connection 'default': 2026 SSL connection error: xxxx -mysqltest: Could not open connection 'default': 2026 SSL connection error: xxxx -mysqltest: Could not open connection 'default': 2026 SSL connection error: xxxx -mysqltest: Could not open connection 'default': 2026 SSL connection error: xxxx +mysqltest: Could not open connection 'default': 2026 TLS/SSL error: xxxx +mysqltest: Could not open connection 'default': 2026 TLS/SSL error: xxxx +mysqltest: Could not open connection 'default': 2026 TLS/SSL error: xxxx +mysqltest: Could not open connection 'default': 2026 TLS/SSL error: xxxx +mysqltest: Could not open connection 'default': 2026 TLS/SSL error: xxxx have_ssl 1 End of 5.0 tests @@ -179,7 +179,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -mysqldump: Got error: 2026: "SSL connection error: xxxx +mysqldump: Got error: 2026: "TLS/SSL error: xxxx DROP TABLE t1; GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; FLUSH PRIVILEGES; @@ -196,4 +196,4 @@ End of 5.1 tests /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; -ERROR: Failed on connect: SSL connection error
\ No newline at end of file +ERROR: Failed on connect: TLS/SSL error
\ No newline at end of file diff --git a/mysql-test/main/openssl_1.test b/mysql-test/main/openssl_1.test index fff65624b12..968f6e13473 100644 --- a/mysql-test/main/openssl_1.test +++ b/mysql-test/main/openssl_1.test @@ -70,7 +70,7 @@ drop table t1; # --exec echo "this query should not execute;" > $MYSQLTEST_VARDIR/tmp/test.sql # Handle that openssl gives different error messages from YaSSL. ---replace_regex /2026 SSL connection error.*/2026 SSL connection error: xxxx/ +--replace_regex /2026 TLS\/SSL error.*/2026 TLS\/SSL error: xxxx/ --error 1 --exec $MYSQL_TEST --ssl-ca=$MYSQL_TEST_DIR/std_data/untrusted-cacert.pem --max-connect-retries=1 < $MYSQLTEST_VARDIR/tmp/test.sql 2>&1 --echo @@ -79,7 +79,7 @@ drop table t1; # Test that we can't open connection to server if we are using # a blank ca # ---replace_regex /2026 SSL connection error.*/2026 SSL connection error: xxxx/ +--replace_regex /2026 TLS\/SSL error.*/2026 TLS\/SSL error: xxxx/ --error 1 --exec $MYSQL_TEST --ssl-ca= --max-connect-retries=1 < $MYSQLTEST_VARDIR/tmp/test.sql 2>&1 --echo @@ -88,7 +88,7 @@ drop table t1; # Test that we can't open connection to server if we are using # a nonexistent ca file # ---replace_regex /2026 SSL connection error.*/2026 SSL connection error: xxxx/ +--replace_regex /2026 TLS\/SSL error.*/2026 TLS\/SSL error: xxxx/ --error 1 --exec $MYSQL_TEST --ssl-ca=nonexisting_file.pem --max-connect-retries=1 < $MYSQLTEST_VARDIR/tmp/test.sql 2>&1 --echo @@ -97,7 +97,7 @@ drop table t1; # Test that we can't open connection to server if we are using # a blank client-key # ---replace_regex /2026 SSL connection error.*/2026 SSL connection error: xxxx/ +--replace_regex /2026 TLS\/SSL error.*/2026 TLS\/SSL error: xxxx/ --error 1 --exec $MYSQL_TEST --ssl-key= --max-connect-retries=1 < $MYSQLTEST_VARDIR/tmp/test.sql 2>&1 --echo @@ -106,7 +106,7 @@ drop table t1; # Test that we can't open connection to server if we are using # a blank client-cert # ---replace_regex /2026 SSL connection error.*/2026 SSL connection error: xxxx/ +--replace_regex /2026 TLS\/SSL error.*/2026 TLS\/SSL error: xxxx/ --error 1 --exec $MYSQL_TEST --ssl-cert= --max-connect-retries=1 < $MYSQLTEST_VARDIR/tmp/test.sql 2>&1 --echo @@ -175,7 +175,7 @@ INSERT INTO t1 VALUES (1), (2); # With wrong parameters --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR mysqldump.exe mysqldump ---replace_regex /SSL connection error.*/SSL connection error: xxxx/ +--replace_regex /TLS\/SSL error.*/TLS\/SSL error: xxxx/ --error 2 --exec $MYSQL_DUMP --default-character-set=utf8mb4 --skip-create-options --skip-comments --ssl --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem test 2>&1 --echo @@ -201,7 +201,7 @@ set global sql_mode=default; # MDEV-9605 mysqlbinlog does not accept ssl-ca option as expected. # ---replace_regex /SSL connection error:.*/SSL connection error/ +--replace_regex /TLS\/SSL error:.*/TLS\/SSL error/ --error 1 --exec $MYSQL_BINLOG --read-from-remote-server --ssl-ca --user=root --host=localhost nobinlog.111111 2>&1 diff --git a/mysql-test/main/openssl_6975,tlsv10.result b/mysql-test/main/openssl_6975,tlsv10.result index b76a91bd134..f848b9a2ccc 100644 --- a/mysql-test/main/openssl_6975,tlsv10.result +++ b/mysql-test/main/openssl_6975,tlsv10.result @@ -3,14 +3,14 @@ grant select on test.* to ssl_sslv3@localhost require cipher "AES128-SHA"; create user ssl_tls12@localhost; grant select on test.* to ssl_tls12@localhost require cipher "AES128-SHA256"; TLS1.2 ciphers: user is ok with any cipher -ERROR 2026 (HY000): SSL connection error: sslv3 alert handshake failure -ERROR 2026 (HY000): SSL connection error: sslv3 alert handshake failure +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert handshake failure +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert handshake failure TLS1.2 ciphers: user requires SSLv3 cipher AES128-SHA -ERROR 2026 (HY000): SSL connection error: sslv3 alert handshake failure -ERROR 2026 (HY000): SSL connection error: sslv3 alert handshake failure +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert handshake failure +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert handshake failure TLS1.2 ciphers: user requires TLSv1.2 cipher AES128-SHA256 -ERROR 2026 (HY000): SSL connection error: sslv3 alert handshake failure -ERROR 2026 (HY000): SSL connection error: sslv3 alert handshake failure +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert handshake failure +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert handshake failure SSLv3 ciphers: user is ok with any cipher Variable_name Value Ssl_cipher AES256-SHA diff --git a/mysql-test/main/openssl_6975,tlsv12.result b/mysql-test/main/openssl_6975,tlsv12.result index c16e503c339..7bc92aec74f 100644 --- a/mysql-test/main/openssl_6975,tlsv12.result +++ b/mysql-test/main/openssl_6975,tlsv12.result @@ -15,13 +15,13 @@ Variable_name Value Ssl_cipher AES128-SHA256 ERROR 1045 (28000): Access denied for user 'ssl_tls12'@'localhost' (using password: NO) SSLv3 ciphers: user is ok with any cipher -ERROR 2026 (HY000): SSL connection error: sslv3 alert handshake failure -ERROR 2026 (HY000): SSL connection error: sslv3 alert handshake failure +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert handshake failure +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert handshake failure SSLv3 ciphers: user requires SSLv3 cipher AES128-SHA -ERROR 2026 (HY000): SSL connection error: sslv3 alert handshake failure -ERROR 2026 (HY000): SSL connection error: sslv3 alert handshake failure +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert handshake failure +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert handshake failure SSLv3 ciphers: user requires TLSv1.2 cipher AES128-SHA256 -ERROR 2026 (HY000): SSL connection error: sslv3 alert handshake failure -ERROR 2026 (HY000): SSL connection error: sslv3 alert handshake failure +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert handshake failure +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert handshake failure drop user ssl_sslv3@localhost; drop user ssl_tls12@localhost; diff --git a/mysql-test/main/ssl_7937,nossl.result b/mysql-test/main/ssl_7937,nossl.result index 72693233bc8..7ce4a754bf8 100644 --- a/mysql-test/main/ssl_7937,nossl.result +++ b/mysql-test/main/ssl_7937,nossl.result @@ -9,7 +9,7 @@ mysql --ssl -e "call test.have_ssl()" have_ssl no mysql --ssl-ca=cacert.pem --ssl-verify-server-cert -e "call test.have_ssl()" -ERROR 2026 (HY000): SSL connection error: SSL is required, but the server does not support it +ERROR 2026 (HY000): TLS/SSL error: SSL is required, but the server does not support it mysql --ssl --ssl-verify-server-cert -e "call test.have_ssl()" -ERROR 2026 (HY000): SSL connection error: SSL is required, but the server does not support it +ERROR 2026 (HY000): TLS/SSL error: SSL is required, but the server does not support it drop procedure have_ssl; diff --git a/mysql-test/main/ssl_7937.result b/mysql-test/main/ssl_7937.result index a94ca3b3529..86180af3692 100644 --- a/mysql-test/main/ssl_7937.result +++ b/mysql-test/main/ssl_7937.result @@ -12,5 +12,5 @@ mysql --ssl-ca=cacert.pem --ssl-verify-server-cert -e "call test.have_ssl()" have_ssl yes mysql --ssl --ssl-verify-server-cert -e "call test.have_ssl()" -ERROR 2026 (HY000): SSL connection error: Failed to verify the server certificate +ERROR 2026 (HY000): TLS/SSL error: Failed to verify the server certificate drop procedure have_ssl; diff --git a/mysql-test/main/ssl_7937.test b/mysql-test/main/ssl_7937.test index 59c13107e01..58583a32ae3 100644 --- a/mysql-test/main/ssl_7937.test +++ b/mysql-test/main/ssl_7937.test @@ -21,6 +21,6 @@ create procedure have_ssl() --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem --ssl-verify-server-cert -e "call test.have_ssl()" 2>&1 --echo mysql --ssl --ssl-verify-server-cert -e "call test.have_ssl()" ---replace_regex /SSL connection error.*certificate[^\n]*/SSL connection error: Failed to verify the server certificate/ +--replace_regex /TLS\/SSL error.*certificate[^\n]*/TLS\/SSL error: Failed to verify the server certificate/ --exec $MYSQL --ssl --ssl-verify-server-cert -e "call test.have_ssl()" 2>&1 drop procedure have_ssl; diff --git a/mysql-test/main/ssl_ca.result b/mysql-test/main/ssl_ca.result index afffe4e4dff..85683a0ba90 100644 --- a/mysql-test/main/ssl_ca.result +++ b/mysql-test/main/ssl_ca.result @@ -2,7 +2,7 @@ # Bug#21920657: SSL-CA FAILS SILENTLY IF THE PATH CANNOT BE FOUND # # try to connect with wrong '--ssl-ca' path : should fail -ERROR 2026 (HY000): SSL connection error: xxxx +ERROR 2026 (HY000): TLS/SSL error: xxxx # try to connect with correct '--ssl-ca' path : should connect have_ssl 1 diff --git a/mysql-test/main/ssl_ca.test b/mysql-test/main/ssl_ca.test index 106da140130..b66afc22188 100644 --- a/mysql-test/main/ssl_ca.test +++ b/mysql-test/main/ssl_ca.test @@ -7,7 +7,7 @@ --echo # try to connect with wrong '--ssl-ca' path : should fail ---replace_regex /SSL connection error.*/SSL connection error: xxxx/ +--replace_regex /TLS\/SSL error.*/TLS\/SSL error: xxxx/ --error 1 --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/wrong-cacert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem test -e "SELECT (VARIABLE_VALUE <> '') AS have_ssl FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher';" 2>&1 --echo diff --git a/mysql-test/main/ssl_cipher.result b/mysql-test/main/ssl_cipher.result index 66d817b7b41..42f37f488e7 100644 --- a/mysql-test/main/ssl_cipher.result +++ b/mysql-test/main/ssl_cipher.result @@ -44,7 +44,7 @@ Ssl_cipher AES128-SHA SHOW STATUS LIKE 'Ssl_cipher'; Variable_name Value Ssl_cipher AES128-SHA -mysqltest: Could not open connection 'default': 2026 SSL connection error: xxxxVariable_name Value +mysqltest: Could not open connection 'default': 2026 TLS/SSL error: xxxxVariable_name Value Ssl_cipher AES256-SHA Variable_name Value Ssl_cipher AES128-SHA diff --git a/mysql-test/main/ssl_cipher.test b/mysql-test/main/ssl_cipher.test index d4cdcffb276..4671b085ce7 100644 --- a/mysql-test/main/ssl_cipher.test +++ b/mysql-test/main/ssl_cipher.test @@ -54,7 +54,7 @@ EOF # Test to connect using a specifi cipher --exec $MYSQL_TEST --ssl-cipher=AES128-SHA < $MYSQLTEST_VARDIR/tmp/test.sql 2>&1 # Test to connect using an unknown cipher ---replace_regex /2026 SSL connection error.*/2026 SSL connection error: xxxx/ +--replace_regex /2026 TLS\/SSL error.*/2026 TLS\/SSL error: xxxx/ --error 1 --exec $MYSQL_TEST --ssl-cipher=UNKNOWN-CIPHER < $MYSQLTEST_VARDIR/tmp/test.sql 2>&1 --remove_file $MYSQLTEST_VARDIR/tmp/test.sql diff --git a/mysql-test/main/ssl_crl.result b/mysql-test/main/ssl_crl.result index 598774bd772..d5603254ea5 100644 --- a/mysql-test/main/ssl_crl.result +++ b/mysql-test/main/ssl_crl.result @@ -2,4 +2,4 @@ Variable_name Value Ssl_version TLS_VERSION # try logging in with a certificate in the server's --ssl-crl : should fail -ERROR 2026 (HY000): SSL connection error: sslv3 alert certificate revoked +ERROR 2026 (HY000): TLS/SSL error: sslv3 alert certificate revoked diff --git a/mysql-test/main/ssl_crl.test b/mysql-test/main/ssl_crl.test index e79f8ff32c2..7ed5c210215 100644 --- a/mysql-test/main/ssl_crl.test +++ b/mysql-test/main/ssl_crl.test @@ -8,6 +8,6 @@ --echo # try logging in with a certificate in the server's --ssl-crl : should fail # OpenSSL 1.1.1a correctly rejects the certificate, but the error message is different ---replace_regex /ERROR 2013 \(HY000\): Lost connection to MySQL server at '.*', system error: [0-9]+/ERROR 2026 (HY000): SSL connection error: sslv3 alert certificate revoked/ +--replace_regex /ERROR 2013 \(HY000\): Lost connection to MySQL server at '.*', system error: [0-9]+/ERROR 2026 (HY000): TLS\/SSL error: sslv3 alert certificate revoked/ --error 1 --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_version'" 2>&1 diff --git a/mysql-test/main/ssl_crl_clients.result b/mysql-test/main/ssl_crl_clients.result index 0d8ed9a4158..44ba101c892 100644 --- a/mysql-test/main/ssl_crl_clients.result +++ b/mysql-test/main/ssl_crl_clients.result @@ -1,13 +1,13 @@ # Test clients with and without CRL lists ############ Test mysql ############## # Test mysql connecting to a server with a certificate revoked by -crl -ERROR 2026 (HY000): SSL connection error: certificate revoked +ERROR 2026 (HY000): TLS/SSL error: certificate revoked # Test mysql connecting to a server with a certificate revoked by -crlpath -ERROR 2026 (HY000): SSL connection error: certificate revoked +ERROR 2026 (HY000): TLS/SSL error: certificate revoked ############ Test mysqladmin ############## # Test mysqladmin connecting to a server with a certificate revoked by -crl mysqladmin: connect to server at 'localhost' failed -error: 'SSL connection error: certificate revoked' +error: 'TLS/SSL error: certificate revoked' # Test mysqladmin connecting to a server with a certificate revoked by -crlpath mysqladmin: connect to server at 'localhost' failed -error: 'SSL connection error: certificate revoked' +error: 'TLS/SSL error: certificate revoked' diff --git a/mysql-test/main/ssl_crl_clients.test b/mysql-test/main/ssl_crl_clients.test index f1dc4909cc6..0023dee03ac 100644 --- a/mysql-test/main/ssl_crl_clients.test +++ b/mysql-test/main/ssl_crl_clients.test @@ -34,11 +34,11 @@ copy_file $MYSQL_TEST_DIR/std_data/server-cert.crl $MYSQL_TMP_DIR/ed1f42db.r0; let $admin_suffix = --default-character-set=latin1 -S $MASTER_MYSOCK -P $MASTER_MYPORT -u root --password= ping; --echo # Test mysqladmin connecting to a server with a certificate revoked by -crl ---replace_regex /.*mysqladmin.*:/mysqladmin:/ /SSL connection error: .*CRYPT_E_REVOKED./SSL connection error: certificate revoked/ +--replace_regex /.*mysqladmin.*:/mysqladmin:/ /TLS\/SSL error: .*CRYPT_E_REVOKED./TLS\/SSL error: certificate revoked/ --error 1 --exec $MYSQLADMIN $ssl_crl $admin_suffix 2>&1 --echo # Test mysqladmin connecting to a server with a certificate revoked by -crlpath ---replace_regex /.*mysqladmin.*:/mysqladmin:/ /SSL connection error: .*CRYPT_E_REVOKED./SSL connection error: certificate revoked/ +--replace_regex /.*mysqladmin.*:/mysqladmin:/ /TLS\/SSL error: .*CRYPT_E_REVOKED./TLS\/SSL error: certificate revoked/ --error 1 --exec $MYSQLADMIN $ssl_crlpath $admin_suffix 2>&1 diff --git a/mysql-test/main/ssl_system_ca,bad.result b/mysql-test/main/ssl_system_ca,bad.result index b9c6d3e29d8..1799e9f5e32 100644 --- a/mysql-test/main/ssl_system_ca,bad.result +++ b/mysql-test/main/ssl_system_ca,bad.result @@ -1 +1 @@ -ERROR 2026 (HY000): SSL connection error: Validation of SSL server certificate failed +ERROR 2026 (HY000): TLS/SSL error: Validation of SSL server certificate failed diff --git a/mysql-test/main/wait_timeout.test b/mysql-test/main/wait_timeout.test index 84841aabb8b..f7289ceed1f 100644 --- a/mysql-test/main/wait_timeout.test +++ b/mysql-test/main/wait_timeout.test @@ -61,7 +61,7 @@ connection default; # When the connection is closed in this way, the error code should # be consistent see Bug#2845 for an explanation # depending on platform/client, either errno 2006 or 2013 can occur below ---error 2006,2013 +--error 2006,2013,5014 SELECT 2; --echo --enable_reconnect; --enable_reconnect @@ -113,7 +113,7 @@ connection con1; # When the connection is closed in this way, the error code should # be consistent see Bug#2845 for an explanation # depending on platform/client, either errno 2006 or 2013 can occur below ---error 2006,2013 +--error 2006,2013,5014 SELECT 2; --echo --enable_reconnect; --enable_reconnect diff --git a/mysql-test/std_data/mdev-28727-pet4.frm b/mysql-test/std_data/mdev-28727-pet4.frm Binary files differnew file mode 100644 index 00000000000..3ff86d1dca1 --- /dev/null +++ b/mysql-test/std_data/mdev-28727-pet4.frm diff --git a/mysql-test/suite/galera/r/galera_log_bin_ext.result b/mysql-test/suite/galera/r/galera_log_bin_ext.result index f0914954e0a..b110cb4dba3 100644 --- a/mysql-test/suite/galera/r/galera_log_bin_ext.result +++ b/mysql-test/suite/galera/r/galera_log_bin_ext.result @@ -59,28 +59,7 @@ COUNT(*) = 2 1 include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info -hostname1-bin.000001 # Gtid # # GTID #-#-# -hostname1-bin.000001 # Query # # use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB -hostname1-bin.000001 # Gtid # # BEGIN GTID #-#-# -hostname1-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES (1) -hostname1-bin.000001 # Table_map # # table_id: # (test.t1) -hostname1-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -hostname1-bin.000001 # Xid # # COMMIT /* XID */ -hostname1-bin.000001 # Gtid # # GTID #-#-# -hostname1-bin.000001 # Query # # use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB -hostname1-bin.000001 # Gtid # # BEGIN GTID #-#-# -hostname1-bin.000001 # Annotate_rows # # INSERT INTO t2 VALUES (1) -hostname1-bin.000001 # Table_map # # table_id: # (test.t2) -hostname1-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -hostname1-bin.000001 # Xid # # COMMIT /* XID */ -hostname1-bin.000001 # Gtid # # BEGIN GTID #-#-# -hostname1-bin.000001 # Annotate_rows # # INSERT INTO t2 VALUES (1) -hostname1-bin.000001 # Table_map # # table_id: # (test.t2) -hostname1-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -hostname1-bin.000001 # Xid # # COMMIT /* XID */ -hostname1-bin.000001 # Gtid # # GTID #-#-# -hostname1-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER -hostname1-bin.000001 # Rotate # # hostname1-bin.000002;pos=4 +hostname1-bin.000002 # Binlog_checkpoint # # hostname1-bin.000002 DROP TABLE t1; DROP TABLE t2; #cleanup diff --git a/mysql-test/suite/galera/r/galera_log_bin_ext_mariabackup.result b/mysql-test/suite/galera/r/galera_log_bin_ext_mariabackup.result index f0914954e0a..b110cb4dba3 100644 --- a/mysql-test/suite/galera/r/galera_log_bin_ext_mariabackup.result +++ b/mysql-test/suite/galera/r/galera_log_bin_ext_mariabackup.result @@ -59,28 +59,7 @@ COUNT(*) = 2 1 include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info -hostname1-bin.000001 # Gtid # # GTID #-#-# -hostname1-bin.000001 # Query # # use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB -hostname1-bin.000001 # Gtid # # BEGIN GTID #-#-# -hostname1-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES (1) -hostname1-bin.000001 # Table_map # # table_id: # (test.t1) -hostname1-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -hostname1-bin.000001 # Xid # # COMMIT /* XID */ -hostname1-bin.000001 # Gtid # # GTID #-#-# -hostname1-bin.000001 # Query # # use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB -hostname1-bin.000001 # Gtid # # BEGIN GTID #-#-# -hostname1-bin.000001 # Annotate_rows # # INSERT INTO t2 VALUES (1) -hostname1-bin.000001 # Table_map # # table_id: # (test.t2) -hostname1-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -hostname1-bin.000001 # Xid # # COMMIT /* XID */ -hostname1-bin.000001 # Gtid # # BEGIN GTID #-#-# -hostname1-bin.000001 # Annotate_rows # # INSERT INTO t2 VALUES (1) -hostname1-bin.000001 # Table_map # # table_id: # (test.t2) -hostname1-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F -hostname1-bin.000001 # Xid # # COMMIT /* XID */ -hostname1-bin.000001 # Gtid # # GTID #-#-# -hostname1-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER -hostname1-bin.000001 # Rotate # # hostname1-bin.000002;pos=4 +hostname1-bin.000002 # Binlog_checkpoint # # hostname1-bin.000002 DROP TABLE t1; DROP TABLE t2; #cleanup diff --git a/mysql-test/suite/galera/t/galera_log_bin.inc b/mysql-test/suite/galera/t/galera_log_bin.inc index c86de528a08..4c245846752 100644 --- a/mysql-test/suite/galera/t/galera_log_bin.inc +++ b/mysql-test/suite/galera/t/galera_log_bin.inc @@ -34,7 +34,6 @@ ALTER TABLE t1 ADD COLUMN f2 INTEGER; --connection node_2 SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; ---let $MASTER_MYPORT=$NODE_MYPORT_2 --source include/show_binlog_events.inc DROP TABLE t1; diff --git a/mysql-test/suite/galera/t/galera_log_bin_sst.inc b/mysql-test/suite/galera/t/galera_log_bin_sst.inc index a5336f4e3ac..3d20add6d9e 100644 --- a/mysql-test/suite/galera/t/galera_log_bin_sst.inc +++ b/mysql-test/suite/galera/t/galera_log_bin_sst.inc @@ -74,7 +74,6 @@ let $restart_noprint=2; --connection node_2 SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; ---let $MASTER_MYPORT=$NODE_MYPORT_2 --source include/show_binlog_events.inc DROP TABLE t1; diff --git a/mysql-test/suite/innodb/r/update_time.result b/mysql-test/suite/innodb/r/update_time.result index 534914e0216..50f4f88155f 100644 --- a/mysql-test/suite/innodb/r/update_time.result +++ b/mysql-test/suite/innodb/r/update_time.result @@ -2,7 +2,7 @@ # Test that INFORMATION_SCHEMA.TABLES.UPDATE_TIME is filled # correctly for InnoDB tables. # -CREATE TABLE t (a INT) ENGINE=INNODB; +CREATE TABLE t (a INT) ENGINE=INNODB STATS_PERSISTENT=0; SELECT update_time FROM information_schema.tables WHERE table_name = 't'; update_time NULL @@ -19,24 +19,9 @@ SELECT COUNT(*) FROM information_schema.tables WHERE table_name = 't' AND TIMESTAMPDIFF(SECOND, update_time, NOW()) < 120; COUNT(*) 1 -CREATE TEMPORARY TABLE big (a TEXT) ENGINE=INNODB; -SELECT COUNT(*) FROM information_schema.innodb_buffer_page -WHERE table_name = '`test`.`t`'; -COUNT(*) -1 -INSERT INTO big SELECT REPEAT('a', 1024) FROM seq_1_to_10240; -SELECT COUNT(*) FROM information_schema.innodb_buffer_page -WHERE table_name = '`test`.`t`'; -COUNT(*) -0 -SELECT COUNT(*) FROM information_schema.tables WHERE table_name = 't' -AND update_time IS NOT NULL; -COUNT(*) -1 -DROP TEMPORARY TABLE big; # Test the behavior after restart with a prepared XA transaction XA START 'xatrx'; -INSERT INTO t VALUES (5); +DELETE FROM t; XA END 'xatrx'; XA PREPARE 'xatrx'; CONNECT con1,localhost,root,,; diff --git a/mysql-test/suite/innodb/t/update_time.test b/mysql-test/suite/innodb/t/update_time.test index fd1e082f5f2..ce8418904c9 100644 --- a/mysql-test/suite/innodb/t/update_time.test +++ b/mysql-test/suite/innodb/t/update_time.test @@ -5,14 +5,10 @@ -- echo # -- source include/have_innodb.inc --- source include/have_innodb_max_16k.inc # restart does not work with embedded -- source include/not_embedded.inc -# This test is slow on buildbot. ---source include/big_test.inc ---source include/have_sequence.inc -CREATE TABLE t (a INT) ENGINE=INNODB; +CREATE TABLE t (a INT) ENGINE=INNODB STATS_PERSISTENT=0; SELECT update_time FROM information_schema.tables WHERE table_name = 't'; @@ -28,29 +24,10 @@ AND update_time IS NOT NULL; SELECT COUNT(*) FROM information_schema.tables WHERE table_name = 't' AND TIMESTAMPDIFF(SECOND, update_time, NOW()) < 120; -CREATE TEMPORARY TABLE big (a TEXT) ENGINE=INNODB; - -SELECT COUNT(*) FROM information_schema.innodb_buffer_page -WHERE table_name = '`test`.`t`'; - -# evict table 't' by inserting as much data as the BP size itself -INSERT INTO big SELECT REPEAT('a', 1024) FROM seq_1_to_10240; - -# confirm that all pages for table 't' have been evicted -SELECT COUNT(*) FROM information_schema.innodb_buffer_page -WHERE table_name = '`test`.`t`'; - -# The result from this query will change once update_time becomes persistent -# (WL#6917). -SELECT COUNT(*) FROM information_schema.tables WHERE table_name = 't' -AND update_time IS NOT NULL; - -DROP TEMPORARY TABLE big; - -- echo # Test the behavior after restart with a prepared XA transaction XA START 'xatrx'; -INSERT INTO t VALUES (5); +DELETE FROM t; XA END 'xatrx'; XA PREPARE 'xatrx'; diff --git a/mysql-test/suite/plugins/r/binlog-simple_plugin_check.result b/mysql-test/suite/plugins/r/binlog-simple_plugin_check.result index 6c960ee325c..1cba628db07 100644 --- a/mysql-test/suite/plugins/r/binlog-simple_plugin_check.result +++ b/mysql-test/suite/plugins/r/binlog-simple_plugin_check.result @@ -8,7 +8,7 @@ simple_password_check # CREATE USER user1@localhost IDENTIFIED BY 'BsG9#9.cem#!85'; CREATE USER user2@localhost IDENTIFIED BY 'bsg9#d.cem#!85'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) DROP USER user1@localhost; include/show_binlog_events.inc Log_name Pos Event_type Server_id End_log_pos Info diff --git a/mysql-test/suite/plugins/r/cracklib_password_check.result b/mysql-test/suite/plugins/r/cracklib_password_check.result index 1194e6eef5a..218d12fb884 100644 --- a/mysql-test/suite/plugins/r/cracklib_password_check.result +++ b/mysql-test/suite/plugins/r/cracklib_password_check.result @@ -14,29 +14,29 @@ LOAD_OPTION ON PLUGIN_MATURITY Stable PLUGIN_AUTH_VERSION 1.0 grant select on *.* to foocar identified by 'foocar'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (cracklib_password_check) show warnings; Level Code Message Warning 1819 cracklib: it is based on your username -Error 1819 Your password does not satisfy the current policy requirements +Error 1819 Your password does not satisfy the current policy requirements (cracklib_password_check) grant select on *.* to foocar identified by 'racoof'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (cracklib_password_check) show warnings; Level Code Message Warning 1819 cracklib: it is based on your username -Error 1819 Your password does not satisfy the current policy requirements +Error 1819 Your password does not satisfy the current policy requirements (cracklib_password_check) grant select on *.* to foo@barbar identified by 'barbar'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (cracklib_password_check) show warnings; Level Code Message Warning 1819 cracklib: it does not contain enough DIFFERENT characters -Error 1819 Your password does not satisfy the current policy requirements +Error 1819 Your password does not satisfy the current policy requirements (cracklib_password_check) grant select on *.* to foobar identified by 'qwerty'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (cracklib_password_check) show warnings; Level Code Message Warning 1819 cracklib: it is based on a dictionary word -Error 1819 Your password does not satisfy the current policy requirements +Error 1819 Your password does not satisfy the current policy requirements (cracklib_password_check) grant select on *.* to foobar identified by 'q$%^&*rty'; drop user foobar; # @@ -44,7 +44,7 @@ drop user foobar; # when using cracklib plugin # create user 'newuser'@'localhost'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (cracklib_password_check) uninstall plugin cracklib_password_check; create user foo1 identified by 'pwd'; drop user foo1; diff --git a/mysql-test/suite/plugins/r/simple_password_check.result b/mysql-test/suite/plugins/r/simple_password_check.result index b3712ee22d2..ab6988ed002 100644 --- a/mysql-test/suite/plugins/r/simple_password_check.result +++ b/mysql-test/suite/plugins/r/simple_password_check.result @@ -75,13 +75,37 @@ READ_ONLY NO COMMAND_LINE_ARGUMENT REQUIRED GLOBAL_VALUE_PATH NULL create user foo1 identified by 'pwd'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: Too short password (< 8) +Warning 1819 simple_password_check: Not enough upper case letters (< 1) +Warning 1819 simple_password_check: Not enough digits (< 1) +Warning 1819 simple_password_check: Not enough special characters (< 1) +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) +Error 1396 Operation CREATE USER failed for 'foo1'@'%' create user foo1; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: The password equal to the user name +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) +Error 1396 Operation CREATE USER failed for 'foo1'@'%' grant select on *.* to foo1 identified by 'pwd'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: Too short password (< 8) +Warning 1819 simple_password_check: Not enough upper case letters (< 1) +Warning 1819 simple_password_check: Not enough digits (< 1) +Warning 1819 simple_password_check: Not enough special characters (< 1) +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) grant select on *.* to `FooBar1!` identified by 'FooBar1!'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: The password equal to the user name +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) grant select on *.* to `BarFoo1!` identified by 'FooBar1!'; drop user `BarFoo1!`; create user foo1 identified by 'aA.12345'; @@ -103,28 +127,64 @@ simple_password_check_other_characters 3 create user foo1 identified by '123:qwe:ASD!'; drop user foo1; create user foo1 identified by '-23:qwe:ASD!'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: Not enough digits (< 3) +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) +Error 1396 Operation CREATE USER failed for 'foo1'@'%' create user foo1 identified by '123:4we:ASD!'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: Not enough lower case letters (< 3) +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) +Error 1396 Operation CREATE USER failed for 'foo1'@'%' create user foo1 identified by '123:qwe:4SD!'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: Not enough upper case letters (< 3) +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) +Error 1396 Operation CREATE USER failed for 'foo1'@'%' create user foo1 identified by '123:qwe:ASD4'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: Not enough special characters (< 3) +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) +Error 1396 Operation CREATE USER failed for 'foo1'@'%' create user foo1 identified by '123:qwe:ASD!'; set password for foo1 = password('qwe:-23:ASD!'); -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: Not enough digits (< 3) +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) set password for foo1 = old_password('4we:123:ASD!'); -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) set password for foo1 = password('qwe:123:4SD!'); -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: Not enough upper case letters (< 3) +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) set password for foo1 = old_password('qwe:123:ASD4'); -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: Not enough special characters (< 3) +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) set password for foo1 = password('qwe:123:ASD!'); select @@strict_password_validation; @@strict_password_validation 1 set password for foo1 = ''; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: The password equal to the user name +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) set password for foo1 = '2222222222222222'; ERROR HY000: The MariaDB server is running with the --strict-password-validation option so it cannot execute this statement set password for foo1 = '11111111111111111111111111111111111111111'; @@ -138,15 +198,24 @@ ERROR HY000: The MariaDB server is running with the --strict-password-validation grant select on *.* to foo2 identified with mysql_old_password using '2222222222222222'; ERROR HY000: The MariaDB server is running with the --strict-password-validation option so it cannot execute this statement create user foo2 identified with mysql_native_password using ''; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: The password equal to the user name +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) +Error 1396 Operation CREATE USER failed for 'foo2'@'%' grant select on *.* to foo2 identified with mysql_old_password using ''; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) grant select on *.* to foo2 identified with mysql_old_password; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) update mysql.global_priv set priv=json_set(priv, '$.authentication_string', 'xxx') where user='foo1'; set global strict_password_validation=0; set password for foo1 = ''; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) +show warnings; +Level Code Message +Warning 1819 simple_password_check: The password equal to the user name +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) set password for foo1 = '2222222222222222'; set password for foo1 = '11111111111111111111111111111111111111111'; create user foo2 identified by password '11111111111111111111111111111111111111111'; diff --git a/mysql-test/suite/plugins/r/two_password_validations.result b/mysql-test/suite/plugins/r/two_password_validations.result index dc6bab3c2d5..4bd674baebb 100644 --- a/mysql-test/suite/plugins/r/two_password_validations.result +++ b/mysql-test/suite/plugins/r/two_password_validations.result @@ -5,16 +5,18 @@ install soname "cracklib_password_check"; grant select on *.* to foobar identified by 'q$%^&*R1234ty'; drop user foobar; grant select on *.* to Fff_fff1 identified by '1fff_ffF'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (cracklib_password_check) show warnings; Level Code Message Warning 1819 cracklib: it does not contain enough DIFFERENT characters -Error 1819 Your password does not satisfy the current policy requirements +Error 1819 Your password does not satisfy the current policy requirements (cracklib_password_check) grant select on *.* to foobar identified by 'q-%^&*rty'; -ERROR HY000: Your password does not satisfy the current policy requirements +ERROR HY000: Your password does not satisfy the current policy requirements (simple_password_check) show warnings; Level Code Message -Error 1819 Your password does not satisfy the current policy requirements +Warning 1819 simple_password_check: Not enough upper case letters (< 1) +Warning 1819 simple_password_check: Not enough digits (< 1) +Error 1819 Your password does not satisfy the current policy requirements (simple_password_check) uninstall plugin simple_password_check; grant select on *.* to foobar identified by 'q-%^&*rty'; drop user foobar; diff --git a/mysql-test/suite/plugins/t/simple_password_check.test b/mysql-test/suite/plugins/t/simple_password_check.test index dfb078df638..3ce2d86cd68 100644 --- a/mysql-test/suite/plugins/t/simple_password_check.test +++ b/mysql-test/suite/plugins/t/simple_password_check.test @@ -15,16 +15,20 @@ select * from information_schema.system_variables where variable_name like 'simp --error ER_NOT_VALID_PASSWORD create user foo1 identified by 'pwd'; +show warnings; # Create user with no password. --error ER_NOT_VALID_PASSWORD create user foo1; +show warnings; --error ER_NOT_VALID_PASSWORD grant select on *.* to foo1 identified by 'pwd'; +show warnings; --error ER_NOT_VALID_PASSWORD grant select on *.* to `FooBar1!` identified by 'FooBar1!'; +show warnings; grant select on *.* to `BarFoo1!` identified by 'FooBar1!'; drop user `BarFoo1!`; @@ -43,25 +47,32 @@ drop user foo1; --error ER_NOT_VALID_PASSWORD create user foo1 identified by '-23:qwe:ASD!'; +show warnings; --error ER_NOT_VALID_PASSWORD create user foo1 identified by '123:4we:ASD!'; +show warnings; --error ER_NOT_VALID_PASSWORD create user foo1 identified by '123:qwe:4SD!'; +show warnings; --error ER_NOT_VALID_PASSWORD create user foo1 identified by '123:qwe:ASD4'; +show warnings; create user foo1 identified by '123:qwe:ASD!'; --error ER_NOT_VALID_PASSWORD set password for foo1 = password('qwe:-23:ASD!'); +show warnings; --error ER_NOT_VALID_PASSWORD set password for foo1 = old_password('4we:123:ASD!'); --error ER_NOT_VALID_PASSWORD set password for foo1 = password('qwe:123:4SD!'); +show warnings; --error ER_NOT_VALID_PASSWORD set password for foo1 = old_password('qwe:123:ASD4'); +show warnings; set password for foo1 = password('qwe:123:ASD!'); # now, strict_password_validation @@ -69,6 +80,7 @@ select @@strict_password_validation; --error ER_NOT_VALID_PASSWORD set password for foo1 = ''; +show warnings; --error ER_OPTION_PREVENTS_STATEMENT set password for foo1 = '2222222222222222'; --error ER_OPTION_PREVENTS_STATEMENT @@ -83,6 +95,7 @@ create user foo2 identified with mysql_native_password using '111111111111111111 grant select on *.* to foo2 identified with mysql_old_password using '2222222222222222'; --error ER_NOT_VALID_PASSWORD create user foo2 identified with mysql_native_password using ''; +show warnings; --error ER_NOT_VALID_PASSWORD grant select on *.* to foo2 identified with mysql_old_password using ''; --error ER_NOT_VALID_PASSWORD @@ -95,6 +108,7 @@ set global strict_password_validation=0; --error ER_NOT_VALID_PASSWORD set password for foo1 = ''; +show warnings; set password for foo1 = '2222222222222222'; set password for foo1 = '11111111111111111111111111111111111111111'; create user foo2 identified by password '11111111111111111111111111111111111111111'; diff --git a/mysql-test/suite/roles/rename_user.result b/mysql-test/suite/roles/rename_user.result index 9550e15953a..367f6e4b0fe 100644 --- a/mysql-test/suite/roles/rename_user.result +++ b/mysql-test/suite/roles/rename_user.result @@ -25,3 +25,12 @@ newhost test_user_rm test_role1 N delete from mysql.roles_mapping; delete from mysql.user where user like 'test%'; flush privileges; +# +# MDEV-29131 Assertion `status == 0' failed when renaming user after deleting table roles_mapping +# +create role r; +rename table mysql.roles_mapping to test.t1; +rename user current_user to a@a; +rename user a@a to root@localhost; +rename table test.t1 to mysql.roles_mapping; +drop role r; diff --git a/mysql-test/suite/roles/rename_user.test b/mysql-test/suite/roles/rename_user.test index 45429b76666..8c899352847 100644 --- a/mysql-test/suite/roles/rename_user.test +++ b/mysql-test/suite/roles/rename_user.test @@ -36,3 +36,13 @@ delete from mysql.roles_mapping; delete from mysql.user where user like 'test%'; flush privileges; +--echo # +--echo # MDEV-29131 Assertion `status == 0' failed when renaming user after deleting table roles_mapping +--echo # +create role r; +rename table mysql.roles_mapping to test.t1; +rename user current_user to a@a; +rename user a@a to root@localhost; +rename table test.t1 to mysql.roles_mapping; +drop role r; + diff --git a/mysql-test/suite/sys_vars/t/completion_type_func.test b/mysql-test/suite/sys_vars/t/completion_type_func.test index 2411cacf8bb..5c343cee9ab 100644 --- a/mysql-test/suite/sys_vars/t/completion_type_func.test +++ b/mysql-test/suite/sys_vars/t/completion_type_func.test @@ -146,7 +146,7 @@ COMMIT; --echo ## Inserting rows should give error here because connection should ## --echo ## disconnect after using COMMIT ## ---Error 2006,2013,ER_QUERY_INTERRUPTED,ER_CONNECTION_KILLED +--Error 2006,2013,ER_QUERY_INTERRUPTED,ER_CONNECTION_KILLED,5014 INSERT INTO t1 VALUES(4,'Record_4'); connection test_con2; @@ -160,7 +160,7 @@ INSERT INTO t1 VALUES(12,'Record_12'); ROLLBACK; --echo ## Expect a failure due to COMMIT/ROLLBACK AND RELEASE behavior ## ---Error 2006,2013,ER_QUERY_INTERRUPTED,ER_CONNECTION_KILLED +--Error 2006,2013,ER_QUERY_INTERRUPTED,ER_CONNECTION_KILLED,5014 INSERT INTO t1 VALUES(4,'Record_4'); connection default; diff --git a/mysql-test/suite/vcol/r/vcol_misc.result b/mysql-test/suite/vcol/r/vcol_misc.result index 4ec57413a15..a09939c8cc2 100644 --- a/mysql-test/suite/vcol/r/vcol_misc.result +++ b/mysql-test/suite/vcol/r/vcol_misc.result @@ -550,3 +550,19 @@ drop table t1; # # End of 10.2 tests # +# +# RAND is session func +# +create table t1 (a int, b float default rand(1)); +insert into t1 (a) values (1); +insert into t1 (a) values (2); +insert into t1 (a) values (3); +select * from t1; +a b +1 0.405404 +2 0.405404 +3 0.405404 +drop table t1; +# +# End of 10.3 tests +# diff --git a/mysql-test/suite/vcol/t/vcol_misc.test b/mysql-test/suite/vcol/t/vcol_misc.test index 3062e5a685d..c3f36d93316 100644 --- a/mysql-test/suite/vcol/t/vcol_misc.test +++ b/mysql-test/suite/vcol/t/vcol_misc.test @@ -514,3 +514,17 @@ drop table t1; --echo # --echo # End of 10.2 tests --echo # + +--echo # +--echo # RAND is session func +--echo # +create table t1 (a int, b float default rand(1)); +insert into t1 (a) values (1); +insert into t1 (a) values (2); +insert into t1 (a) values (3); +select * from t1; +drop table t1; + +--echo # +--echo # End of 10.3 tests +--echo # |