mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.1-community
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-forcollapseandmerge sql/ha_ndbcluster.cc: Auto merged sql/item_func.cc: Auto merged sql/log_event.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/slave.cc: Auto merged sql/sp_head.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_view.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/table.h: Auto merged sql/sql_parse.cc: Manual merge. sql/sql_select.cc: Manual merge.
This commit is contained in:
@ -1,16 +1,22 @@
|
||||
#############################################################
|
||||
# Author: Chuck
|
||||
#############################################################
|
||||
# Purpose: To test having extra columns on the master WL#3915
|
||||
# engine inspecific sourced part
|
||||
#############################################################
|
||||
|
||||
# Change Author: Jeb
|
||||
# Change: Cleanup and extend testing
|
||||
#############################################################
|
||||
# TODO: partition specific
|
||||
# -- source include/have_partition.inc
|
||||
# Note: Will be done in different test due to NDB using this
|
||||
# test case.
|
||||
############################################################
|
||||
|
||||
########### Clean up ################
|
||||
--disable_warnings
|
||||
--disable_query_log
|
||||
DROP TABLE IF EXISTS t1,t2,t3,t4,t31;
|
||||
|
||||
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t10,t11,t12,t13,t14,t15,t16,t17,t18,t31;
|
||||
--enable_query_log
|
||||
--enable_warnings
|
||||
|
||||
@ -70,154 +76,87 @@ DROP TABLE IF EXISTS t1,t2,t3,t4,t31;
|
||||
#VARCHAR(M)
|
||||
#
|
||||
|
||||
|
||||
let $binformat = `SHOW VARIABLES LIKE '%binlog_format%'`;
|
||||
--echo
|
||||
--echo ***********************************************************
|
||||
--echo ***********************************************************
|
||||
--echo ***************** Start of Testing ************************
|
||||
--echo ***********************************************************
|
||||
--echo ***********************************************************
|
||||
--echo * This test format == $binformat and engine == $engine_type
|
||||
--echo ***********************************************************
|
||||
--echo ***********************************************************
|
||||
--echo
|
||||
--echo ***** Testing more columns on the Master *****
|
||||
--echo
|
||||
connection master;
|
||||
eval CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
|
||||
f5 FLOAT DEFAULT '2.00')
|
||||
ENGINE=$engine_type;
|
||||
|
||||
sync_slave_with_master;
|
||||
alter table t1 drop f5;
|
||||
|
||||
connection master;
|
||||
INSERT into t1 values (1, 1, 1, 'first', 1.0);
|
||||
|
||||
sync_slave_with_master;
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--query_vertical show slave status;
|
||||
select * from t1 order by f3;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
eval CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
|
||||
f5 FLOAT DEFAULT '2.00',
|
||||
f6 CHAR(4) DEFAULT 'TEST')
|
||||
ENGINE=$engine_type;
|
||||
|
||||
sync_slave_with_master;
|
||||
alter table t1 drop f5, drop f6;
|
||||
|
||||
connection master;
|
||||
INSERT into t1 values (1, 1, 1, 'first', 1.0, 'yksi');
|
||||
|
||||
sync_slave_with_master;
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--query_vertical show slave status;
|
||||
select * from t1 order by f3;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
eval CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
|
||||
f5 FLOAT DEFAULT '2.00',
|
||||
f6 CHAR(4) DEFAULT 'TEST',
|
||||
f7 INT DEFAULT '0')
|
||||
ENGINE=$engine_type;
|
||||
|
||||
sync_slave_with_master;
|
||||
alter table t1 drop f5, drop f6, drop f7;
|
||||
|
||||
connection master;
|
||||
INSERT into t1 values (1, 1, 1, 'first', 1.0, 'yksi', 1);
|
||||
sync_slave_with_master;
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--query_vertical show slave status;
|
||||
select * from t1 order by f3;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
eval CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
|
||||
f5 FLOAT DEFAULT '2.00',
|
||||
f6 CHAR(4) DEFAULT 'TEST',
|
||||
f7 INT DEFAULT '0',
|
||||
f8 TEXT)
|
||||
ENGINE=$engine_type;
|
||||
|
||||
sync_slave_with_master;
|
||||
alter table t1 drop f5, drop f6, drop f7, drop f8;
|
||||
|
||||
connection master;
|
||||
INSERT into t1 values (1, 1, 1, 'first', 1.0, 'yksi', 1, 'lounge of happiness');
|
||||
sync_slave_with_master;
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--query_vertical show slave status;
|
||||
select * from t1 order by f3;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
eval CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
|
||||
f5 FLOAT DEFAULT '2.00',
|
||||
f6 CHAR(4) DEFAULT 'TEST',
|
||||
f7 INT DEFAULT '0',
|
||||
f8 TEXT,
|
||||
f9 LONGBLOB)
|
||||
ENGINE=$engine_type;
|
||||
|
||||
sync_slave_with_master;
|
||||
alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9;
|
||||
|
||||
connection master;
|
||||
INSERT into t1 values (1, 1, 1, 'first', 1.0, 'yksi', 1, 'lounge of happiness', 'very fat blob');
|
||||
sync_slave_with_master;
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--query_vertical show slave status;
|
||||
select * from t1 order by f3;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
eval CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
|
||||
f5 FLOAT DEFAULT '2.00',
|
||||
f6 CHAR(4) DEFAULT 'TEST',
|
||||
f7 INT DEFAULT '0',
|
||||
f8 TEXT,
|
||||
f9 LONGBLOB,
|
||||
f10 BIT(63))
|
||||
ENGINE=$engine_type;
|
||||
|
||||
sync_slave_with_master;
|
||||
alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10;
|
||||
|
||||
connection master;
|
||||
INSERT into t1 values (1, 1, 1, 'first', 1.0, 'yksi', 1, 'lounge of happiness', 'very fat blob', b'01010101010101');
|
||||
sync_slave_with_master;
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--query_vertical show slave status;
|
||||
select * from t1 order by f3;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
eval CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
|
||||
/* extra */
|
||||
f5 FLOAT DEFAULT '2.00',
|
||||
f6 CHAR(4) DEFAULT 'TEST',
|
||||
f7 INT DEFAULT '0',
|
||||
f8 TEXT,
|
||||
f9 LONGBLOB,
|
||||
f10 BIT(63),
|
||||
f11 VARBINARY(64))
|
||||
ENGINE=$engine_type;
|
||||
|
||||
#connection slave;
|
||||
sync_slave_with_master;
|
||||
alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
|
||||
f5 FLOAT DEFAULT '2.00',
|
||||
f6 CHAR(4) DEFAULT 'TEST',
|
||||
f7 INT DEFAULT '0',
|
||||
f8 TEXT,
|
||||
f9 LONGBLOB,
|
||||
f10 BIT(63),
|
||||
f11 VARBINARY(64))ENGINE=$engine_type;
|
||||
--echo
|
||||
--echo * Alter Table on Slave and drop columns f5 through f11 *
|
||||
--echo
|
||||
sync_slave_with_master;
|
||||
alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
|
||||
|
||||
--echo
|
||||
--echo * Insert data in Master then update and delete some rows*
|
||||
--echo
|
||||
connection master;
|
||||
let $j= 50;
|
||||
--disable_query_log
|
||||
while ($j)
|
||||
{
|
||||
eval INSERT INTO t1 VALUES ($j, $j, $j, 'second', 2.0, 'kaks', 2,
|
||||
'got stolen from the paradise',
|
||||
'very fat blob', b'01010101010101',
|
||||
0x123456);
|
||||
dec $j;
|
||||
}
|
||||
let $j= 30;
|
||||
while ($j)
|
||||
{
|
||||
eval update t1 set f4= 'next' where f1=$j;
|
||||
dec $j;
|
||||
dec $j;
|
||||
eval delete from t1 where f1=$j;
|
||||
dec $j;
|
||||
}
|
||||
--enable_query_log
|
||||
|
||||
INSERT into t1 values (1, 1, 1, 'first', 1.0, 'yksi', 1, 'lounge of happiness', 'very fat blob', b'01010101010101', 0x123456);
|
||||
INSERT into t1 values (2, 2, 2, 'second', 2.0, 'kaks', 2, 'got stolen from the paradise', 'very fat blob', b'01010101010101', 0x123456), (3, 3, 3, 'third', 3.0, 'kolm', 3, 'got stolen from the paradise', 'very fat blob', b'01010101010101', 0x123456);
|
||||
update t1 set f4= 'next' where f1=1;
|
||||
delete from t1 where f1=1;
|
||||
|
||||
select * from t1 order by f3;
|
||||
|
||||
--echo * Select count and 20 rows from Master *
|
||||
--echo
|
||||
SELECT COUNT(*) FROM t1;
|
||||
--echo
|
||||
SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,
|
||||
hex(f10),hex(f11) FROM t1 ORDER BY f3 LIMIT 20;
|
||||
|
||||
#connection slave;
|
||||
sync_slave_with_master;
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--query_vertical show slave status;
|
||||
select * from t1 order by f3;
|
||||
sync_slave_with_master;
|
||||
--echo
|
||||
--echo * Select count and 20 rows from Slave *
|
||||
--echo
|
||||
SELECT COUNT(*) FROM t1;
|
||||
--echo
|
||||
SELECT * FROM t1 ORDER BY f3 LIMIT 20;
|
||||
|
||||
--echo
|
||||
--echo * Show Slave Status *
|
||||
--echo
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical show slave status;
|
||||
--echo
|
||||
|
||||
### Altering table def scenario
|
||||
--echo
|
||||
--echo ***** Testing Altering table def scenario *****
|
||||
--echo
|
||||
|
||||
connection master;
|
||||
|
||||
@ -232,7 +171,7 @@ connection master;
|
||||
f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
|
||||
f12 SET('a', 'b', 'c') default 'b')
|
||||
ENGINE=$engine_type;
|
||||
|
||||
--echo
|
||||
eval CREATE TABLE t3 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
|
||||
/* extra */
|
||||
f5 DOUBLE DEFAULT '2.00',
|
||||
@ -243,7 +182,7 @@ connection master;
|
||||
f12 SET('a', 'b', 'c') default 'b')
|
||||
ENGINE=$engine_type;
|
||||
|
||||
|
||||
--echo
|
||||
# no ENUM and SET
|
||||
eval CREATE TABLE t4 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
|
||||
/* extra */
|
||||
@ -256,7 +195,7 @@ connection master;
|
||||
f11 CHAR(255))
|
||||
ENGINE=$engine_type;
|
||||
|
||||
|
||||
--echo
|
||||
eval CREATE TABLE t31 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
|
||||
|
||||
/* extra */
|
||||
@ -293,7 +232,9 @@ connection master;
|
||||
f34 VARBINARY(1025),
|
||||
f35 VARCHAR(257)
|
||||
) ENGINE=$engine_type;
|
||||
|
||||
--echo
|
||||
--echo ** Alter tables on slave and drop columns **
|
||||
--echo
|
||||
#connection slave;
|
||||
sync_slave_with_master;
|
||||
alter table t2 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11, drop
|
||||
@ -308,8 +249,8 @@ f12;
|
||||
drop f26, drop f27, drop f28, drop f29, drop f30, drop f31, drop f32,
|
||||
drop f33, drop f34, drop f35;
|
||||
|
||||
|
||||
|
||||
--echo
|
||||
--echo ** Insert Data into Master **
|
||||
connection master;
|
||||
INSERT into t2 set f1=1, f2=1, f3=1, f4='first', f8='f8: medium size blob', f10='f10:
|
||||
some var char';
|
||||
@ -458,7 +399,10 @@ binary data';
|
||||
/*f34 VARBINARY(1025),*/ '3333 minus 3',
|
||||
/*f35 VARCHAR(257),*/ NULL
|
||||
);
|
||||
|
||||
--echo
|
||||
--echo ** Sync slave with master **
|
||||
--echo ** Do selects from tables **
|
||||
--echo
|
||||
#connection slave;
|
||||
sync_slave_with_master;
|
||||
|
||||
@ -469,24 +413,33 @@ binary data';
|
||||
select * from t31 order by f1;
|
||||
|
||||
connection master;
|
||||
|
||||
--echo
|
||||
--echo ** Do updates master **
|
||||
--echo
|
||||
update t31 set f5=555555555555555 where f3=6;
|
||||
update t31 set f2=2 where f3=2;
|
||||
update t31 set f1=NULL where f3=1;
|
||||
update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
|
||||
|
||||
--echo
|
||||
--echo ** Delete from Master **
|
||||
--echo
|
||||
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
delete from t3;
|
||||
delete from t4;
|
||||
delete from t31;
|
||||
|
||||
--echo
|
||||
--echo ** Check slave status **
|
||||
--echo
|
||||
#connection slave;
|
||||
sync_slave_with_master;
|
||||
select * from t31;
|
||||
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical show slave status;
|
||||
|
||||
#### Clean Up ####
|
||||
@ -496,11 +449,600 @@ connection master;
|
||||
--disable_query_log
|
||||
DROP TABLE t1,t2,t3,t4,t31;
|
||||
|
||||
######################################################
|
||||
#connection slave;
|
||||
sync_slave_with_master;
|
||||
--enable_query_log
|
||||
--enable_warnings
|
||||
--echo
|
||||
--echo ****************************************
|
||||
--echo * columns in master at middle of table *
|
||||
--echo * Expect: Proper error message *
|
||||
--echo ****************************************
|
||||
--echo
|
||||
--echo ** Stop and Reset Slave **
|
||||
--echo
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
--echo
|
||||
--echo ** create table slave side **
|
||||
eval CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
|
||||
) ENGINE=$engine_type;
|
||||
|
||||
# END of the tests
|
||||
--echo
|
||||
--echo ** Connect to master and create table **
|
||||
--echo
|
||||
--connection master
|
||||
eval CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233',
|
||||
c CHAR(5), e INT DEFAULT '1')ENGINE=$engine_type;
|
||||
RESET MASTER;
|
||||
|
||||
--echo
|
||||
--echo *** Start Slave ***
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Master Data Insert ***
|
||||
connection master;
|
||||
set @b1 = 'b1b1b1b1';
|
||||
set @b1 = concat(@b1,@b1);
|
||||
INSERT INTO t10 () VALUES(1,@b1,DEFAULT,'Kyle',DEFAULT),
|
||||
(2,@b1,DEFAULT,'JOE',DEFAULT),
|
||||
(3,@b1,DEFAULT,'QA',DEFAULT);
|
||||
|
||||
--echo
|
||||
--echo ********************************************
|
||||
--echo *** Expect slave to fail with Error 1523 ***
|
||||
--echo ********************************************
|
||||
--echo
|
||||
connection slave;
|
||||
wait_for_slave_to_stop;
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||
START SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Drop t10 ***
|
||||
connection master;
|
||||
DROP TABLE t10;
|
||||
sync_slave_with_master;
|
||||
|
||||
############################################
|
||||
############## Continued ###################
|
||||
############################################
|
||||
--echo
|
||||
--echo *********************************************
|
||||
--echo * More columns in master at middle of table *
|
||||
--echo * Expect: Proper error message *
|
||||
--echo *********************************************
|
||||
--echo
|
||||
--echo *** Create t11 on slave ***
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
|
||||
eval CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
|
||||
) ENGINE=$engine_type;
|
||||
|
||||
--echo
|
||||
--echo *** Create t11 on Master ***
|
||||
connection master;
|
||||
eval CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
|
||||
c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE=$engine_type;
|
||||
|
||||
RESET MASTER;
|
||||
|
||||
--echo
|
||||
--echo *** Start Slave ***
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Master Data Insert ***
|
||||
connection master;
|
||||
set @b1 = 'b1b1b1b1';
|
||||
set @b1 = concat(@b1,@b1);
|
||||
INSERT INTO t11 () VALUES(1,@b1,'Testing is fun','Kyle',DEFAULT),
|
||||
(2,@b1,'Testing is cool','JOE',DEFAULT),
|
||||
(3,@b1,DEFAULT,'QA',DEFAULT);
|
||||
|
||||
--echo
|
||||
--echo ********************************************
|
||||
--echo *** Expect slave to fail with Error 1523 ***
|
||||
--echo ********************************************
|
||||
--echo
|
||||
connection slave;
|
||||
wait_for_slave_to_stop;
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||
START SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Drop t11 ***
|
||||
connection master;
|
||||
DROP TABLE t11;
|
||||
sync_slave_with_master;
|
||||
|
||||
############################################
|
||||
############## Continued ###################
|
||||
############################################
|
||||
--echo
|
||||
--echo *********************************************
|
||||
--echo * More columns in master at middle of table *
|
||||
--echo * Expect: This one should pass blob-text *
|
||||
--echo *********************************************
|
||||
--echo
|
||||
--echo *** Create t12 on slave ***
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
eval CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
|
||||
) ENGINE=$engine_type;
|
||||
|
||||
--echo
|
||||
--echo *** Create t12 on Master ***
|
||||
connection master;
|
||||
eval CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
|
||||
c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE=$engine_type;
|
||||
|
||||
RESET MASTER;
|
||||
|
||||
--echo
|
||||
--echo *** Start Slave ***
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Master Data Insert ***
|
||||
connection master;
|
||||
set @b1 = 'b1b1b1b1';
|
||||
set @b1 = concat(@b1,@b1);
|
||||
INSERT INTO t12 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
|
||||
(2,@b1,'JOE',DEFAULT,DEFAULT),
|
||||
(3,@b1,'QA',DEFAULT,DEFAULT);
|
||||
--echo
|
||||
SELECT a,hex(b),f,c,e FROM t12 ORDER BY a;
|
||||
|
||||
--echo
|
||||
--echo *** Select on Slave ***
|
||||
sync_slave_with_master;
|
||||
SELECT a,hex(b),c FROM t12 ORDER BY a;
|
||||
|
||||
--echo
|
||||
--echo *** Drop t12 ***
|
||||
connection master;
|
||||
DROP TABLE t12;
|
||||
sync_slave_with_master;
|
||||
|
||||
############################################
|
||||
############## Continued ###################
|
||||
############################################
|
||||
--echo
|
||||
--echo ****************************************************
|
||||
--echo * - Alter Master adding columns at middle of table *
|
||||
--echo * Expect: columns added *
|
||||
--echo ****************************************************
|
||||
--echo
|
||||
--echo
|
||||
--echo *** Create t14 on slave ***
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
eval CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
|
||||
) ENGINE=$engine_type;
|
||||
|
||||
--echo
|
||||
--echo *** Create t14 on Master ***
|
||||
connection master;
|
||||
eval CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
|
||||
c6 INT DEFAULT '1',
|
||||
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
|
||||
)ENGINE=$engine_type;
|
||||
|
||||
RESET MASTER;
|
||||
|
||||
--echo
|
||||
--echo *** Start Slave ***
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Master Data Insert ***
|
||||
connection master;
|
||||
ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
|
||||
ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
|
||||
--echo
|
||||
set @b1 = 'b1b1b1b1';
|
||||
set @b1 = concat(@b1,@b1);
|
||||
INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle',DEFAULT,DEFAULT),
|
||||
(2,2.00,'This Test Should work',@b1,'JOE',DEFAULT,DEFAULT),
|
||||
(3,3.00,'If is does not, I will open a bug',@b1,'QA',DEFAULT,DEFAULT);
|
||||
--echo
|
||||
--replace_column 7 CURRENT_TIMESTAMP
|
||||
SELECT c1,c2,c3,hex(c4),c5,c6,c7 FROM t14 ORDER BY c1;
|
||||
|
||||
--echo
|
||||
--echo *** Select on Slave ****
|
||||
sync_slave_with_master;
|
||||
SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
|
||||
|
||||
####################################################
|
||||
--echo
|
||||
--echo ****************************************************
|
||||
--echo * - Alter Master Dropping columns from the middle. *
|
||||
--echo * Expect: columns dropped *
|
||||
--echo ****************************************************
|
||||
--echo
|
||||
--echo *** connect to master and drop columns ***
|
||||
connection master;
|
||||
ALTER TABLE t14 DROP COLUMN c2;
|
||||
ALTER TABLE t14 DROP COLUMN c7;
|
||||
--echo
|
||||
--echo *** Select from Master ***
|
||||
SELECT c1,c3,hex(c4),c5,c6 FROM t14 ORDER BY c1;
|
||||
--echo
|
||||
|
||||
--echo ************
|
||||
--echo * Bug30415 *
|
||||
--echo ************
|
||||
# Uncomment below once fixed
|
||||
|
||||
#--echo *** Select from Slave ***
|
||||
#sync_slave_with_master;
|
||||
#SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
|
||||
|
||||
# Bug30415
|
||||
# Remove below once fixed
|
||||
#***************************
|
||||
connection slave;
|
||||
wait_for_slave_to_stop;
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
#***************************
|
||||
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Drop t14 ***
|
||||
DROP TABLE t14;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t14;
|
||||
RESET MASTER;
|
||||
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
#################################################
|
||||
--echo
|
||||
--echo *************************************************
|
||||
--echo * - Alter Master adding columns at end of table *
|
||||
--echo * Expect: Error 1054 *
|
||||
--echo *************************************************
|
||||
--echo
|
||||
--echo *** Create t15 on slave ***
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
eval CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
|
||||
) ENGINE=$engine_type;
|
||||
|
||||
--echo
|
||||
--echo *** Create t15 on Master ***
|
||||
connection master;
|
||||
eval CREATE TABLE t15 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
|
||||
c6 INT DEFAULT '1',
|
||||
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
|
||||
)ENGINE=$engine_type;
|
||||
|
||||
RESET MASTER;
|
||||
|
||||
--echo
|
||||
--echo *** Start Slave ***
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Master Data Insert ***
|
||||
connection master;
|
||||
ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7;
|
||||
set @b1 = 'b1b1b1b1';
|
||||
set @b1 = concat(@b1,@b1);
|
||||
INSERT INTO t15 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT,3.00),
|
||||
(2,@b1,'JOE',DEFAULT,DEFAULT,3.00),
|
||||
(3,@b1,'QA',DEFAULT,DEFAULT,3.00);
|
||||
--replace_column 5 CURRENT_TIMESTAMP
|
||||
SELECT c1,hex(c4),c5,c6,c7,c2 FROM t15 ORDER BY c1;
|
||||
|
||||
--echo
|
||||
--echo ********************************************
|
||||
--echo *** Expect slave to fail with Error 1054 ***
|
||||
--echo ********************************************
|
||||
--echo
|
||||
connection slave;
|
||||
wait_for_slave_to_stop;
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Drop t15 ***
|
||||
DROP TABLE t15;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t15;
|
||||
RESET MASTER;
|
||||
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
####################################################
|
||||
--echo
|
||||
--echo ************************************************
|
||||
--echo * - Create index on Master column not on slave *
|
||||
--echo * Expect:Warning *
|
||||
--echo ************************************************
|
||||
--echo
|
||||
--echo *** Create t16 on slave ***
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
eval CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
|
||||
) ENGINE=$engine_type;
|
||||
|
||||
--echo
|
||||
--echo *** Create t16 on Master ***
|
||||
connection master;
|
||||
eval CREATE TABLE t16 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
|
||||
c6 INT DEFAULT '1',
|
||||
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
|
||||
)ENGINE=$engine_type;
|
||||
|
||||
RESET MASTER;
|
||||
|
||||
--echo
|
||||
--echo *** Start Slave ***
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Master Create Index and Data Insert ***
|
||||
connection master;
|
||||
CREATE INDEX part_of_c6 ON t16 (c6);
|
||||
set @b1 = 'b1b1b1b1';
|
||||
set @b1 = concat(@b1,@b1);
|
||||
INSERT INTO t16 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
|
||||
(2,@b1,'JOE',2,DEFAULT),
|
||||
(3,@b1,'QA',3,DEFAULT);
|
||||
--replace_column 5 CURRENT_TIMESTAMP
|
||||
SELECT c1,hex(c4),c5,c6,c7 FROM t16 ORDER BY c1;
|
||||
|
||||
# Uncomment the below when bug 30434 is patched
|
||||
|
||||
#--echo *** Select on Slave ****
|
||||
#sync_slave_with_master;
|
||||
#SELECT c1,hex(c4),c5 FROM t16 ORDER BY c1;
|
||||
#
|
||||
#--echo *** Drop t16 ***
|
||||
#connection master;
|
||||
#DROP TABLE t16;
|
||||
#sync_slave_with_master;
|
||||
|
||||
# Remove the below when bug 30434 is patched
|
||||
#*******************************************
|
||||
--echo
|
||||
--echo *****************
|
||||
--echo *** BUG 30434 ***
|
||||
--echo *****************
|
||||
--echo
|
||||
connection slave;
|
||||
wait_for_slave_to_stop;
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Drop t16 ***
|
||||
DROP TABLE t16;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t16;
|
||||
RESET MASTER;
|
||||
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
#*******************************************
|
||||
|
||||
####################################################
|
||||
--echo
|
||||
--echo *****************************************************
|
||||
--echo * - Delete rows using column on Master not on slave *
|
||||
--echo * Expect: Rows Deleted *
|
||||
--echo *****************************************************
|
||||
--echo
|
||||
--echo *** Create t17 on slave ***
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
eval CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
|
||||
) ENGINE=$engine_type;
|
||||
|
||||
--echo
|
||||
--echo *** Create t17 on Master ***
|
||||
connection master;
|
||||
eval CREATE TABLE t17 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
|
||||
c6 INT DEFAULT '1',
|
||||
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
|
||||
)ENGINE=$engine_type;
|
||||
|
||||
RESET MASTER;
|
||||
|
||||
--echo
|
||||
--echo *** Start Slave ***
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Master Data Insert ***
|
||||
connection master;
|
||||
set @b1 = 'b1b1b1b1';
|
||||
set @b1 = concat(@b1,@b1);
|
||||
INSERT INTO t17 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
|
||||
(2,@b1,'JOE',2,DEFAULT),
|
||||
(3,@b1,'QA',3,DEFAULT);
|
||||
--replace_column 5 CURRENT_TIMESTAMP
|
||||
SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
|
||||
|
||||
--echo
|
||||
--echo ** Select * from Slave **
|
||||
sync_slave_with_master;
|
||||
SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
|
||||
|
||||
--echo
|
||||
--echo ** Delete from master **
|
||||
connection master;
|
||||
DELETE FROM t17 WHERE c6 = 3;
|
||||
--replace_column 5 CURRENT_TIMESTAMP
|
||||
SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
|
||||
|
||||
--echo
|
||||
--echo ** Check slave **
|
||||
sync_slave_with_master;
|
||||
SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
|
||||
|
||||
|
||||
connection master;
|
||||
DROP TABLE t17;
|
||||
sync_slave_with_master;
|
||||
--echo
|
||||
|
||||
####################################################
|
||||
--echo
|
||||
--echo *****************************************************
|
||||
--echo * - Update row using column on Master not on slave *
|
||||
--echo * Expect: Rows updated *
|
||||
--echo *****************************************************
|
||||
--echo
|
||||
--echo ** Bug30674 **
|
||||
--echo
|
||||
--echo *** Create t18 on slave ***
|
||||
--echo
|
||||
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
eval CREATE TABLE t18 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
|
||||
) ENGINE=$engine_type;
|
||||
|
||||
--echo
|
||||
--echo *** Create t18 on Master ***
|
||||
connection master;
|
||||
eval CREATE TABLE t18 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
|
||||
c6 INT DEFAULT '1',
|
||||
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
|
||||
)ENGINE=$engine_type;
|
||||
|
||||
RESET MASTER;
|
||||
|
||||
--echo
|
||||
--echo *** Start Slave ***
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Master Data Insert ***
|
||||
connection master;
|
||||
set @b1 = 'b1b1b1b1';
|
||||
set @b1 = concat(@b1,@b1);
|
||||
|
||||
INSERT INTO t18 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
|
||||
(2,@b1,'JOE',2,DEFAULT),
|
||||
(3,@b1,'QA',3,DEFAULT);
|
||||
--replace_column 5 CURRENT_TIMESTAMP
|
||||
SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
|
||||
|
||||
--echo
|
||||
--echo ** Select * from Slave **
|
||||
sync_slave_with_master;
|
||||
SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
|
||||
|
||||
--echo
|
||||
--echo ** update from master **
|
||||
connection master;
|
||||
#######################################
|
||||
# This test should be uncommented
|
||||
# once bug30674 is patched
|
||||
#######################################
|
||||
|
||||
#***************************
|
||||
#UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3;
|
||||
#***************************
|
||||
|
||||
--replace_column 5 CURRENT_TIMESTAMP
|
||||
SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
|
||||
|
||||
--echo
|
||||
--echo ** Check slave **
|
||||
sync_slave_with_master;
|
||||
SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t18;
|
||||
sync_slave_with_master;
|
||||
--echo
|
||||
|
||||
####################################################
|
||||
--echo
|
||||
--echo *****************************************************
|
||||
--echo * - Insert UUID column on Master not on slave *
|
||||
--echo * Expect: Rows inserted *
|
||||
--echo *****************************************************
|
||||
--echo
|
||||
--echo *** Create t5 on slave ***
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
eval CREATE TABLE t5 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
|
||||
) ENGINE=$engine_type;
|
||||
|
||||
--echo
|
||||
--echo *** Create t5 on Master ***
|
||||
connection master;
|
||||
eval CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
|
||||
c6 LONG,
|
||||
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
|
||||
)ENGINE=$engine_type;
|
||||
|
||||
RESET MASTER;
|
||||
|
||||
--echo
|
||||
--echo *** Start Slave ***
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
--echo
|
||||
--echo *** Master Data Insert ***
|
||||
connection master;
|
||||
set @b1 = 'b1b1b1b1';
|
||||
INSERT INTO t5 () VALUES(1,@b1,'Kyle',UUID(),DEFAULT),
|
||||
(2,@b1,'JOE',UUID(),DEFAULT),
|
||||
(3,@b1,'QA',UUID(),DEFAULT);
|
||||
--replace_column 4 UUID 5 TIME
|
||||
SELECT c1,hex(c4),c5,c6,c7 FROM t5 ORDER BY c1;
|
||||
|
||||
--echo
|
||||
--echo ** Select * from Slave **
|
||||
sync_slave_with_master;
|
||||
SELECT c1,hex(c4),c5 FROM t5 ORDER BY c1;
|
||||
|
||||
connection master;
|
||||
DROP TABLE t5;
|
||||
sync_slave_with_master;
|
||||
--echo
|
||||
|
||||
# END of 5.1 tests case
|
||||
|
||||
|
||||
|
@ -38,7 +38,7 @@ show create database mysqltest3;
|
||||
|
||||
connection master;
|
||||
use mysqltest2;
|
||||
create table t1 (a int auto_increment primary key, b varchar(100));
|
||||
--eval create table t1 (a int auto_increment primary key, b varchar(100))engine=$engine_type;
|
||||
set character_set_client=cp850, collation_connection=latin2_croatian_ci;
|
||||
insert into t1 (b) values(@@character_set_server);
|
||||
insert into t1 (b) values(@@collation_server);
|
||||
@ -146,13 +146,15 @@ set collation_server=9999998;
|
||||
|
||||
select "--- --3943--" as "";
|
||||
use test;
|
||||
CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255));
|
||||
--eval CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255))ENGINE=$engine_type;
|
||||
SET CHARACTER_SET_CLIENT=koi8r,
|
||||
CHARACTER_SET_CONNECTION=cp1251,
|
||||
CHARACTER_SET_RESULTS=koi8r;
|
||||
INSERT INTO t1 (c1, c2) VALUES ('<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||||
SET SQL_BIG_SELECTS=1;
|
||||
select hex(c1), hex(c2) from t1;
|
||||
sync_slave_with_master;
|
||||
SET SQL_BIG_SELECTS=1;
|
||||
select hex(c1), hex(c2) from t1;
|
||||
|
||||
connection master;
|
||||
|
@ -566,3 +566,35 @@ reap;
|
||||
connection default;
|
||||
drop table t2;
|
||||
disconnect flush;
|
||||
|
||||
#
|
||||
# Bug#30882 Dropping a temporary table inside a stored function may cause a server crash
|
||||
#
|
||||
# Test HANDLER statements in conjunction with temporary tables. While the temporary table
|
||||
# is open by a HANDLER, no other statement can access it.
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
create temporary table t1 (a int, b char(1), key a(a), key b(a,b));
|
||||
insert into t1 values (0,"a"),(1,"b"),(2,"c"),(3,"d"),(4,"e"),
|
||||
(5,"f"),(6,"g"),(7,"h"),(8,"i"),(9,"j");
|
||||
select a,b from t1;
|
||||
handler t1 open as a1;
|
||||
handler a1 read a first;
|
||||
handler a1 read a next;
|
||||
handler a1 read a next;
|
||||
--error ER_CANT_REOPEN_TABLE
|
||||
select a,b from t1;
|
||||
handler a1 read a prev;
|
||||
handler a1 read a prev;
|
||||
handler a1 read a=(6) where b="g";
|
||||
handler a1 close;
|
||||
select a,b from t1;
|
||||
handler t1 open as a2;
|
||||
handler a2 read a first;
|
||||
handler a2 read a last;
|
||||
handler a2 read a prev;
|
||||
handler a2 close;
|
||||
drop table t1;
|
||||
|
@ -1020,6 +1020,55 @@ SELECT * FROM t1 ORDER BY b DESC, a ASC;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
###########################################################################
|
||||
|
||||
--echo
|
||||
--echo #
|
||||
--echo # Bug#27610: ALTER TABLE ROW_FORMAT=... does not rebuild the table.
|
||||
--echo #
|
||||
|
||||
--echo
|
||||
--echo # - prepare;
|
||||
--echo
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
--echo
|
||||
|
||||
CREATE TABLE t1(c INT)
|
||||
ENGINE = InnoDB
|
||||
ROW_FORMAT = COMPACT;
|
||||
|
||||
--echo
|
||||
--echo # - initial check;
|
||||
--echo
|
||||
|
||||
SELECT table_schema, table_name, row_format
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE table_schema = DATABASE() AND table_name = 't1';
|
||||
|
||||
--echo
|
||||
--echo # - change ROW_FORMAT and check;
|
||||
--echo
|
||||
|
||||
ALTER TABLE t1 ROW_FORMAT = REDUNDANT;
|
||||
|
||||
--echo
|
||||
|
||||
SELECT table_schema, table_name, row_format
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE table_schema = DATABASE() AND table_name = 't1';
|
||||
|
||||
--echo
|
||||
--echo # - that's it, cleanup.
|
||||
--echo
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
###########################################################################
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
# Fix for BUG#19243 "wrong LAST_INSERT_ID() after ON DUPLICATE KEY
|
||||
|
@ -610,7 +610,6 @@ id ev_nm ev_cnt
|
||||
6 ev_sched_1823 6
|
||||
DROP TABLE event_log;
|
||||
SET GLOBAL event_scheduler = OFF;
|
||||
DROP DATABASE events_test;
|
||||
SET GLOBAL event_scheduler= ON;
|
||||
CREATE EVENT bug28641 ON SCHEDULE AT '2038.01.18 03:00:00'
|
||||
DO BEGIN
|
||||
@ -618,3 +617,105 @@ SELECT 1;
|
||||
END;|
|
||||
SET GLOBAL event_scheduler= OFF;
|
||||
DROP EVENT bug28641;
|
||||
|
||||
#####################################################################
|
||||
#
|
||||
# BUG#31111: --read-only crashes MySQL (events fail to load).
|
||||
#
|
||||
#####################################################################
|
||||
|
||||
DROP USER mysqltest_u1@localhost;
|
||||
DROP EVENT IF EXISTS e1;
|
||||
DROP EVENT IF EXISTS e2;
|
||||
|
||||
GRANT EVENT ON *.* TO mysqltest_u1@localhost;
|
||||
|
||||
SET GLOBAL READ_ONLY = 1;
|
||||
|
||||
#
|
||||
# Connection: u1_con (mysqltest_u1@localhost/events_test).
|
||||
#
|
||||
|
||||
CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1;
|
||||
ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
|
||||
|
||||
ALTER EVENT e1 COMMENT 'comment';
|
||||
ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
|
||||
|
||||
DROP EVENT e1;
|
||||
ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
|
||||
|
||||
#
|
||||
# Connection: root_con (root@localhost/events_test).
|
||||
#
|
||||
|
||||
CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1;
|
||||
|
||||
ALTER EVENT e1 COMMENT 'comment';
|
||||
|
||||
DROP EVENT e1;
|
||||
|
||||
SET GLOBAL READ_ONLY = 0;
|
||||
|
||||
#
|
||||
# Connection: u1_con (mysqltest_u1@localhost/test).
|
||||
#
|
||||
|
||||
CREATE EVENT e1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND DO SET @a = 1;
|
||||
CREATE EVENT e2 ON SCHEDULE EVERY 1 SECOND DO SET @a = 1;
|
||||
|
||||
SELECT
|
||||
event_name,
|
||||
last_executed IS NULL,
|
||||
definer
|
||||
FROM INFORMATION_SCHEMA.EVENTS
|
||||
WHERE event_schema = 'events_test';
|
||||
event_name last_executed IS NULL definer
|
||||
e1 1 mysqltest_u1@localhost
|
||||
e2 1 mysqltest_u1@localhost
|
||||
|
||||
#
|
||||
# Connection: root_con (root@localhost/events_test).
|
||||
#
|
||||
|
||||
SET GLOBAL READ_ONLY = 1;
|
||||
|
||||
SET GLOBAL EVENT_SCHEDULER = ON;
|
||||
|
||||
# Waiting for the event scheduler to execute and drop event e1...
|
||||
|
||||
# Waiting for the event scheduler to execute and update event e2...
|
||||
|
||||
SET GLOBAL EVENT_SCHEDULER = OFF;
|
||||
|
||||
SELECT
|
||||
event_name,
|
||||
last_executed IS NULL,
|
||||
definer
|
||||
FROM INFORMATION_SCHEMA.EVENTS
|
||||
WHERE event_schema = 'events_test';
|
||||
event_name last_executed IS NULL definer
|
||||
e2 0 mysqltest_u1@localhost
|
||||
|
||||
DROP EVENT e1;
|
||||
ERROR HY000: Unknown event 'e1'
|
||||
|
||||
# Cleanup.
|
||||
|
||||
DROP EVENT e2;
|
||||
|
||||
SET GLOBAL READ_ONLY = 0;
|
||||
|
||||
#
|
||||
# Connection: default
|
||||
#
|
||||
|
||||
DROP USER mysqltest_u1@localhost;
|
||||
|
||||
#####################################################################
|
||||
#
|
||||
# End of BUG#31111.
|
||||
#
|
||||
#####################################################################
|
||||
|
||||
DROP DATABASE events_test;
|
||||
|
@ -2299,8 +2299,7 @@ Handler_read_next 0
|
||||
FLUSH STATUS;
|
||||
DELETE FROM t3 WHERE (SELECT (SELECT MAX(b) FROM t1 GROUP BY a HAVING a < 2) x
|
||||
FROM t1) > 10000;
|
||||
Warnings:
|
||||
Error 1242 Subquery returns more than 1 row
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
SHOW STATUS LIKE 'handler_read__e%';
|
||||
Variable_name Value
|
||||
Handler_read_key 8
|
||||
|
@ -575,3 +575,65 @@ ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
handler t1 close;
|
||||
handler t2 close;
|
||||
drop table t2;
|
||||
drop table if exists t1;
|
||||
create temporary table t1 (a int, b char(1), key a(a), key b(a,b));
|
||||
insert into t1 values (0,"a"),(1,"b"),(2,"c"),(3,"d"),(4,"e"),
|
||||
(5,"f"),(6,"g"),(7,"h"),(8,"i"),(9,"j");
|
||||
select a,b from t1;
|
||||
a b
|
||||
0 a
|
||||
1 b
|
||||
2 c
|
||||
3 d
|
||||
4 e
|
||||
5 f
|
||||
6 g
|
||||
7 h
|
||||
8 i
|
||||
9 j
|
||||
handler t1 open as a1;
|
||||
handler a1 read a first;
|
||||
a b
|
||||
0 a
|
||||
handler a1 read a next;
|
||||
a b
|
||||
1 b
|
||||
handler a1 read a next;
|
||||
a b
|
||||
2 c
|
||||
select a,b from t1;
|
||||
ERROR HY000: Can't reopen table: 'a1'
|
||||
handler a1 read a prev;
|
||||
a b
|
||||
1 b
|
||||
handler a1 read a prev;
|
||||
a b
|
||||
0 a
|
||||
handler a1 read a=(6) where b="g";
|
||||
a b
|
||||
6 g
|
||||
handler a1 close;
|
||||
select a,b from t1;
|
||||
a b
|
||||
0 a
|
||||
1 b
|
||||
2 c
|
||||
3 d
|
||||
4 e
|
||||
5 f
|
||||
6 g
|
||||
7 h
|
||||
8 i
|
||||
9 j
|
||||
handler t1 open as a2;
|
||||
handler a2 read a first;
|
||||
a b
|
||||
0 a
|
||||
handler a2 read a last;
|
||||
a b
|
||||
9 j
|
||||
handler a2 read a prev;
|
||||
a b
|
||||
8 i
|
||||
handler a2 close;
|
||||
drop table t1;
|
||||
|
@ -575,3 +575,65 @@ ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
handler t1 close;
|
||||
handler t2 close;
|
||||
drop table t2;
|
||||
drop table if exists t1;
|
||||
create temporary table t1 (a int, b char(1), key a(a), key b(a,b));
|
||||
insert into t1 values (0,"a"),(1,"b"),(2,"c"),(3,"d"),(4,"e"),
|
||||
(5,"f"),(6,"g"),(7,"h"),(8,"i"),(9,"j");
|
||||
select a,b from t1;
|
||||
a b
|
||||
0 a
|
||||
1 b
|
||||
2 c
|
||||
3 d
|
||||
4 e
|
||||
5 f
|
||||
6 g
|
||||
7 h
|
||||
8 i
|
||||
9 j
|
||||
handler t1 open as a1;
|
||||
handler a1 read a first;
|
||||
a b
|
||||
0 a
|
||||
handler a1 read a next;
|
||||
a b
|
||||
1 b
|
||||
handler a1 read a next;
|
||||
a b
|
||||
2 c
|
||||
select a,b from t1;
|
||||
ERROR HY000: Can't reopen table: 'a1'
|
||||
handler a1 read a prev;
|
||||
a b
|
||||
1 b
|
||||
handler a1 read a prev;
|
||||
a b
|
||||
0 a
|
||||
handler a1 read a=(6) where b="g";
|
||||
a b
|
||||
6 g
|
||||
handler a1 close;
|
||||
select a,b from t1;
|
||||
a b
|
||||
0 a
|
||||
1 b
|
||||
2 c
|
||||
3 d
|
||||
4 e
|
||||
5 f
|
||||
6 g
|
||||
7 h
|
||||
8 i
|
||||
9 j
|
||||
handler t1 open as a2;
|
||||
handler a2 read a first;
|
||||
a b
|
||||
0 a
|
||||
handler a2 read a last;
|
||||
a b
|
||||
9 j
|
||||
handler a2 read a prev;
|
||||
a b
|
||||
8 i
|
||||
handler a2 close;
|
||||
drop table t1;
|
||||
|
@ -1287,6 +1287,40 @@ a b
|
||||
2 2
|
||||
3 2
|
||||
1 1
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#27610: ALTER TABLE ROW_FORMAT=... does not rebuild the table.
|
||||
#
|
||||
|
||||
# - prepare;
|
||||
|
||||
DROP TABLE IF EXISTS t1;
|
||||
|
||||
CREATE TABLE t1(c INT)
|
||||
ENGINE = InnoDB
|
||||
ROW_FORMAT = COMPACT;
|
||||
|
||||
# - initial check;
|
||||
|
||||
SELECT table_schema, table_name, row_format
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE table_schema = DATABASE() AND table_name = 't1';
|
||||
table_schema table_name row_format
|
||||
test t1 Compact
|
||||
|
||||
# - change ROW_FORMAT and check;
|
||||
|
||||
ALTER TABLE t1 ROW_FORMAT = REDUNDANT;
|
||||
|
||||
SELECT table_schema, table_name, row_format
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE table_schema = DATABASE() AND table_name = 't1';
|
||||
table_schema table_name row_format
|
||||
test t1 Redundant
|
||||
|
||||
# - that's it, cleanup.
|
||||
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
CREATE TABLE `t2` (
|
||||
|
@ -530,3 +530,32 @@ ORDER BY c.b, c.d
|
||||
a b c d e f g h i j a b c d
|
||||
2 2 1 2004-11-30 12:00:00 1 0 0 0 0 0 2 3388000 -553000 NULL
|
||||
DROP TABLE t1, t2;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY AUTO_INCREMENT);
|
||||
INSERT INTO t1 VALUES (), (), ();
|
||||
SELECT 1 AS c1
|
||||
FROM t1
|
||||
ORDER BY (
|
||||
SELECT 1 AS c2
|
||||
FROM t1
|
||||
GROUP BY GREATEST(LAST_INSERT_ID(), t1.a) ASC
|
||||
LIMIT 1);
|
||||
c1
|
||||
1
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT, b INT, INDEX (a,b));
|
||||
INSERT INTO t1 (a, b)
|
||||
VALUES
|
||||
(1,1), (1,2), (1,3), (1,4), (1,5),
|
||||
(2,2), (2,3), (2,1), (3,1), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6);
|
||||
EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE
|
||||
(SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
|
||||
2 SUBQUERY t1 range NULL a 5 NULL 8 Using index for group-by
|
||||
SELECT 1 as RES FROM t1 AS t1_outer WHERE
|
||||
(SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
|
||||
RES
|
||||
DROP TABLE t1;
|
||||
|
@ -328,4 +328,26 @@ drop table t1;
|
||||
drop table t1;
|
||||
End of 5.0 tests
|
||||
flush logs;
|
||||
BUG#31611: Security risk with BINLOG statement
|
||||
SET BINLOG_FORMAT=ROW;
|
||||
CREATE DATABASE mysqltest1;
|
||||
CREATE USER untrusted@localhost;
|
||||
GRANT SELECT ON mysqltest1.* TO untrusted@localhost;
|
||||
SHOW GRANTS FOR untrusted@localhost;
|
||||
Grants for untrusted@localhost
|
||||
GRANT USAGE ON *.* TO 'untrusted'@'localhost'
|
||||
GRANT SELECT ON `mysqltest1`.* TO 'untrusted'@'localhost'
|
||||
USE mysqltest1;
|
||||
CREATE TABLE t1 (a INT, b CHAR(64));
|
||||
flush logs;
|
||||
INSERT INTO t1 VALUES (1,USER());
|
||||
flush logs;
|
||||
mysqlbinlog var/log/master-bin.000017 > var/tmp/bug31611.sql
|
||||
mysql mysqltest1 -uuntrusted < var/tmp/bug31611.sql
|
||||
INSERT INTO t1 VALUES (1,USER());
|
||||
ERROR 42000: INSERT command denied to user 'untrusted'@'localhost' for table 't1'
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
1 root@localhost
|
||||
DROP DATABASE mysqltest1;
|
||||
End of 5.1 tests
|
||||
|
@ -2680,4 +2680,21 @@ t1 CREATE TABLE `t1` (
|
||||
KEY `c` (`c`(10))
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
drop table if exists t1, t2;
|
||||
create table t1 (a int, b int);
|
||||
create table t2 like t1;
|
||||
insert into t1 (a, b) values (1,1), (1,2), (1,3), (1,4), (1,5),
|
||||
(2,2), (2,3), (2,1), (3,1), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6);
|
||||
insert into t2 select a, max(b) from t1 group by a;
|
||||
prepare stmt from "delete from t2 where (select (select max(b) from t1 group
|
||||
by a having a < 2) x from t1) > 10000";
|
||||
delete from t2 where (select (select max(b) from t1 group
|
||||
by a having a < 2) x from t1) > 10000;
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
execute stmt;
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
execute stmt;
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
deallocate prepare stmt;
|
||||
drop table t1, t2;
|
||||
End of 5.1 tests.
|
||||
|
@ -4081,6 +4081,41 @@ SELECT `x` FROM v3;
|
||||
x
|
||||
1
|
||||
DROP VIEW v1, v2, v3;
|
||||
|
||||
#
|
||||
# Bug#30736: Row Size Too Large Error Creating a Table and
|
||||
# Inserting Data.
|
||||
#
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP TABLE IF EXISTS t2;
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 DECIMAL(10, 2),
|
||||
c2 FLOAT);
|
||||
|
||||
INSERT INTO t1 VALUES (0, 1), (2, 3), (4, 5);
|
||||
|
||||
CREATE TABLE t2(
|
||||
c3 DECIMAL(10, 2))
|
||||
SELECT
|
||||
c1 * c2 AS c3
|
||||
FROM t1;
|
||||
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
0.00 1
|
||||
2.00 3
|
||||
4.00 5
|
||||
|
||||
SELECT * FROM t2;
|
||||
c3
|
||||
0.00
|
||||
6.00
|
||||
20.00
|
||||
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t2;
|
||||
|
||||
End of 5.0 tests
|
||||
create table t1(a INT, KEY (a));
|
||||
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
|
||||
|
@ -1428,7 +1428,6 @@ create function bug20701() returns varchar(25) binary return "test";
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'return value collation'
|
||||
create function bug20701() returns varchar(25) return "test";
|
||||
drop function bug20701;
|
||||
End of 5.1 tests
|
||||
create procedure proc_26503_error_1()
|
||||
begin
|
||||
retry:
|
||||
@ -1523,3 +1522,60 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
|
||||
SELECT ..inexistent();
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.inexistent()' at line 1
|
||||
USE test;
|
||||
create function f1() returns int
|
||||
begin
|
||||
set @test = 1, password = password('foo');
|
||||
return 1;
|
||||
end|
|
||||
ERROR HY000: Not allowed to set autocommit from a stored function or trigger
|
||||
create trigger t1
|
||||
before insert on t2 for each row set password = password('foo');|
|
||||
ERROR HY000: Not allowed to set autocommit from a stored function or trigger
|
||||
drop function if exists f1;
|
||||
drop function if exists f2;
|
||||
drop table if exists t1, t2;
|
||||
create function f1() returns int
|
||||
begin
|
||||
drop temporary table t1;
|
||||
return 1;
|
||||
end|
|
||||
create temporary table t1 as select f1();
|
||||
ERROR HY000: Can't reopen table: 't1'
|
||||
create function f2() returns int
|
||||
begin
|
||||
create temporary table t2 as select f1();
|
||||
return 1;
|
||||
end|
|
||||
create temporary table t1 as select f2();
|
||||
ERROR HY000: Can't reopen table: 't1'
|
||||
drop function f1;
|
||||
drop function f2;
|
||||
create function f1() returns int
|
||||
begin
|
||||
drop temporary table t2,t1;
|
||||
return 1;
|
||||
end|
|
||||
create function f2() returns int
|
||||
begin
|
||||
create temporary table t2 as select f1();
|
||||
return 1;
|
||||
end|
|
||||
create temporary table t1 as select f2();
|
||||
ERROR HY000: Can't reopen table: 't2'
|
||||
drop function f1;
|
||||
drop function f2;
|
||||
create temporary table t2(a int);
|
||||
select * from t2;
|
||||
a
|
||||
create function f2() returns int
|
||||
begin
|
||||
drop temporary table t2;
|
||||
return 1;
|
||||
end|
|
||||
select f2();
|
||||
f2()
|
||||
1
|
||||
drop function f2;
|
||||
drop table t2;
|
||||
ERROR 42S02: Unknown table 't2'
|
||||
End of 5.1 tests
|
||||
|
@ -11,7 +11,7 @@ RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
|
||||
CREATE AGGREGATE FUNCTION avgcost
|
||||
RETURNS REAL SONAME "UDF_EXAMPLE_LIB";
|
||||
select myfunc_double();
|
||||
ERROR HY000: myfunc_double must have at least one argument
|
||||
ERROR HY000: Can't initialize function 'myfunc_double'; myfunc_double must have at least one argument
|
||||
select myfunc_double(1);
|
||||
myfunc_double(1)
|
||||
49.00
|
||||
@ -24,26 +24,26 @@ select myfunc_int();
|
||||
myfunc_int()
|
||||
0
|
||||
select lookup();
|
||||
ERROR HY000: Wrong arguments to lookup; Use the source
|
||||
ERROR HY000: Can't initialize function 'lookup'; Wrong arguments to lookup; Use the source
|
||||
select lookup("127.0.0.1");
|
||||
lookup("127.0.0.1")
|
||||
127.0.0.1
|
||||
select lookup(127,0,0,1);
|
||||
ERROR HY000: Wrong arguments to lookup; Use the source
|
||||
ERROR HY000: Can't initialize function 'lookup'; Wrong arguments to lookup; Use the source
|
||||
select lookup("localhost");
|
||||
lookup("localhost")
|
||||
127.0.0.1
|
||||
select reverse_lookup();
|
||||
ERROR HY000: Wrong number of arguments to reverse_lookup; Use the source
|
||||
ERROR HY000: Can't initialize function 'reverse_lookup'; Wrong number of arguments to reverse_lookup; Use the source
|
||||
select reverse_lookup("127.0.0.1");
|
||||
select reverse_lookup(127,0,0,1);
|
||||
select reverse_lookup("localhost");
|
||||
reverse_lookup("localhost")
|
||||
NULL
|
||||
select avgcost();
|
||||
ERROR HY000: wrong number of arguments: AVGCOST() requires two arguments
|
||||
ERROR HY000: Can't initialize function 'avgcost'; wrong number of arguments: AVGCOST() requires two arguments
|
||||
select avgcost(100,23.76);
|
||||
ERROR HY000: wrong argument type: AVGCOST() requires an INT and a REAL
|
||||
ERROR HY000: Can't initialize function 'avgcost'; wrong argument type: AVGCOST() requires an INT and a REAL
|
||||
create table t1(sum int, price float(24));
|
||||
insert into t1 values(100, 50.00), (100, 100.00);
|
||||
select avgcost(sum, price) from t1;
|
||||
|
@ -1888,5 +1888,27 @@ set engine_condition_pushdown = 1;
|
||||
SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
|
||||
fname lname
|
||||
Young Foo
|
||||
drop table t1;
|
||||
create table t1 (a int, b int, c int, d int, primary key using hash(a))
|
||||
engine=ndbcluster;
|
||||
insert into t1 values (10,1,100,0+0x1111);
|
||||
insert into t1 values (20,2,200,0+0x2222);
|
||||
insert into t1 values (30,3,300,0+0x3333);
|
||||
insert into t1 values (40,4,400,0+0x4444);
|
||||
insert into t1 values (50,5,500,0+0x5555);
|
||||
set engine_condition_pushdown = on;
|
||||
select a,b,d from t1
|
||||
where b in (0,1,2,5)
|
||||
order by b;
|
||||
a b d
|
||||
10 1 4369
|
||||
20 2 8738
|
||||
50 5 21845
|
||||
a b d
|
||||
10 1 4369
|
||||
20 2 8738
|
||||
50 5 21845
|
||||
Warnings:
|
||||
Warning 4294 Scan filter is too large, discarded
|
||||
set engine_condition_pushdown = @old_ecpd;
|
||||
DROP TABLE t1,t2,t3,t4,t5;
|
||||
|
11
mysql-test/suite/ndb/r/ndb_lock_table.result
Normal file
11
mysql-test/suite/ndb/r/ndb_lock_table.result
Normal file
@ -0,0 +1,11 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (a int) engine ndb;
|
||||
set autocommit=1;
|
||||
lock table t1 write;
|
||||
set autocommit=0;
|
||||
insert into t1 values (0);
|
||||
rollback;
|
||||
select * from t1;
|
||||
a
|
||||
unlock tables;
|
||||
drop table t1;
|
@ -121,3 +121,24 @@ show tables;
|
||||
Tables_in_db
|
||||
t2
|
||||
drop database db;
|
||||
use test;
|
||||
create table `test`.`t1$EX`
|
||||
(server_id int unsigned,
|
||||
master_server_id int unsigned,
|
||||
master_epoch bigint unsigned,
|
||||
count int unsigned,
|
||||
primary key(server_id, master_server_id,
|
||||
master_epoch, count))
|
||||
engine ndb;
|
||||
show tables like '%$%';
|
||||
Tables_in_test (%$%)
|
||||
t1$ex
|
||||
use test;
|
||||
show tables like '%$%';
|
||||
Tables_in_test (%$%)
|
||||
t1$ex
|
||||
drop table `test`.`t1$EX`;
|
||||
show tables like '%$%';
|
||||
Tables_in_test (%$%)
|
||||
show tables like '%$%';
|
||||
Tables_in_test (%$%)
|
||||
|
@ -41,6 +41,14 @@ pk1 b c
|
||||
10 0 0
|
||||
12 2 2
|
||||
14 1 1
|
||||
create unique index ib on t1(b);
|
||||
update t1 set c = 4 where pk1 = 12;
|
||||
update ignore t1 set b = 55 where pk1 = 14;
|
||||
select * from t1 order by pk1;
|
||||
pk1 b c
|
||||
10 0 0
|
||||
12 2 4
|
||||
14 55 1
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (a int, b int, KEY (a, b)) ENGINE=ndbcluster;
|
||||
CREATE TABLE t2 (a int, b int, UNIQUE KEY (a, b)) ENGINE=ndbcluster;
|
||||
|
75
mysql-test/suite/ndb/r/ndb_update_no_read.result
Normal file
75
mysql-test/suite/ndb/r/ndb_update_no_read.result
Normal file
@ -0,0 +1,75 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
create table t1 (a int not null primary key, b int not null, c int,
|
||||
unique index_b (b) using hash)
|
||||
engine ndb;
|
||||
insert into t1 values (1,10,1),(2,9,1),(3,8,1),(4,7,1),(5,6,1),(6,5,2),(7,4,2),(8,3,2),
|
||||
(9,2,2),(10,1,2);
|
||||
update t1 set c = 111, b = 20 where a = 1;
|
||||
select * from t1 where a = 1 order by a;
|
||||
a b c
|
||||
1 20 111
|
||||
delete from t1 where a = 1;
|
||||
select * from t1 where a = 1 order by a;
|
||||
a b c
|
||||
update t1 set c = 12, b = 19 where b = 2;
|
||||
select * from t1 where b = 2 order by a;
|
||||
a b c
|
||||
delete from t1 where b = 19;
|
||||
select * from t1 where b = 19 order by a;
|
||||
a b c
|
||||
update t1 set c = 22 where a = 10 or a >= 10;
|
||||
select * from t1 order by a;
|
||||
a b c
|
||||
2 9 1
|
||||
3 8 1
|
||||
4 7 1
|
||||
5 6 1
|
||||
6 5 2
|
||||
7 4 2
|
||||
8 3 2
|
||||
10 1 22
|
||||
update t1 set c = 23 where a in (8,10);
|
||||
select * from t1 order by a;
|
||||
a b c
|
||||
2 9 1
|
||||
3 8 1
|
||||
4 7 1
|
||||
5 6 1
|
||||
6 5 2
|
||||
7 4 2
|
||||
8 3 23
|
||||
10 1 23
|
||||
update t1 set c = 23 where a in (7,8) or a >= 10;
|
||||
select * from t1 order by a;
|
||||
a b c
|
||||
2 9 1
|
||||
3 8 1
|
||||
4 7 1
|
||||
5 6 1
|
||||
6 5 2
|
||||
7 4 23
|
||||
8 3 23
|
||||
10 1 23
|
||||
update t1 set c = 11 where a = 3 or b = 7;
|
||||
select * from t1 where a = 3 or b = 7 order by a;
|
||||
a b c
|
||||
3 8 11
|
||||
4 7 11
|
||||
update t1 set a = 13, b = 20 where a = 3;
|
||||
select * from t1 where a = 13 order by a;
|
||||
a b c
|
||||
13 20 11
|
||||
update t1 set a = 12, b = 19 where b = 7;
|
||||
select * from t1 where b = 19 order by a;
|
||||
a b c
|
||||
12 19 11
|
||||
select * from t1 where b = 7 order by a;
|
||||
a b c
|
||||
update t1 set c = 12, b = 29 where a = 5 and b = 6;
|
||||
select * from t1 where b = 19 order by a;
|
||||
a b c
|
||||
12 19 11
|
||||
delete from t1 where b = 6 and c = 12;
|
||||
select * from t1 where b = 6 order by a;
|
||||
a b c
|
||||
drop table t1;
|
@ -9,9 +9,6 @@
|
||||
# Do not use any TAB characters for whitespace.
|
||||
#
|
||||
##############################################################################
|
||||
ndb_dd_sql_features : Bug#29102 ndb_dd_sql_features fails in pushbuild
|
||||
ndb_load : BUG#17233 2006-05-04 tomas failed load data from infile causes mysqld dbug_assert, binlog not flushed
|
||||
|
||||
partition_03ndb : BUG#16385 2006-03-24 mikael Partitions: crash when updating a range partitioned NDB table
|
||||
|
||||
ndb_partition_error2 : HF is not sure if the test can work as internded on all the platforms
|
||||
|
File diff suppressed because it is too large
Load Diff
15
mysql-test/suite/ndb/t/ndb_lock_table.test
Normal file
15
mysql-test/suite/ndb/t/ndb_lock_table.test
Normal file
@ -0,0 +1,15 @@
|
||||
-- source include/have_ndb.inc
|
||||
|
||||
# BUG 30996
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
create table t1 (a int) engine ndb;
|
||||
set autocommit=1;
|
||||
lock table t1 write;
|
||||
set autocommit=0;
|
||||
insert into t1 values (0);
|
||||
rollback;
|
||||
select * from t1;
|
||||
unlock tables;
|
||||
drop table t1;
|
@ -122,4 +122,33 @@ connection server2;
|
||||
show tables;
|
||||
drop database db;
|
||||
|
||||
|
||||
#
|
||||
# bug#31470, ndb table with special characters in name
|
||||
# are not discovered correctly
|
||||
connection server1;
|
||||
use test;
|
||||
create table `test`.`t1$EX`
|
||||
(server_id int unsigned,
|
||||
master_server_id int unsigned,
|
||||
master_epoch bigint unsigned,
|
||||
count int unsigned,
|
||||
primary key(server_id, master_server_id,
|
||||
master_epoch, count))
|
||||
engine ndb;
|
||||
|
||||
# check that table shows up ok on both servers
|
||||
# before bugfix table would not show up on server2
|
||||
--replace_regex /EX/ex/
|
||||
show tables like '%$%';
|
||||
connection server2;
|
||||
use test;
|
||||
--replace_regex /EX/ex/
|
||||
show tables like '%$%';
|
||||
|
||||
# check cleanup
|
||||
drop table `test`.`t1$EX`;
|
||||
show tables like '%$%';
|
||||
|
||||
connection server1;
|
||||
show tables like '%$%';
|
||||
|
@ -35,6 +35,11 @@ UPDATE IGNORE t1 set pk1 = 1, c = 2 where pk1 = 4;
|
||||
select * from t1 order by pk1;
|
||||
UPDATE t1 set pk1 = pk1 + 10;
|
||||
select * from t1 order by pk1;
|
||||
# bug#25817
|
||||
create unique index ib on t1(b);
|
||||
update t1 set c = 4 where pk1 = 12;
|
||||
update ignore t1 set b = 55 where pk1 = 14;
|
||||
select * from t1 order by pk1;
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
|
79
mysql-test/suite/ndb/t/ndb_update_no_read.test
Normal file
79
mysql-test/suite/ndb/t/ndb_update_no_read.test
Normal file
@ -0,0 +1,79 @@
|
||||
-- source include/have_ndb.inc
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
#
|
||||
# New test case for WL 3686 (which is not until CGE-6.3)
|
||||
# but test is committed in 5.1 to verify consistant results.
|
||||
#
|
||||
# When only constant expressions in update statements and
|
||||
# only PK or UK in WHERE clause. No extra WHERE parts are
|
||||
# allowed. WL #3687 takes of more advanced variants of
|
||||
# avoiding the read before the update/delete
|
||||
|
||||
create table t1 (a int not null primary key, b int not null, c int,
|
||||
unique index_b (b) using hash)
|
||||
engine ndb;
|
||||
|
||||
insert into t1 values (1,10,1),(2,9,1),(3,8,1),(4,7,1),(5,6,1),(6,5,2),(7,4,2),(8,3,2),
|
||||
(9,2,2),(10,1,2);
|
||||
|
||||
# These ones should use optimisation
|
||||
|
||||
update t1 set c = 111, b = 20 where a = 1;
|
||||
|
||||
select * from t1 where a = 1 order by a;
|
||||
|
||||
delete from t1 where a = 1;
|
||||
|
||||
select * from t1 where a = 1 order by a;
|
||||
|
||||
update t1 set c = 12, b = 19 where b = 2;
|
||||
|
||||
select * from t1 where b = 2 order by a;
|
||||
|
||||
delete from t1 where b = 19;
|
||||
|
||||
select * from t1 where b = 19 order by a;
|
||||
|
||||
update t1 set c = 22 where a = 10 or a >= 10;
|
||||
|
||||
select * from t1 order by a;
|
||||
|
||||
update t1 set c = 23 where a in (8,10);
|
||||
|
||||
select * from t1 order by a;
|
||||
|
||||
update t1 set c = 23 where a in (7,8) or a >= 10;
|
||||
|
||||
select * from t1 order by a;
|
||||
|
||||
# These ones should not use optimisation
|
||||
|
||||
update t1 set c = 11 where a = 3 or b = 7;
|
||||
|
||||
select * from t1 where a = 3 or b = 7 order by a;
|
||||
|
||||
update t1 set a = 13, b = 20 where a = 3;
|
||||
|
||||
select * from t1 where a = 13 order by a;
|
||||
|
||||
update t1 set a = 12, b = 19 where b = 7;
|
||||
|
||||
select * from t1 where b = 19 order by a;
|
||||
|
||||
select * from t1 where b = 7 order by a;
|
||||
|
||||
update t1 set c = 12, b = 29 where a = 5 and b = 6;
|
||||
|
||||
select * from t1 where b = 19 order by a;
|
||||
|
||||
delete from t1 where b = 6 and c = 12;
|
||||
|
||||
select * from t1 where b = 6 order by a;
|
||||
|
||||
drop table t1;
|
||||
|
@ -53,7 +53,7 @@ DELETE FROM t2 WHERE a = 2;
|
||||
--echo ******************** LOAD DATA INFILE ********************
|
||||
--exec cp ./suite/rpl/data/rpl_mixed.dat $MYSQLTEST_VARDIR/tmp/
|
||||
LOAD DATA INFILE '../tmp/rpl_mixed.dat' INTO TABLE t1 FIELDS TERMINATED BY '|' ;
|
||||
--exec rm $MYSQLTEST_VARDIR/tmp/rpl_mixed.dat
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/rpl_mixed.dat
|
||||
SELECT * FROM t1;
|
||||
--source suite/rpl/include/rpl_mixed_check_select.inc
|
||||
--source suite/rpl/include/rpl_mixed_clear_tables.inc
|
||||
|
Binary file not shown.
Binary file not shown.
@ -40,7 +40,7 @@ show create database mysqltest3;
|
||||
Database Create Database
|
||||
mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET armscii8 COLLATE armscii8_bin */
|
||||
use mysqltest2;
|
||||
create table t1 (a int auto_increment primary key, b varchar(100));
|
||||
create table t1 (a int auto_increment primary key, b varchar(100))engine=myisam;;
|
||||
set character_set_client=cp850, collation_connection=latin2_croatian_ci;
|
||||
insert into t1 (b) values(@@character_set_server);
|
||||
insert into t1 (b) values(@@collation_server);
|
||||
@ -117,7 +117,7 @@ master-bin.000001 # Query # # create database mysqltest2 character set latin2
|
||||
master-bin.000001 # Query # # create database mysqltest3
|
||||
master-bin.000001 # Query # # drop database mysqltest3
|
||||
master-bin.000001 # Query # # create database mysqltest3
|
||||
master-bin.000001 # Query # # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
|
||||
master-bin.000001 # Query # # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))engine=myisam
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
@ -177,14 +177,16 @@ select "--- --3943--" as "";
|
||||
|
||||
--- --3943--
|
||||
use test;
|
||||
CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255));
|
||||
CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255))ENGINE=myisam;;
|
||||
SET CHARACTER_SET_CLIENT=koi8r,
|
||||
CHARACTER_SET_CONNECTION=cp1251,
|
||||
CHARACTER_SET_RESULTS=koi8r;
|
||||
INSERT INTO t1 (c1, c2) VALUES ('<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||||
SET SQL_BIG_SELECTS=1;
|
||||
select hex(c1), hex(c2) from t1;
|
||||
hex(c1) hex(c2)
|
||||
CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
|
||||
SET SQL_BIG_SELECTS=1;
|
||||
select hex(c1), hex(c2) from t1;
|
||||
hex(c1) hex(c2)
|
||||
CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
|
||||
|
215
mysql-test/suite/rpl/r/rpl_row_charset_innodb.result
Normal file
215
mysql-test/suite/rpl/r/rpl_row_charset_innodb.result
Normal file
@ -0,0 +1,215 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
set timestamp=1000000000;
|
||||
drop database if exists mysqltest2;
|
||||
drop database if exists mysqltest3;
|
||||
create database mysqltest2 character set latin2;
|
||||
set @@character_set_server=latin5;
|
||||
create database mysqltest3;
|
||||
|
||||
--- --master--
|
||||
show create database mysqltest2;
|
||||
Database Create Database
|
||||
mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET latin2 */
|
||||
show create database mysqltest3;
|
||||
Database Create Database
|
||||
mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET latin5 */
|
||||
|
||||
--- --slave--
|
||||
show create database mysqltest2;
|
||||
Database Create Database
|
||||
mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET latin2 */
|
||||
show create database mysqltest3;
|
||||
Database Create Database
|
||||
mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET latin5 */
|
||||
set @@collation_server=armscii8_bin;
|
||||
drop database mysqltest3;
|
||||
create database mysqltest3;
|
||||
|
||||
--- --master--
|
||||
show create database mysqltest3;
|
||||
Database Create Database
|
||||
mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET armscii8 COLLATE armscii8_bin */
|
||||
|
||||
--- --slave--
|
||||
show create database mysqltest3;
|
||||
Database Create Database
|
||||
mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET armscii8 COLLATE armscii8_bin */
|
||||
use mysqltest2;
|
||||
create table t1 (a int auto_increment primary key, b varchar(100))engine=innodb;;
|
||||
set character_set_client=cp850, collation_connection=latin2_croatian_ci;
|
||||
insert into t1 (b) values(@@character_set_server);
|
||||
insert into t1 (b) values(@@collation_server);
|
||||
insert into t1 (b) values(@@character_set_client);
|
||||
insert into t1 (b) values(@@character_set_connection);
|
||||
insert into t1 (b) values(@@collation_connection);
|
||||
|
||||
--- --master--
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
1 armscii8
|
||||
2 armscii8_bin
|
||||
3 cp850
|
||||
4 latin2
|
||||
5 latin2_croatian_ci
|
||||
|
||||
--- --slave--
|
||||
select * from mysqltest2.t1 order by a;
|
||||
a b
|
||||
1 armscii8
|
||||
2 armscii8_bin
|
||||
3 cp850
|
||||
4 latin2
|
||||
5 latin2_croatian_ci
|
||||
select "--- --muller--" as "";
|
||||
|
||||
--- --muller--
|
||||
set character_set_client=latin1, collation_connection=latin1_german1_ci;
|
||||
truncate table t1;
|
||||
insert into t1 (b) values(@@collation_connection);
|
||||
insert into t1 (b) values(LEAST("M<>ller","Muffler"));
|
||||
set collation_connection=latin1_german2_ci;
|
||||
insert into t1 (b) values(@@collation_connection);
|
||||
insert into t1 (b) values(LEAST("M<>ller","Muffler"));
|
||||
|
||||
--- --master--
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
1 latin1_german1_ci
|
||||
2 Muffler
|
||||
3 latin1_german2_ci
|
||||
4 M<>ller
|
||||
|
||||
--- --slave--
|
||||
select * from mysqltest2.t1 order by a;
|
||||
a b
|
||||
1 latin1_german1_ci
|
||||
2 Muffler
|
||||
3 latin1_german2_ci
|
||||
4 M<>ller
|
||||
select "--- --INSERT--" as "";
|
||||
|
||||
--- --INSERT--
|
||||
set @a= _cp850 'M<>ller' collate cp850_general_ci;
|
||||
truncate table t1;
|
||||
insert into t1 (b) values(collation(@a));
|
||||
|
||||
--- --master--
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
1 cp850_general_ci
|
||||
|
||||
--- --slave--
|
||||
select * from mysqltest2.t1 order by a;
|
||||
a b
|
||||
1 cp850_general_ci
|
||||
drop database mysqltest2;
|
||||
drop database mysqltest3;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # drop database if exists mysqltest2
|
||||
master-bin.000001 # Query # # drop database if exists mysqltest3
|
||||
master-bin.000001 # Query # # create database mysqltest2 character set latin2
|
||||
master-bin.000001 # Query # # create database mysqltest3
|
||||
master-bin.000001 # Query # # drop database mysqltest3
|
||||
master-bin.000001 # Query # # create database mysqltest3
|
||||
master-bin.000001 # Query # # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))engine=innodb
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # drop database mysqltest2
|
||||
master-bin.000001 # Query # # drop database mysqltest3
|
||||
select "--- --global--" as "";
|
||||
|
||||
--- --global--
|
||||
set global character_set_server=latin2;
|
||||
set global character_set_server=latin1;
|
||||
set global character_set_server=latin2;
|
||||
set global character_set_server=latin1;
|
||||
select "--- --oneshot--" as "";
|
||||
|
||||
--- --oneshot--
|
||||
set one_shot @@character_set_server=latin5;
|
||||
set @@max_join_size=1000;
|
||||
select @@character_set_server;
|
||||
@@character_set_server
|
||||
latin5
|
||||
select @@character_set_server;
|
||||
@@character_set_server
|
||||
latin1
|
||||
set @@character_set_server=latin5;
|
||||
select @@character_set_server;
|
||||
@@character_set_server
|
||||
latin5
|
||||
select @@character_set_server;
|
||||
@@character_set_server
|
||||
latin5
|
||||
set one_shot max_join_size=10;
|
||||
ERROR HY000: The 'SET ONE_SHOT' syntax is reserved for purposes internal to the MySQL server
|
||||
set character_set_client=9999999;
|
||||
ERROR 42000: Unknown character set: '9999999'
|
||||
set collation_server=9999998;
|
||||
ERROR HY000: Unknown collation: '9999998'
|
||||
select "--- --3943--" as "";
|
||||
|
||||
--- --3943--
|
||||
use test;
|
||||
CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255))ENGINE=innodb;;
|
||||
SET CHARACTER_SET_CLIENT=koi8r,
|
||||
CHARACTER_SET_CONNECTION=cp1251,
|
||||
CHARACTER_SET_RESULTS=koi8r;
|
||||
INSERT INTO t1 (c1, c2) VALUES ('<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||||
SET SQL_BIG_SELECTS=1;
|
||||
select hex(c1), hex(c2) from t1;
|
||||
hex(c1) hex(c2)
|
||||
CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
|
||||
SET SQL_BIG_SELECTS=1;
|
||||
select hex(c1), hex(c2) from t1;
|
||||
hex(c1) hex(c2)
|
||||
CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
|
||||
drop table t1;
|
||||
select "--- --6676--" as "";
|
||||
|
||||
--- --6676--
|
||||
create table `t1` (
|
||||
`pk` varchar(10) not null default '',
|
||||
primary key (`pk`)
|
||||
) engine=innodb default charset=latin1;
|
||||
set @p=_latin1 'test';
|
||||
update t1 set pk='test' where pk=@p;
|
||||
drop table t1;
|
Binary file not shown.
@ -13,5 +13,5 @@
|
||||
rpl_ddl : BUG#26418 2007-03-01 mleich Slave out of sync after CREATE/DROP TEMPORARY TABLE + ROLLBACK on master
|
||||
rpl_invoked_features : BUG#29020 2007-06-21 Lars Non-deterministic test case
|
||||
rpl_auto_increment_11932 : Bug#29809 2007-07-16 ingo Slave SQL errors in warnings file
|
||||
rpl_stm_extraColmaster_ndb : WL#3915 : Statement-based replication not supported in ndb. Enable test when supported.
|
||||
rpl_row_extraColmaster_ndb : BUG#29549 : Replication of BLOBs fail for NDB
|
||||
rpl_extraColmaster_innodb : BUG#30854 : Tables name show as binary in slave err msg on vm-win2003-64-b and Solaris
|
||||
rpl_extraColmaster_myisam : BUG#30854
|
||||
|
@ -12,4 +12,5 @@ set binlog_format=row;
|
||||
set binlog_format=statement;
|
||||
-- source extra/rpl_tests/rpl_extraMaster_Col.test
|
||||
|
||||
|
||||
set binlog_format=mixed;
|
||||
-- source extra/rpl_tests/rpl_extraMaster_Col.test
|
||||
|
@ -11,3 +11,5 @@ set binlog_format=row;
|
||||
set binlog_format=statement;
|
||||
-- source extra/rpl_tests/rpl_extraMaster_Col.test
|
||||
|
||||
set binlog_format=mixed;
|
||||
-- source extra/rpl_tests/rpl_extraMaster_Col.test
|
||||
|
1
mysql-test/suite/rpl/t/rpl_row_charset_innodb-master.opt
Normal file
1
mysql-test/suite/rpl/t/rpl_row_charset_innodb-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--innodb
|
1
mysql-test/suite/rpl/t/rpl_row_charset_innodb-slave.opt
Normal file
1
mysql-test/suite/rpl/t/rpl_row_charset_innodb-slave.opt
Normal file
@ -0,0 +1 @@
|
||||
--innodb
|
9
mysql-test/suite/rpl/t/rpl_row_charset_innodb.test
Normal file
9
mysql-test/suite/rpl/t/rpl_row_charset_innodb.test
Normal file
@ -0,0 +1,9 @@
|
||||
########################################################
|
||||
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
|
||||
# Added to skip if ndb is default #
|
||||
########################################################
|
||||
-- source include/not_ndb_default.inc
|
||||
-- source include/have_binlog_format_row.inc
|
||||
-- source include/master-slave.inc
|
||||
let $engine_type=innodb;
|
||||
-- source extra/rpl_tests/rpl_row_charset.test
|
@ -1,12 +0,0 @@
|
||||
###########################################
|
||||
# Purpose: Wrapper for rpl_extraMaster_Col.test
|
||||
# Using NDB
|
||||
###########################################
|
||||
-- source include/have_ndb.inc
|
||||
-- source include/ndb_master-slave.inc
|
||||
-- source include/have_binlog_format_row.inc
|
||||
|
||||
let $engine_type = 'NDB';
|
||||
|
||||
-- source extra/rpl_tests/rpl_extraMaster_Col.test
|
||||
|
@ -1,13 +0,0 @@
|
||||
###########################################
|
||||
# Purpose: Wrapper for rpl_extraMaster_Col.test
|
||||
# Using NDB
|
||||
###########################################
|
||||
-- source include/have_ndb.inc
|
||||
-- source include/ndb_master-slave.inc
|
||||
-- source include/have_binlog_format_statement.inc
|
||||
|
||||
let $engine_type = 'NDB';
|
||||
|
||||
-- source extra/rpl_tests/rpl_extraMaster_Col.test
|
||||
|
||||
|
@ -40,7 +40,7 @@ show create database mysqltest3;
|
||||
Database Create Database
|
||||
mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET armscii8 COLLATE armscii8_bin */
|
||||
use mysqltest2;
|
||||
create table t1 (a int auto_increment primary key, b varchar(100));
|
||||
create table t1 (a int auto_increment primary key, b varchar(100))engine=NDB;;
|
||||
set character_set_client=cp850, collation_connection=latin2_croatian_ci;
|
||||
insert into t1 (b) values(@@character_set_server);
|
||||
insert into t1 (b) values(@@collation_server);
|
||||
@ -117,29 +117,27 @@ master-bin.000001 # Query # # create database mysqltest2 character set latin2
|
||||
master-bin.000001 # Query # # create database mysqltest3
|
||||
master-bin.000001 # Query # # drop database mysqltest3
|
||||
master-bin.000001 # Query # # create database mysqltest3
|
||||
master-bin.000001 # Query # # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))engine=NDB
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
|
||||
master-bin.000001 # Write_rows # # table_id: #
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
|
||||
master-bin.000001 # Write_rows # # table_id: #
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
|
||||
master-bin.000001 # Write_rows # # table_id: #
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # drop database mysqltest2
|
||||
master-bin.000001 # Query # # drop database mysqltest3
|
||||
select "--- --global--" as "";
|
||||
@ -177,14 +175,16 @@ select "--- --3943--" as "";
|
||||
|
||||
--- --3943--
|
||||
use test;
|
||||
CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255));
|
||||
CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255))ENGINE=NDB;;
|
||||
SET CHARACTER_SET_CLIENT=koi8r,
|
||||
CHARACTER_SET_CONNECTION=cp1251,
|
||||
CHARACTER_SET_RESULTS=koi8r;
|
||||
INSERT INTO t1 (c1, c2) VALUES ('<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||||
SET SQL_BIG_SELECTS=1;
|
||||
select hex(c1), hex(c2) from t1;
|
||||
hex(c1) hex(c2)
|
||||
CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
|
||||
SET SQL_BIG_SELECTS=1;
|
||||
select hex(c1), hex(c2) from t1;
|
||||
hex(c1) hex(c2)
|
||||
CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
|
||||
|
2286
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraColMaster.result
Normal file
2286
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraColMaster.result
Normal file
File diff suppressed because it is too large
Load Diff
@ -11,8 +11,8 @@
|
||||
##############################################################################
|
||||
|
||||
|
||||
rpl_ndb_2innodb : BUG#19227 2006-04-20 pekka pk delete apparently not replicated
|
||||
rpl_ndb_2myisam : BUG#19227 Seems to pass currently
|
||||
rpl_ndb_2innodb : Bug#29549 rpl_ndb_myisam2ndb,rpl_ndb_innodb2ndb failed on Solaris for pack_length issue
|
||||
rpl_ndb_2myisam : Bug#29549 rpl_ndb_myisam2ndb,rpl_ndb_innodb2ndb failed on Solaris for pack_length issue
|
||||
rpl_ndb_2other : BUG#21842 2007-08-30 tsmith test has never worked on bigendian (sol10-sparc-a, powermacg5
|
||||
rpl_ndb_dd_partitions : BUG#19259 2006-04-21 rpl_ndb_dd_partitions fails on s/AMD
|
||||
rpl_ndb_innodb2ndb : Bug#29549 rpl_ndb_myisam2ndb,rpl_ndb_innodb2ndb failed on Solaris for pack_length issue
|
||||
@ -20,7 +20,7 @@ rpl_ndb_myisam2ndb : Bug#29549 rpl_ndb_myisam2ndb,rpl_ndb_innodb2ndb faile
|
||||
rpl_ndb_ddl : BUG#28798 2007-05-31 lars Valgrind failure in NDB
|
||||
rpl_ndb_mix_innodb : BUG#28123 rpl_ndb_mix_innodb.test casue slave to core on sol10-sparc-a
|
||||
rpl_ndb_ctype_ucs2_def : BUG#27404 util thd mysql_parse sig11 when mysqld default multibyte charset
|
||||
|
||||
rpl_ndb_extraColMaster : BUG#30854 : Tables name show as binary in slave err msg on vm-win2003-64-b and Solaris
|
||||
|
||||
# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
########################################################
|
||||
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
|
||||
########################################################
|
||||
--source include/have_ndb.inc
|
||||
-- source include/have_binlog_format_row.inc
|
||||
-- source include/have_ndb.inc
|
||||
-- source include/have_binlog_format_mixed_or_row.inc
|
||||
-- source include/ndb_master-slave.inc
|
||||
let $engine_type=NDB;
|
||||
-- source extra/rpl_tests/rpl_row_charset.test
|
||||
|
14
mysql-test/suite/rpl_ndb/t/rpl_ndb_extraColMaster.test
Normal file
14
mysql-test/suite/rpl_ndb/t/rpl_ndb_extraColMaster.test
Normal file
@ -0,0 +1,14 @@
|
||||
#############################################################
|
||||
# Purpose: To test having extra columns on the master WL#3915
|
||||
#############################################################
|
||||
-- source include/have_ndb.inc
|
||||
-- source include/ndb_master-slave.inc
|
||||
-- source include/have_binlog_format_mixed_or_row.inc
|
||||
|
||||
let $engine_type = 'NDB';
|
||||
|
||||
set binlog_format=row;
|
||||
-- source extra/rpl_tests/rpl_extraMaster_Col.test
|
||||
|
||||
set binlog_format=mixed;
|
||||
-- source extra/rpl_tests/rpl_extraMaster_Col.test
|
@ -454,7 +454,8 @@ create event закачка on schedule every 10 hour do select get_lock("test_l
|
||||
--echo "Should have only 2 processes: the scheduler and the locked event"
|
||||
let $wait_condition= select count(*) = 2 from information_schema.processlist
|
||||
where ( (state like 'User lock%' AND info like 'select get_lock%')
|
||||
OR (command='Daemon' AND user='event_scheduler'));
|
||||
OR (command='Daemon' AND user='event_scheduler' AND
|
||||
state = 'Waiting for next activation'));
|
||||
--source include/wait_condition.inc
|
||||
|
||||
select /*2*/ user, host, db, command, state, info
|
||||
|
@ -712,18 +712,6 @@ DROP TABLE event_log;
|
||||
#DROP DATABASE ev_db_1;
|
||||
SET GLOBAL event_scheduler = OFF;
|
||||
|
||||
#
|
||||
# End of tests
|
||||
#
|
||||
|
||||
let $wait_condition=
|
||||
select count(*) = 0 from information_schema.processlist
|
||||
where db='events_test' and command = 'Connect' and user=current_user();
|
||||
--source include/wait_condition.inc
|
||||
|
||||
DROP DATABASE events_test;
|
||||
|
||||
|
||||
#
|
||||
# Bug#28641 CREATE EVENT with '2038.01.18 03:00:00' let server crash.
|
||||
#
|
||||
@ -737,3 +725,215 @@ CREATE EVENT bug28641 ON SCHEDULE AT '2038.01.18 03:00:00'
|
||||
DELIMITER ;|
|
||||
SET GLOBAL event_scheduler= OFF;
|
||||
DROP EVENT bug28641;
|
||||
|
||||
###########################################################################
|
||||
|
||||
--echo
|
||||
--echo #####################################################################
|
||||
--echo #
|
||||
--echo # BUG#31111: --read-only crashes MySQL (events fail to load).
|
||||
--echo #
|
||||
--echo #####################################################################
|
||||
--echo
|
||||
|
||||
--error 0,ER_CANNOT_USER
|
||||
DROP USER mysqltest_u1@localhost;
|
||||
|
||||
--disable_warnings
|
||||
DROP EVENT IF EXISTS e1;
|
||||
DROP EVENT IF EXISTS e2;
|
||||
--enable_warnings
|
||||
|
||||
--echo
|
||||
|
||||
# Check that an ordinary user can not create/update/drop events in the
|
||||
# read-only mode.
|
||||
|
||||
GRANT EVENT ON *.* TO mysqltest_u1@localhost;
|
||||
|
||||
--echo
|
||||
|
||||
SET GLOBAL READ_ONLY = 1;
|
||||
|
||||
--echo
|
||||
|
||||
--echo #
|
||||
--echo # Connection: u1_con (mysqltest_u1@localhost/events_test).
|
||||
--echo #
|
||||
|
||||
--connect(u1_con,localhost,mysqltest_u1,,events_test)
|
||||
|
||||
--echo
|
||||
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1;
|
||||
|
||||
--echo
|
||||
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
ALTER EVENT e1 COMMENT 'comment';
|
||||
|
||||
--echo
|
||||
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
DROP EVENT e1;
|
||||
|
||||
--echo
|
||||
|
||||
# Check that the super user still can create/update/drop events.
|
||||
|
||||
--echo #
|
||||
--echo # Connection: root_con (root@localhost/events_test).
|
||||
--echo #
|
||||
|
||||
--connect(root_con,localhost,root,,events_test)
|
||||
|
||||
--echo
|
||||
|
||||
CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1;
|
||||
|
||||
--echo
|
||||
|
||||
ALTER EVENT e1 COMMENT 'comment';
|
||||
|
||||
--echo
|
||||
|
||||
DROP EVENT e1;
|
||||
|
||||
--echo
|
||||
|
||||
#
|
||||
# Switch to read-write mode; create test events under the user mysqltest_u1;
|
||||
# switch back to read-only mode.
|
||||
#
|
||||
|
||||
SET GLOBAL READ_ONLY = 0;
|
||||
|
||||
--echo
|
||||
|
||||
--echo #
|
||||
--echo # Connection: u1_con (mysqltest_u1@localhost/test).
|
||||
--echo #
|
||||
|
||||
--connection u1_con
|
||||
|
||||
--echo
|
||||
|
||||
CREATE EVENT e1 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND DO SET @a = 1;
|
||||
CREATE EVENT e2 ON SCHEDULE EVERY 1 SECOND DO SET @a = 1;
|
||||
|
||||
--echo
|
||||
|
||||
SELECT
|
||||
event_name,
|
||||
last_executed IS NULL,
|
||||
definer
|
||||
FROM INFORMATION_SCHEMA.EVENTS
|
||||
WHERE event_schema = 'events_test';
|
||||
|
||||
--echo
|
||||
|
||||
--echo #
|
||||
--echo # Connection: root_con (root@localhost/events_test).
|
||||
--echo #
|
||||
|
||||
--connection root_con
|
||||
|
||||
--echo
|
||||
|
||||
SET GLOBAL READ_ONLY = 1;
|
||||
|
||||
# Check that the event scheduler is able to update event.
|
||||
|
||||
--echo
|
||||
|
||||
SET GLOBAL EVENT_SCHEDULER = ON;
|
||||
|
||||
--echo
|
||||
|
||||
--echo # Waiting for the event scheduler to execute and drop event e1...
|
||||
|
||||
let $wait_timeout = 2;
|
||||
let $wait_condition =
|
||||
SELECT COUNT(*) = 0
|
||||
FROM INFORMATION_SCHEMA.EVENTS
|
||||
WHERE event_schema = 'events_test' AND event_name = 'e1';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--echo
|
||||
|
||||
--echo # Waiting for the event scheduler to execute and update event e2...
|
||||
|
||||
let $wait_condition =
|
||||
SELECT last_executed IS NOT NULL
|
||||
FROM INFORMATION_SCHEMA.EVENTS
|
||||
WHERE event_schema = 'events_test' AND event_name = 'e2';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--echo
|
||||
|
||||
SET GLOBAL EVENT_SCHEDULER = OFF;
|
||||
|
||||
--echo
|
||||
|
||||
SELECT
|
||||
event_name,
|
||||
last_executed IS NULL,
|
||||
definer
|
||||
FROM INFORMATION_SCHEMA.EVENTS
|
||||
WHERE event_schema = 'events_test';
|
||||
|
||||
--echo
|
||||
|
||||
--error ER_EVENT_DOES_NOT_EXIST
|
||||
DROP EVENT e1;
|
||||
|
||||
--echo
|
||||
--echo # Cleanup.
|
||||
--echo
|
||||
|
||||
DROP EVENT e2;
|
||||
|
||||
--echo
|
||||
|
||||
SET GLOBAL READ_ONLY = 0;
|
||||
|
||||
--echo
|
||||
|
||||
--echo #
|
||||
--echo # Connection: default
|
||||
--echo #
|
||||
|
||||
--disconnect u1_con
|
||||
--disconnect root_con
|
||||
--connection default
|
||||
|
||||
--echo
|
||||
|
||||
DROP USER mysqltest_u1@localhost;
|
||||
|
||||
--echo
|
||||
--echo #####################################################################
|
||||
--echo #
|
||||
--echo # End of BUG#31111.
|
||||
--echo #
|
||||
--echo #####################################################################
|
||||
--echo
|
||||
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
# End of tests
|
||||
#
|
||||
# !!! KEEP this section AT THE END of this file !!!
|
||||
#
|
||||
###########################################################################
|
||||
|
||||
let $wait_condition=
|
||||
select count(*) = 0 from information_schema.processlist
|
||||
where db='events_test' and command = 'Connect' and user=current_user();
|
||||
--source include/wait_condition.inc
|
||||
|
||||
DROP DATABASE events_test;
|
||||
|
||||
# THIS MUST BE THE LAST LINE in this file.
|
||||
|
@ -890,6 +890,7 @@ FLUSH STATUS;
|
||||
DELETE FROM t3 WHERE (SELECT MAX(b) FROM t1 GROUP BY a HAVING a < 2) > 10000;
|
||||
SHOW STATUS LIKE 'handler_read__e%';
|
||||
FLUSH STATUS;
|
||||
--error ER_SUBQUERY_NO_1_ROW
|
||||
DELETE FROM t3 WHERE (SELECT (SELECT MAX(b) FROM t1 GROUP BY a HAVING a < 2) x
|
||||
FROM t1) > 10000;
|
||||
SHOW STATUS LIKE 'handler_read__e%';
|
||||
|
@ -501,3 +501,43 @@ ORDER BY c.b, c.d
|
||||
;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
#
|
||||
# Bug #31148: bool close_thread_table(THD*, TABLE**): Assertion
|
||||
# `table->key_read == 0' failed.
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY AUTO_INCREMENT);
|
||||
|
||||
INSERT INTO t1 VALUES (), (), ();
|
||||
|
||||
SELECT 1 AS c1
|
||||
FROM t1
|
||||
ORDER BY (
|
||||
SELECT 1 AS c2
|
||||
FROM t1
|
||||
GROUP BY GREATEST(LAST_INSERT_ID(), t1.a) ASC
|
||||
LIMIT 1);
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug #31974: Wrong EXPLAIN output
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a INT, b INT, INDEX (a,b));
|
||||
INSERT INTO t1 (a, b)
|
||||
VALUES
|
||||
(1,1), (1,2), (1,3), (1,4), (1,5),
|
||||
(2,2), (2,3), (2,1), (3,1), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6);
|
||||
EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE
|
||||
(SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
|
||||
SELECT 1 as RES FROM t1 AS t1_outer WHERE
|
||||
(SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
@ -250,4 +250,31 @@ flush logs;
|
||||
--exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000016 >/dev/null 2>/dev/null
|
||||
--exec $MYSQL_BINLOG --force-if-open $MYSQLTEST_VARDIR/log/master-bin.000016 >/dev/null 2>/dev/null
|
||||
|
||||
--echo BUG#31611: Security risk with BINLOG statement
|
||||
|
||||
SET BINLOG_FORMAT=ROW;
|
||||
CREATE DATABASE mysqltest1;
|
||||
CREATE USER untrusted@localhost;
|
||||
GRANT SELECT ON mysqltest1.* TO untrusted@localhost;
|
||||
|
||||
SHOW GRANTS FOR untrusted@localhost;
|
||||
USE mysqltest1;
|
||||
CREATE TABLE t1 (a INT, b CHAR(64));
|
||||
flush logs;
|
||||
INSERT INTO t1 VALUES (1,USER());
|
||||
flush logs;
|
||||
echo mysqlbinlog var/log/master-bin.000017 > var/tmp/bug31611.sql;
|
||||
exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000017 > $MYSQLTEST_VARDIR/tmp/bug31611.sql;
|
||||
connect (unsecure,localhost,untrusted,,mysqltest1);
|
||||
echo mysql mysqltest1 -uuntrusted < var/tmp/bug31611.sql;
|
||||
error 1;
|
||||
exec $MYSQL mysqltest1 -uuntrusted < $MYSQLTEST_VARDIR/tmp/bug31611.sql;
|
||||
connection unsecure;
|
||||
error ER_TABLEACCESS_DENIED_ERROR;
|
||||
INSERT INTO t1 VALUES (1,USER());
|
||||
|
||||
SELECT * FROM t1;
|
||||
connection default;
|
||||
DROP DATABASE mysqltest1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -2778,4 +2778,38 @@ execute stmt;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #32030 DELETE does not return an error and deletes rows if error
|
||||
# evaluating WHERE
|
||||
#
|
||||
# Test that there is an error for prepared delete just like for the normal
|
||||
# one.
|
||||
#
|
||||
--disable_warnings
|
||||
drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
create table t1 (a int, b int);
|
||||
create table t2 like t1;
|
||||
|
||||
insert into t1 (a, b) values (1,1), (1,2), (1,3), (1,4), (1,5),
|
||||
(2,2), (2,3), (2,1), (3,1), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6);
|
||||
|
||||
insert into t2 select a, max(b) from t1 group by a;
|
||||
|
||||
prepare stmt from "delete from t2 where (select (select max(b) from t1 group
|
||||
by a having a < 2) x from t1) > 10000";
|
||||
|
||||
--error ER_SUBQUERY_NO_1_ROW
|
||||
delete from t2 where (select (select max(b) from t1 group
|
||||
by a having a < 2) x from t1) > 10000;
|
||||
--error ER_SUBQUERY_NO_1_ROW
|
||||
execute stmt;
|
||||
--error ER_SUBQUERY_NO_1_ROW
|
||||
execute stmt;
|
||||
|
||||
deallocate prepare stmt;
|
||||
drop table t1, t2;
|
||||
|
||||
|
||||
|
||||
--echo End of 5.1 tests.
|
||||
|
@ -3473,6 +3473,54 @@ DROP VIEW v1, v2, v3;
|
||||
|
||||
--enable_ps_protocol
|
||||
|
||||
###########################################################################
|
||||
|
||||
--echo
|
||||
--echo #
|
||||
--echo # Bug#30736: Row Size Too Large Error Creating a Table and
|
||||
--echo # Inserting Data.
|
||||
--echo #
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP TABLE IF EXISTS t2;
|
||||
--enable_warnings
|
||||
|
||||
--echo
|
||||
|
||||
CREATE TABLE t1(
|
||||
c1 DECIMAL(10, 2),
|
||||
c2 FLOAT);
|
||||
|
||||
--echo
|
||||
|
||||
INSERT INTO t1 VALUES (0, 1), (2, 3), (4, 5);
|
||||
|
||||
--echo
|
||||
|
||||
CREATE TABLE t2(
|
||||
c3 DECIMAL(10, 2))
|
||||
SELECT
|
||||
c1 * c2 AS c3
|
||||
FROM t1;
|
||||
|
||||
--echo
|
||||
|
||||
SELECT * FROM t1;
|
||||
|
||||
--echo
|
||||
|
||||
SELECT * FROM t2;
|
||||
|
||||
--echo
|
||||
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t2;
|
||||
|
||||
--echo
|
||||
|
||||
###########################################################################
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
@ -2078,10 +2078,6 @@ create function bug20701() returns varchar(25) binary return "test";
|
||||
create function bug20701() returns varchar(25) return "test";
|
||||
drop function bug20701;
|
||||
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
|
||||
#
|
||||
# Bug#26503 (Illegal SQL exception handler code causes the server to crash)
|
||||
#
|
||||
@ -2222,6 +2218,93 @@ SELECT .inexistent();
|
||||
SELECT ..inexistent();
|
||||
USE test;
|
||||
|
||||
#
|
||||
# Bug#30904 SET PASSWORD statement is non-transactional
|
||||
#
|
||||
|
||||
delimiter |;
|
||||
|
||||
--error ER_SP_CANT_SET_AUTOCOMMIT
|
||||
create function f1() returns int
|
||||
begin
|
||||
set @test = 1, password = password('foo');
|
||||
return 1;
|
||||
end|
|
||||
|
||||
--error ER_SP_CANT_SET_AUTOCOMMIT
|
||||
create trigger t1
|
||||
before insert on t2 for each row set password = password('foo');|
|
||||
|
||||
delimiter ;|
|
||||
|
||||
#
|
||||
# Bug#30882 Dropping a temporary table inside a stored function may cause a server crash
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
drop function if exists f1;
|
||||
drop function if exists f2;
|
||||
drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
|
||||
delimiter |;
|
||||
create function f1() returns int
|
||||
begin
|
||||
drop temporary table t1;
|
||||
return 1;
|
||||
end|
|
||||
delimiter ;|
|
||||
--error ER_CANT_REOPEN_TABLE
|
||||
create temporary table t1 as select f1();
|
||||
|
||||
delimiter |;
|
||||
create function f2() returns int
|
||||
begin
|
||||
create temporary table t2 as select f1();
|
||||
return 1;
|
||||
end|
|
||||
delimiter ;|
|
||||
--error ER_CANT_REOPEN_TABLE
|
||||
create temporary table t1 as select f2();
|
||||
|
||||
drop function f1;
|
||||
drop function f2;
|
||||
|
||||
delimiter |;
|
||||
create function f1() returns int
|
||||
begin
|
||||
drop temporary table t2,t1;
|
||||
return 1;
|
||||
end|
|
||||
create function f2() returns int
|
||||
begin
|
||||
create temporary table t2 as select f1();
|
||||
return 1;
|
||||
end|
|
||||
delimiter ;|
|
||||
--error ER_CANT_REOPEN_TABLE
|
||||
create temporary table t1 as select f2();
|
||||
|
||||
drop function f1;
|
||||
drop function f2;
|
||||
|
||||
create temporary table t2(a int);
|
||||
select * from t2;
|
||||
delimiter |;
|
||||
create function f2() returns int
|
||||
begin
|
||||
drop temporary table t2;
|
||||
return 1;
|
||||
end|
|
||||
delimiter ;|
|
||||
select f2();
|
||||
|
||||
drop function f2;
|
||||
--error ER_BAD_TABLE_ERROR
|
||||
drop table t2;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
#
|
||||
# BUG#NNNN: New bug synopsis
|
||||
#
|
||||
|
@ -35,20 +35,20 @@ eval CREATE FUNCTION reverse_lookup
|
||||
eval CREATE AGGREGATE FUNCTION avgcost
|
||||
RETURNS REAL SONAME "$UDF_EXAMPLE_LIB";
|
||||
|
||||
--error 0
|
||||
--error ER_CANT_INITIALIZE_UDF
|
||||
select myfunc_double();
|
||||
select myfunc_double(1);
|
||||
select myfunc_double(78654);
|
||||
--error 1305
|
||||
select myfunc_nonexist();
|
||||
select myfunc_int();
|
||||
--error 0
|
||||
--error ER_CANT_INITIALIZE_UDF
|
||||
select lookup();
|
||||
select lookup("127.0.0.1");
|
||||
--error 0
|
||||
--error ER_CANT_INITIALIZE_UDF
|
||||
select lookup(127,0,0,1);
|
||||
select lookup("localhost");
|
||||
--error 0
|
||||
--error ER_CANT_INITIALIZE_UDF
|
||||
select reverse_lookup();
|
||||
|
||||
# These two functions should return "localhost", but it's
|
||||
@ -59,9 +59,9 @@ select reverse_lookup(127,0,0,1);
|
||||
--enable_result_log
|
||||
|
||||
select reverse_lookup("localhost");
|
||||
--error 0
|
||||
--error ER_CANT_INITIALIZE_UDF
|
||||
select avgcost();
|
||||
--error 0
|
||||
--error ER_CANT_INITIALIZE_UDF
|
||||
select avgcost(100,23.76);
|
||||
create table t1(sum int, price float(24));
|
||||
insert into t1 values(100, 50.00), (100, 100.00);
|
||||
|
Reference in New Issue
Block a user