mirror of
https://github.com/MariaDB/server.git
synced 2025-11-18 07:48:43 +03:00
Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge sql/ha_ndbcluster.cc: Auto merged
This commit is contained in:
@@ -71,38 +71,47 @@ sync_slave_with_master;
|
||||
############################################
|
||||
|
||||
## BUG22086
|
||||
#--echo *** Create t2 on slave ***
|
||||
#STOP SLAVE;
|
||||
#RESET SLAVE;
|
||||
#eval CREATE TABLE t2 (a INT, b INT PRIMARY KEY, c CHAR(5),
|
||||
# d FLOAT DEFAULT '2.00',
|
||||
# e CHAR(5) DEFAULT 'TEST2')
|
||||
# ENGINE=$engine_type;
|
||||
#
|
||||
#--echo *** Create t2 on Master ***
|
||||
#connection master;
|
||||
#eval CREATE TABLE t2 (a INT PRIMARY KEY, b INT, c CHAR(10)
|
||||
# ) ENGINE=$engine_type;
|
||||
#RESET MASTER;
|
||||
#
|
||||
#--echo *** Start Slave ***
|
||||
#connection slave;
|
||||
#START SLAVE;
|
||||
#
|
||||
#--echo *** Master Data Insert ***
|
||||
#connection master;
|
||||
#
|
||||
#INSERT INTO t2 () VALUES(1,2,'Kyle, TEX'),(2,1,'JOE AUSTIN'),(3,4,'QA TESTING');
|
||||
#SELECT * FROM t2 ORDER BY a;
|
||||
--echo *** Create t2 on slave ***
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
eval CREATE TABLE t2 (a INT, b INT PRIMARY KEY, c CHAR(5),
|
||||
d FLOAT DEFAULT '2.00',
|
||||
e CHAR(5) DEFAULT 'TEST2')
|
||||
ENGINE=$engine_type;
|
||||
|
||||
#--echo *** Select from slave ***
|
||||
#sync_slave_with_master;
|
||||
#SELECT * FROM t2 ORDER BY a;
|
||||
--echo *** Create t2 on Master ***
|
||||
connection master;
|
||||
eval CREATE TABLE t2 (a INT PRIMARY KEY, b INT, c CHAR(10)
|
||||
) ENGINE=$engine_type;
|
||||
RESET MASTER;
|
||||
|
||||
#--echo *** Drop t2 ***
|
||||
#connection master;
|
||||
#DROP TABLE t2;
|
||||
#sync_slave_with_master;
|
||||
--echo *** Master Data Insert ***
|
||||
connection master;
|
||||
|
||||
INSERT INTO t2 () VALUES(1,2,'Kyle, TEX'),(2,1,'JOE AUSTIN'),(3,4,'QA TESTING');
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
|
||||
--echo *** Start Slave ***
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
wait_for_slave_to_stop;
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
|
||||
connection master;
|
||||
RESET MASTER;
|
||||
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
--echo *** Drop t2 ***
|
||||
connection master;
|
||||
DROP TABLE t2;
|
||||
sync_slave_with_master;
|
||||
|
||||
####################################
|
||||
### Try to replicate BLOB to INT ###
|
||||
@@ -140,7 +149,7 @@ INSERT INTO t3 () VALUES(@b1,2,'Kyle, TEX'),(@b1,1,'JOE AUSTIN'),(@b1,4,'QA TEST
|
||||
connection slave;
|
||||
--source include/wait_for_slave_sql_to_stop.inc
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||
START SLAVE;
|
||||
@@ -185,7 +194,7 @@ INSERT INTO t4 () VALUES(100.22,2,'Kyle, TEX'),(200.26,1,'JOE AUSTIN'),
|
||||
connection slave;
|
||||
--source include/wait_for_slave_sql_to_stop.inc
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||
START SLAVE;
|
||||
@@ -230,7 +239,7 @@ INSERT INTO t5 () VALUES(1,'Kyle',200.23,1,'b1b1',23.00098),
|
||||
connection slave;
|
||||
--source include/wait_for_slave_sql_to_stop.inc
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||
START SLAVE;
|
||||
@@ -276,7 +285,7 @@ INSERT INTO t6 () VALUES(1,'Kyle',200.23,1),
|
||||
connection slave;
|
||||
--source include/wait_for_slave_sql_to_stop.inc
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
|
||||
#START SLAVE;
|
||||
@@ -378,7 +387,7 @@ INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
||||
#connection slave;
|
||||
#wait_for_slave_to_stop;
|
||||
#--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
#--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
#--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||
#--query_vertical SHOW SLAVE STATUS
|
||||
#SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||
#START SLAVE;
|
||||
@@ -429,7 +438,7 @@ sync_slave_with_master;
|
||||
#--echo *** Select from T9 ***
|
||||
#--source include/wait_for_slave_sql_to_stop.inc
|
||||
#--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
#--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
#--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||
#--query_vertical SHOW SLAVE STATUS
|
||||
#SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||
#START SLAVE;
|
||||
@@ -471,7 +480,7 @@ INSERT INTO t10 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
||||
connection slave;
|
||||
--source include/wait_for_slave_sql_to_stop.inc
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||
START SLAVE;
|
||||
@@ -515,7 +524,7 @@ INSERT INTO t11 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
|
||||
connection slave;
|
||||
--source include/wait_for_slave_sql_to_stop.inc
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||
START SLAVE;
|
||||
@@ -725,7 +734,7 @@ ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5;
|
||||
connection slave;
|
||||
--source include/wait_for_slave_sql_to_stop.inc
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||
START SLAVE;
|
||||
@@ -834,7 +843,7 @@ INSERT INTO t17 () VALUES(9223372036854775807,2,'Kyle, TEX');
|
||||
connection slave;
|
||||
--source include/wait_for_slave_sql_to_stop.inc
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
|
||||
START SLAVE;
|
||||
|
||||
@@ -144,4 +144,29 @@ disconnect con1;
|
||||
disconnect con2;
|
||||
drop table t1, t2;
|
||||
|
||||
# End of 4.1 tests
|
||||
--echo End of 4.1 tests
|
||||
|
||||
#
|
||||
# Bug#25164 create table `a` as select * from `A` hangs
|
||||
#
|
||||
|
||||
set storage_engine=innodb;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists a;
|
||||
drop table if exists A;
|
||||
--enable_warnings
|
||||
|
||||
create table A (c int);
|
||||
insert into A (c) values (0);
|
||||
--error 0,ER_LOCK_DEADLOCK,ER_UPDATE_TABLE_USED
|
||||
create table a as select * from A;
|
||||
drop table A;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists a;
|
||||
--enable_warnings
|
||||
|
||||
set storage_engine=default;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
||||
@@ -465,3 +465,36 @@ select * from t1;
|
||||
# Just to be sure and not confuse the next test case writer.
|
||||
drop table if exists t1;
|
||||
|
||||
#
|
||||
# Bug#25856 - HANDLER table OPEN in one connection lock DROP TABLE in another one
|
||||
#
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
eval create table t1 (a int) ENGINE=$other_engine_type;
|
||||
--echo --> client 2
|
||||
connection con2;
|
||||
--error 1031
|
||||
handler t1 open;
|
||||
--echo --> client 1
|
||||
connection default;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#30632 HANDLER read failure causes hang
|
||||
#
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
create table t1 (a int);
|
||||
handler t1 open as t1_alias;
|
||||
--error 1176
|
||||
handler t1_alias read a next;
|
||||
--error 1054
|
||||
handler t1_alias READ a next where inexistent > 0;
|
||||
--error 1176
|
||||
handler t1_alias read a next;
|
||||
--error 1054
|
||||
handler t1_alias READ a next where inexistent > 0;
|
||||
handler t1_alias close;
|
||||
drop table t1;
|
||||
|
||||
@@ -939,6 +939,36 @@ alter table t1 add index(a(1024));
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #28570: handler::index_read() is called with different find_flag when
|
||||
# ORDER BY is used
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (
|
||||
a INT,
|
||||
b INT,
|
||||
KEY (b)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
INSERT INTO t1 VALUES (1,10), (2,10), (2,20), (3,30);
|
||||
|
||||
START TRANSACTION;
|
||||
SELECT * FROM t1 WHERE b=20 FOR UPDATE;
|
||||
|
||||
--connect (conn2, localhost, root,,test)
|
||||
|
||||
# This statement gives a "failed: 1205: Lock wait timeout exceeded; try
|
||||
# restarting transaction" message when the bug is present.
|
||||
START TRANSACTION;
|
||||
SELECT * FROM t1 WHERE b=10 ORDER BY A FOR UPDATE;
|
||||
ROLLBACK;
|
||||
|
||||
--disconnect conn2
|
||||
--connection default
|
||||
|
||||
ROLLBACK;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
# Fix for BUG#19243 "wrong LAST_INSERT_ID() after ON DUPLICATE KEY
|
||||
|
||||
@@ -275,5 +275,223 @@ drop table t1;
|
||||
--echo ---- disconnect connection con1 ----
|
||||
disconnect con1;
|
||||
|
||||
#
|
||||
# Bug #25843 Changing default database between PREPARE and EXECUTE of statement
|
||||
# breaks binlog.
|
||||
#
|
||||
# There were actually two problems discovered by this bug:
|
||||
#
|
||||
# 1. Default (current) database is not fixed at the creation time.
|
||||
# That leads to wrong output of DATABASE() function.
|
||||
#
|
||||
# 2. Database attributes (@@collation_database) are not fixed at the creation
|
||||
# time. That leads to wrong resultset.
|
||||
#
|
||||
# Binlog breakage and Query Cache wrong output happened because of the first
|
||||
# problem.
|
||||
#
|
||||
|
||||
--echo ########################################################################
|
||||
--echo #
|
||||
--echo # BUG#25843: Changing default database between PREPARE and EXECUTE of
|
||||
--echo # statement breaks binlog.
|
||||
--echo #
|
||||
--echo ########################################################################
|
||||
|
||||
###############################################################################
|
||||
|
||||
--echo
|
||||
--echo #
|
||||
--echo # Check that default database and its attributes are fixed at the
|
||||
--echo # creation time.
|
||||
--echo #
|
||||
|
||||
# Prepare data structures.
|
||||
|
||||
--echo
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS mysqltest1;
|
||||
DROP DATABASE IF EXISTS mysqltest2;
|
||||
--enable_warnings
|
||||
|
||||
--echo
|
||||
CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci;
|
||||
CREATE DATABASE mysqltest2 COLLATE utf8_general_ci;
|
||||
|
||||
--echo
|
||||
CREATE TABLE mysqltest1.t1(msg VARCHAR(255));
|
||||
CREATE TABLE mysqltest2.t1(msg VARCHAR(255));
|
||||
|
||||
# - Create a prepared statement with mysqltest1 as default database;
|
||||
|
||||
--echo
|
||||
|
||||
use mysqltest1;
|
||||
|
||||
PREPARE stmt_a_1 FROM 'INSERT INTO t1 VALUES(DATABASE())';
|
||||
PREPARE stmt_a_2 FROM 'INSERT INTO t1 VALUES(@@collation_database)';
|
||||
|
||||
# - Execute on mysqltest1.
|
||||
|
||||
--echo
|
||||
|
||||
EXECUTE stmt_a_1;
|
||||
EXECUTE stmt_a_2;
|
||||
|
||||
# - Execute on mysqltest2.
|
||||
|
||||
--echo
|
||||
|
||||
use mysqltest2;
|
||||
|
||||
EXECUTE stmt_a_1;
|
||||
EXECUTE stmt_a_2;
|
||||
|
||||
# - Check the results;
|
||||
|
||||
--echo
|
||||
SELECT * FROM mysqltest1.t1;
|
||||
|
||||
--echo
|
||||
SELECT * FROM mysqltest2.t1;
|
||||
|
||||
# - Drop prepared statements.
|
||||
|
||||
--echo
|
||||
DROP PREPARE stmt_a_1;
|
||||
DROP PREPARE stmt_a_2;
|
||||
|
||||
###############################################################################
|
||||
|
||||
--echo
|
||||
--echo #
|
||||
--echo # The Query Cache test case.
|
||||
--echo #
|
||||
|
||||
--echo
|
||||
DELETE FROM mysqltest1.t1;
|
||||
DELETE FROM mysqltest2.t1;
|
||||
|
||||
--echo
|
||||
INSERT INTO mysqltest1.t1 VALUES('mysqltest1.t1');
|
||||
INSERT INTO mysqltest2.t1 VALUES('mysqltest2.t1');
|
||||
|
||||
--echo
|
||||
use mysqltest1;
|
||||
PREPARE stmt_b_1 FROM 'SELECT * FROM t1';
|
||||
|
||||
--echo
|
||||
use mysqltest2;
|
||||
PREPARE stmt_b_2 FROM 'SELECT * FROM t1';
|
||||
|
||||
--echo
|
||||
EXECUTE stmt_b_1;
|
||||
|
||||
--echo
|
||||
EXECUTE stmt_b_2;
|
||||
|
||||
--echo
|
||||
use mysqltest1;
|
||||
|
||||
--echo
|
||||
EXECUTE stmt_b_1;
|
||||
|
||||
--echo
|
||||
EXECUTE stmt_b_2;
|
||||
|
||||
--echo
|
||||
DROP PREPARE stmt_b_1;
|
||||
DROP PREPARE stmt_b_2;
|
||||
|
||||
# Cleanup.
|
||||
|
||||
--echo
|
||||
use test;
|
||||
|
||||
--echo
|
||||
DROP DATABASE mysqltest1;
|
||||
DROP DATABASE mysqltest2;
|
||||
|
||||
###############################################################################
|
||||
|
||||
--echo
|
||||
--echo #
|
||||
--echo # Check that prepared statements work properly when there is no current
|
||||
--echo # database.
|
||||
--echo #
|
||||
|
||||
--echo
|
||||
CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci;
|
||||
CREATE DATABASE mysqltest2 COLLATE utf8_general_ci;
|
||||
|
||||
--echo
|
||||
use mysqltest1;
|
||||
|
||||
--echo
|
||||
PREPARE stmt_c_1 FROM 'SELECT DATABASE(), @@collation_database';
|
||||
|
||||
--echo
|
||||
use mysqltest2;
|
||||
|
||||
--echo
|
||||
PREPARE stmt_c_2 FROM 'SELECT DATABASE(), @@collation_database';
|
||||
|
||||
--echo
|
||||
DROP DATABASE mysqltest2;
|
||||
|
||||
--echo
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
|
||||
# -- Here we have: current db: NULL; stmt db: mysqltest1;
|
||||
--echo
|
||||
EXECUTE stmt_c_1;
|
||||
|
||||
--echo
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
|
||||
# -- Here we have: current db: NULL; stmt db: mysqltest2 (non-existent);
|
||||
--echo
|
||||
EXECUTE stmt_c_2;
|
||||
|
||||
--echo
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
|
||||
# -- Create prepared statement, which has no current database.
|
||||
|
||||
--echo
|
||||
PREPARE stmt_c_3 FROM 'SELECT DATABASE(), @@collation_database';
|
||||
|
||||
# -- Here we have: current db: NULL; stmt db: NULL;
|
||||
--echo
|
||||
EXECUTE stmt_c_3;
|
||||
|
||||
--echo
|
||||
use mysqltest1;
|
||||
|
||||
# -- Here we have: current db: mysqltest1; stmt db: mysqltest2 (non-existent);
|
||||
--echo
|
||||
EXECUTE stmt_c_2;
|
||||
|
||||
--echo
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
|
||||
# -- Here we have: current db: mysqltest1; stmt db: NULL;
|
||||
--echo
|
||||
EXECUTE stmt_c_3;
|
||||
|
||||
--echo
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
|
||||
--echo
|
||||
DROP DATABASE mysqltest1;
|
||||
|
||||
--echo
|
||||
use test;
|
||||
|
||||
--echo
|
||||
--echo ########################################################################
|
||||
|
||||
###############################################################################
|
||||
|
||||
set @@global.query_cache_size=@initial_query_cache_size;
|
||||
flush status; # reset Qcache status variables for next tests
|
||||
|
||||
@@ -147,4 +147,6 @@ DROP EVENT test.slave_terminate;
|
||||
--echo "Cleanup"
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
sync_slave_with_master;
|
||||
connection master;
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
||||
--error ER_CANT_FIND_DL_ENTRY
|
||||
eval CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
||||
--replace_column 3 UDF_LIB
|
||||
SELECT * FROM mysql.func;
|
||||
SELECT * FROM mysql.func ORDER BY name;
|
||||
--disable_info
|
||||
|
||||
save_master_pos;
|
||||
@@ -46,7 +46,7 @@ sync_with_master;
|
||||
--echo "Running on the slave"
|
||||
--enable_info
|
||||
--replace_column 3 UDF_LIB
|
||||
SELECT * FROM mysql.func;
|
||||
SELECT * FROM mysql.func ORDER BY name;
|
||||
--disable_info
|
||||
|
||||
connection master;
|
||||
@@ -81,7 +81,7 @@ connection master;
|
||||
--enable_info
|
||||
DROP FUNCTION myfunc_double;
|
||||
DROP FUNCTION myfunc_int;
|
||||
SELECT * FROM mysql.func;
|
||||
SELECT * FROM mysql.func ORDER BY name;
|
||||
--disable_info
|
||||
|
||||
sync_slave_with_master;
|
||||
@@ -89,7 +89,7 @@ sync_slave_with_master;
|
||||
# Check to see if the UDFs were dropped on the slave
|
||||
--echo "Running on the slave"
|
||||
--enable_info
|
||||
SELECT * FROM mysql.func;
|
||||
SELECT * FROM mysql.func ORDER BY name;
|
||||
--disable_info
|
||||
|
||||
connection master;
|
||||
@@ -108,7 +108,7 @@ DROP TABLE t1;
|
||||
--enable_info
|
||||
CREATE FUNCTION myfuncsql_int(i INT) RETURNS INTEGER DETERMINISTIC RETURN i;
|
||||
CREATE FUNCTION myfuncsql_double(d DOUBLE) RETURNS INTEGER DETERMINISTIC RETURN d * 2.00;
|
||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
|
||||
--disable_info
|
||||
|
||||
sync_slave_with_master;
|
||||
@@ -116,7 +116,7 @@ sync_slave_with_master;
|
||||
# Check to see that UDF CREATE statements were replicated
|
||||
--echo "Running on the slave"
|
||||
--enable_info
|
||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
|
||||
--disable_info
|
||||
|
||||
connection master;
|
||||
@@ -147,7 +147,7 @@ connection master;
|
||||
--enable_info
|
||||
ALTER FUNCTION myfuncsql_int COMMENT "This was altered.";
|
||||
ALTER FUNCTION myfuncsql_double COMMENT "This was altered.";
|
||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
|
||||
--disable_info
|
||||
|
||||
sync_slave_with_master;
|
||||
@@ -155,7 +155,7 @@ sync_slave_with_master;
|
||||
# Check to see if data was replicated
|
||||
--echo "Running on the slave"
|
||||
--enable_info
|
||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
|
||||
|
||||
# Check to see that the functions are available for execution on the slave
|
||||
SELECT myfuncsql_int(25);
|
||||
@@ -169,7 +169,7 @@ connection master;
|
||||
--enable_info
|
||||
DROP FUNCTION myfuncsql_double;
|
||||
DROP FUNCTION myfuncsql_int;
|
||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
|
||||
--disable_info
|
||||
|
||||
sync_slave_with_master;
|
||||
@@ -177,7 +177,7 @@ sync_slave_with_master;
|
||||
# Check to see if the UDFs were dropped on the slave
|
||||
--echo "Running on the slave"
|
||||
--enable_info
|
||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%' ORDER BY name;
|
||||
--disable_info
|
||||
|
||||
connection master;
|
||||
|
||||
40
mysql-test/include/test_fieldsize.inc
Normal file
40
mysql-test/include/test_fieldsize.inc
Normal file
@@ -0,0 +1,40 @@
|
||||
#
|
||||
# include/test_fieldsize.inc
|
||||
#
|
||||
# This include file is designed to create a table with one column
|
||||
# whose size on the master is greater than that on the slave. The
|
||||
# test should fail with an error on the slave.
|
||||
#
|
||||
|
||||
connection master;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
|
||||
sync_slave_with_master;
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
eval $test_table_slave;
|
||||
|
||||
connection master;
|
||||
eval $test_table_master;
|
||||
RESET MASTER;
|
||||
|
||||
eval $test_insert;
|
||||
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
wait_for_slave_to_stop;
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
|
||||
--query_vertical SHOW SLAVE STATUS
|
||||
|
||||
# The following should be 0
|
||||
SELECT COUNT(*) FROM t1;
|
||||
STOP SLAVE;
|
||||
RESET SLAVE;
|
||||
|
||||
connection master;
|
||||
RESET MASTER;
|
||||
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
# let $wait_condition=
|
||||
# SELECT c = 3 FROM t;
|
||||
# --source include/wait_condition.inc
|
||||
# --echo Executed the test condition $wait_condition_reps times
|
||||
#
|
||||
# EXAMPLE
|
||||
# events_bugs.test, events_time_zone.test
|
||||
@@ -33,9 +34,13 @@ if ($wait_timeout)
|
||||
# calls, and default will be used instead.
|
||||
let $wait_timeout= 0;
|
||||
|
||||
# Keep track of how many times the wait condition is tested
|
||||
# This is used by some tests (e.g., main.status)
|
||||
let $wait_condition_reps= 0;
|
||||
while ($wait_counter)
|
||||
{
|
||||
let $success= `$wait_condition`;
|
||||
inc $wait_condition_reps;
|
||||
if ($success)
|
||||
{
|
||||
let $wait_counter= 0;
|
||||
|
||||
@@ -53,7 +53,8 @@ sub collect_test_cases ($) {
|
||||
my $found= 0;
|
||||
foreach my $test ( @$cases )
|
||||
{
|
||||
if ( mtr_match_extension($test->{'name'}, $tname) )
|
||||
if ( $test->{'name'} eq $tname ||
|
||||
mtr_match_extension($test->{'name'}, $tname) )
|
||||
{
|
||||
$found= 1;
|
||||
}
|
||||
@@ -192,8 +193,9 @@ sub collect_one_suite($$)
|
||||
if ( @::opt_cases )
|
||||
{
|
||||
# Collect in specified order, no sort
|
||||
foreach my $tname ( @::opt_cases )
|
||||
foreach my $tname2 ( @::opt_cases )
|
||||
{
|
||||
my $tname= $tname2; # Don't modify @::opt_cases !
|
||||
my $elem= undef;
|
||||
my $component_id= undef;
|
||||
|
||||
@@ -202,6 +204,9 @@ sub collect_one_suite($$)
|
||||
|
||||
$tname = basename($tname);
|
||||
|
||||
# Get rid of suite part
|
||||
$tname =~ s/^$suite\.//;
|
||||
|
||||
# Check if the extenstion has been specified.
|
||||
|
||||
if ( mtr_match_extension($tname, "test") )
|
||||
|
||||
@@ -19,9 +19,8 @@
|
||||
# same name.
|
||||
|
||||
use strict;
|
||||
use File::Find;
|
||||
|
||||
sub mtr_full_hostname ();
|
||||
sub mtr_short_hostname ();
|
||||
sub mtr_native_path($);
|
||||
sub mtr_init_args ($);
|
||||
sub mtr_add_arg ($$@);
|
||||
@@ -31,6 +30,7 @@ sub mtr_file_exists(@);
|
||||
sub mtr_exe_exists(@);
|
||||
sub mtr_exe_maybe_exists(@);
|
||||
sub mtr_copy_dir($$);
|
||||
sub mtr_rmtree($);
|
||||
sub mtr_same_opts($$);
|
||||
sub mtr_cmp_opts($$);
|
||||
|
||||
@@ -40,30 +40,6 @@ sub mtr_cmp_opts($$);
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
# We want the fully qualified host name and hostname() may have returned
|
||||
# only the short name. So we use the resolver to find out.
|
||||
# Note that this might fail on some platforms
|
||||
|
||||
sub mtr_full_hostname () {
|
||||
|
||||
my $hostname= hostname();
|
||||
if ( $hostname !~ /\./ )
|
||||
{
|
||||
my $address= gethostbyname($hostname)
|
||||
or mtr_error("Couldn't resolve $hostname : $!");
|
||||
my $fullname= gethostbyaddr($address, AF_INET);
|
||||
$hostname= $fullname if $fullname;
|
||||
}
|
||||
return $hostname;
|
||||
}
|
||||
|
||||
sub mtr_short_hostname () {
|
||||
|
||||
my $hostname= hostname();
|
||||
$hostname =~ s/\..+$//;
|
||||
return $hostname;
|
||||
}
|
||||
|
||||
# Convert path to OS native format
|
||||
sub mtr_native_path($)
|
||||
{
|
||||
@@ -226,6 +202,57 @@ sub mtr_copy_dir($$) {
|
||||
}
|
||||
|
||||
|
||||
sub mtr_rmtree($) {
|
||||
my ($dir)= @_;
|
||||
mtr_verbose("mtr_rmtree: $dir");
|
||||
|
||||
# Try to use File::Path::rmtree. Recent versions
|
||||
# handles removal of directories and files that don't
|
||||
# have full permissions, while older versions
|
||||
# may have a problem with that and we use our own version
|
||||
|
||||
eval { rmtree($dir); };
|
||||
if ( $@ ) {
|
||||
mtr_warning("rmtree($dir) failed, trying with File::Find...");
|
||||
|
||||
my $errors= 0;
|
||||
|
||||
# chmod
|
||||
find( {
|
||||
no_chdir => 1,
|
||||
wanted => sub {
|
||||
chmod(0777, $_)
|
||||
or mtr_warning("couldn't chmod(0777, $_): $!") and $errors++;
|
||||
}
|
||||
},
|
||||
$dir
|
||||
);
|
||||
|
||||
# rm
|
||||
finddepth( {
|
||||
no_chdir => 1,
|
||||
wanted => sub {
|
||||
my $file= $_;
|
||||
# Use special underscore (_) filehandle, caches stat info
|
||||
if (!-l $file and -d _ ) {
|
||||
rmdir($file) or
|
||||
mtr_warning("couldn't rmdir($file): $!") and $errors++;
|
||||
} else {
|
||||
unlink($file)
|
||||
or mtr_warning("couldn't unlink($file): $!") and $errors++;
|
||||
}
|
||||
}
|
||||
},
|
||||
$dir
|
||||
);
|
||||
|
||||
mtr_error("Failed to remove '$dir'") if $errors;
|
||||
|
||||
mtr_report("OK, that worked!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub mtr_same_opts ($$) {
|
||||
my $l1= shift;
|
||||
my $l2= shift;
|
||||
|
||||
@@ -99,25 +99,26 @@ sub spawn_impl ($$$$$$$) {
|
||||
|
||||
if ( $::opt_script_debug )
|
||||
{
|
||||
print STDERR "\n";
|
||||
print STDERR "#### ", "-" x 78, "\n";
|
||||
print STDERR "#### ", "STDIN $input\n" if $input;
|
||||
print STDERR "#### ", "STDOUT $output\n" if $output;
|
||||
print STDERR "#### ", "STDERR $error\n" if $error;
|
||||
print STDERR "#### ", "$mode : $path ", join(" ",@$arg_list_t), "\n";
|
||||
print STDERR "#### ", "spawn options:\n";
|
||||
mtr_report("");
|
||||
mtr_debug("-" x 73);
|
||||
mtr_debug("STDIN $input") if $input;
|
||||
mtr_debug("STDOUT $output") if $output;
|
||||
mtr_debug("STDERR $error") if $error;
|
||||
mtr_debug("$mode: $path ", join(" ",@$arg_list_t));
|
||||
mtr_debug("spawn options:");
|
||||
if ($spawn_opts)
|
||||
{
|
||||
foreach my $key (sort keys %{$spawn_opts})
|
||||
{
|
||||
print STDERR "#### ", " - $key: $spawn_opts->{$key}\n";
|
||||
mtr_debug(" - $key: $spawn_opts->{$key}");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
print STDERR "#### ", " none\n";
|
||||
mtr_debug(" none");
|
||||
}
|
||||
print STDERR "#### ", "-" x 78, "\n";
|
||||
mtr_debug("-" x 73);
|
||||
mtr_report("");
|
||||
}
|
||||
|
||||
mtr_error("Can't spawn with empty \"path\"") unless defined $path;
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
# same name.
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
sub mtr_report_test_name($);
|
||||
sub mtr_report_test_passed($);
|
||||
@@ -26,7 +27,6 @@ sub mtr_report_test_failed($);
|
||||
sub mtr_report_test_skipped($);
|
||||
sub mtr_report_test_not_skipped_though_disabled($);
|
||||
|
||||
sub mtr_show_failed_diff ($);
|
||||
sub mtr_report_stats ($);
|
||||
sub mtr_print_line ();
|
||||
sub mtr_print_thick_line ();
|
||||
@@ -38,6 +38,9 @@ sub mtr_child_error (@);
|
||||
sub mtr_debug (@);
|
||||
sub mtr_verbose (@);
|
||||
|
||||
my $tot_real_time= 0;
|
||||
|
||||
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
@@ -45,43 +48,10 @@ sub mtr_verbose (@);
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
# We can't use diff -u or diff -a as these are not portable
|
||||
|
||||
sub mtr_show_failed_diff ($) {
|
||||
my $tinfo= shift;
|
||||
|
||||
# The reject and log files have been dumped to
|
||||
# to filenames based on the result_file's name
|
||||
my $base_file= mtr_match_extension($tinfo->{'result_file'},
|
||||
"result"); # Trim extension
|
||||
my $reject_file= "$base_file.reject";
|
||||
my $result_file= "$base_file.result";
|
||||
my $log_file= "$base_file.log";
|
||||
|
||||
my $diffopts= $::opt_udiff ? "-u" : "-c";
|
||||
|
||||
if ( -f $reject_file )
|
||||
{
|
||||
print "Below are the diffs between actual and expected results:\n";
|
||||
print "-------------------------------------------------------\n";
|
||||
# FIXME check result code?!
|
||||
mtr_run("diff",[$diffopts,$result_file,$reject_file], "", "", "", "");
|
||||
print "-------------------------------------------------------\n";
|
||||
print "Please follow the instructions outlined at\n";
|
||||
print "http://www.mysql.com/doc/en/Reporting_mysqltest_bugs.html\n";
|
||||
print "to find the reason to this problem and how to report this.\n\n";
|
||||
}
|
||||
|
||||
if ( -f $log_file )
|
||||
{
|
||||
print "Result from queries before failure can be found in $log_file\n";
|
||||
# FIXME Maybe a tail -f -n 10 $log_file here
|
||||
}
|
||||
}
|
||||
|
||||
sub mtr_report_test_name ($) {
|
||||
my $tinfo= shift;
|
||||
|
||||
_mtr_log("$tinfo->{name}");
|
||||
printf "%-30s ", $tinfo->{'name'};
|
||||
}
|
||||
|
||||
@@ -91,15 +61,15 @@ sub mtr_report_test_skipped ($) {
|
||||
$tinfo->{'result'}= 'MTR_RES_SKIPPED';
|
||||
if ( $tinfo->{'disable'} )
|
||||
{
|
||||
print "[ disabled ] $tinfo->{'comment'}\n";
|
||||
mtr_report("[ disabled ] $tinfo->{'comment'}");
|
||||
}
|
||||
elsif ( $tinfo->{'comment'} )
|
||||
{
|
||||
print "[ skipped ] $tinfo->{'comment'}\n";
|
||||
mtr_report("[ skipped ] $tinfo->{'comment'}");
|
||||
}
|
||||
else
|
||||
{
|
||||
print "[ skipped ]\n";
|
||||
mtr_report("[ skipped ]");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,11 +97,11 @@ sub mtr_report_test_passed ($) {
|
||||
if ( $::opt_timer and -f "$::opt_vardir/log/timer" )
|
||||
{
|
||||
$timer= mtr_fromfile("$::opt_vardir/log/timer");
|
||||
$::glob_tot_real_time += ($timer/1000);
|
||||
$tot_real_time += ($timer/1000);
|
||||
$timer= sprintf "%12s", $timer;
|
||||
}
|
||||
$tinfo->{'result'}= 'MTR_RES_PASSED';
|
||||
print "[ pass ] $timer\n";
|
||||
mtr_report("[ pass ] $timer");
|
||||
}
|
||||
|
||||
sub mtr_report_test_failed ($) {
|
||||
@@ -140,27 +110,34 @@ sub mtr_report_test_failed ($) {
|
||||
$tinfo->{'result'}= 'MTR_RES_FAILED';
|
||||
if ( defined $tinfo->{'timeout'} )
|
||||
{
|
||||
print "[ fail ] timeout\n";
|
||||
mtr_report("[ fail ] timeout");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
print "[ fail ]\n";
|
||||
mtr_report("[ fail ]");
|
||||
}
|
||||
|
||||
if ( $tinfo->{'comment'} )
|
||||
{
|
||||
print "\nERROR: $tinfo->{'comment'}\n";
|
||||
# The test failure has been detected by mysql-test-run.pl
|
||||
# when starting the servers or due to other error, the reason for
|
||||
# failing the test is saved in "comment"
|
||||
mtr_report("\nERROR: $tinfo->{'comment'}");
|
||||
}
|
||||
elsif ( -f $::path_timefile )
|
||||
{
|
||||
print "\nErrors are (from $::path_timefile) :\n";
|
||||
# Test failure was detected by test tool and it's report
|
||||
# about what failed has been saved to file. Display the report.
|
||||
print "\n";
|
||||
print mtr_fromfile($::path_timefile); # FIXME print_file() instead
|
||||
print "\n(the last lines may be the most important ones)\n";
|
||||
print "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
print "\nUnexpected termination, probably when starting mysqld\n";
|
||||
# Neither this script or the test tool has recorded info
|
||||
# about why the test has failed. Should be debugged.
|
||||
mtr_report("\nUnexpected termination, probably when starting mysqld");;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -228,8 +205,10 @@ sub mtr_report_stats ($) {
|
||||
|
||||
if ( $::opt_timer )
|
||||
{
|
||||
print
|
||||
"Spent $::glob_tot_real_time seconds actually executing testcases\n"
|
||||
use English;
|
||||
|
||||
mtr_report("Spent", sprintf("%.3f", $tot_real_time),"of",
|
||||
time - $BASETIME, "seconds executing testcases");
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
@@ -484,35 +463,66 @@ sub mtr_print_header () {
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# Misc
|
||||
# Log and reporting functions
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
use IO::File;
|
||||
|
||||
my $log_file_ref= undef;
|
||||
|
||||
sub mtr_log_init ($) {
|
||||
my ($filename)= @_;
|
||||
|
||||
mtr_error("Log is already open") if defined $log_file_ref;
|
||||
|
||||
$log_file_ref= IO::File->new($filename, "a") or
|
||||
mtr_warning("Could not create logfile $filename: $!");
|
||||
}
|
||||
|
||||
sub _mtr_log (@) {
|
||||
print $log_file_ref join(" ", @_),"\n"
|
||||
if defined $log_file_ref;
|
||||
}
|
||||
|
||||
sub mtr_report (@) {
|
||||
# Print message to screen and log
|
||||
_mtr_log(@_);
|
||||
print join(" ", @_),"\n";
|
||||
}
|
||||
|
||||
sub mtr_warning (@) {
|
||||
# Print message to screen and log
|
||||
_mtr_log("WARNING: ", @_);
|
||||
print STDERR "mysql-test-run: WARNING: ",join(" ", @_),"\n";
|
||||
}
|
||||
|
||||
sub mtr_error (@) {
|
||||
# Print message to screen and log
|
||||
_mtr_log("ERROR: ", @_);
|
||||
print STDERR "mysql-test-run: *** ERROR: ",join(" ", @_),"\n";
|
||||
mtr_exit(1);
|
||||
}
|
||||
|
||||
sub mtr_child_error (@) {
|
||||
# Print message to screen and log
|
||||
_mtr_log("ERROR(child): ", @_);
|
||||
print STDERR "mysql-test-run: *** ERROR(child): ",join(" ", @_),"\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
sub mtr_debug (@) {
|
||||
# Only print if --script-debug is used
|
||||
if ( $::opt_script_debug )
|
||||
{
|
||||
_mtr_log("###: ", @_);
|
||||
print STDERR "####: ",join(" ", @_),"\n";
|
||||
}
|
||||
}
|
||||
|
||||
sub mtr_verbose (@) {
|
||||
# Always print to log, print to screen only when --verbose is used
|
||||
_mtr_log("> ",@_);
|
||||
if ( $::opt_verbose )
|
||||
{
|
||||
print STDERR "> ",join(" ", @_),"\n";
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
# and is part of the translation of the Bourne shell script with the
|
||||
# same name.
|
||||
|
||||
use Socket;
|
||||
use Errno;
|
||||
use strict;
|
||||
|
||||
@@ -52,12 +51,10 @@ sub mtr_init_timers () {
|
||||
sub mtr_timer_start($$$) {
|
||||
my ($timers,$name,$duration)= @_;
|
||||
|
||||
mtr_verbose("mtr_timer_start: $name, $duration");
|
||||
|
||||
if ( exists $timers->{'timers'}->{$name} )
|
||||
{
|
||||
# We have an old running timer, kill it
|
||||
mtr_verbose("There is an old timer running");
|
||||
mtr_warning("There is an old timer running");
|
||||
mtr_timer_stop($timers,$name);
|
||||
}
|
||||
|
||||
@@ -75,22 +72,22 @@ sub mtr_timer_start($$$) {
|
||||
}
|
||||
else
|
||||
{
|
||||
mtr_error("can't fork");
|
||||
mtr_error("can't fork timer, error: $!");
|
||||
}
|
||||
}
|
||||
|
||||
if ( $tpid )
|
||||
{
|
||||
# Parent, record the information
|
||||
mtr_verbose("timer parent, record info($name, $tpid, $duration)");
|
||||
mtr_verbose("Starting timer for '$name',",
|
||||
"duration: $duration, pid: $tpid");
|
||||
$timers->{'timers'}->{$name}->{'pid'}= $tpid;
|
||||
$timers->{'timers'}->{$name}->{'duration'}= $duration;
|
||||
$timers->{'pids'}->{$tpid}= $name;
|
||||
}
|
||||
else
|
||||
{
|
||||
# Child, redirect output and exec
|
||||
# FIXME do we need to redirect streams?
|
||||
# Child, install signal handlers and sleep for "duration"
|
||||
|
||||
# Don't do the ^C cleanup in the timeout child processes!
|
||||
# There is actually a race here, if we get ^C after fork(), but before
|
||||
@@ -98,13 +95,13 @@ sub mtr_timer_start($$$) {
|
||||
$SIG{INT}= 'DEFAULT';
|
||||
|
||||
$SIG{TERM}= sub {
|
||||
mtr_verbose("timer woke up, exiting!");
|
||||
mtr_verbose("timer $$ woke up, exiting!");
|
||||
exit(0);
|
||||
};
|
||||
|
||||
$0= "mtr_timer(timers,$name,$duration)";
|
||||
sleep($duration);
|
||||
mtr_verbose("timer expired after $duration seconds");
|
||||
mtr_verbose("timer $$ expired after $duration seconds");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
@@ -114,12 +111,10 @@ sub mtr_timer_start($$$) {
|
||||
sub mtr_timer_stop ($$) {
|
||||
my ($timers,$name)= @_;
|
||||
|
||||
mtr_verbose("mtr_timer_stop: $name");
|
||||
|
||||
if ( exists $timers->{'timers'}->{$name} )
|
||||
{
|
||||
my $tpid= $timers->{'timers'}->{$name}->{'pid'};
|
||||
mtr_verbose("Stopping timer with pid $tpid");
|
||||
mtr_verbose("Stopping timer for '$name' with pid $tpid");
|
||||
|
||||
# FIXME as Cygwin reuses pids fast, maybe check that is
|
||||
# the expected process somehow?!
|
||||
@@ -134,11 +129,8 @@ sub mtr_timer_stop ($$) {
|
||||
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
mtr_error("Asked to stop timer \"$name\" not started");
|
||||
return 0;
|
||||
}
|
||||
|
||||
mtr_error("Asked to stop timer '$name' not started");
|
||||
}
|
||||
|
||||
|
||||
@@ -158,7 +150,8 @@ sub mtr_timer_timeout ($$) {
|
||||
|
||||
return "" unless exists $timers->{'pids'}->{$pid};
|
||||
|
||||
# We got a timeout, return the name ot the timer
|
||||
# Got a timeout(the process with $pid is recorded as being a timer)
|
||||
# return the name of the timer
|
||||
return $timers->{'pids'}->{$pid};
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,6 @@ use File::Copy;
|
||||
use File::Temp qw /tempdir/;
|
||||
use Cwd;
|
||||
use Getopt::Long;
|
||||
use Sys::Hostname;
|
||||
use IO::Socket;
|
||||
use IO::Socket::INET;
|
||||
use strict;
|
||||
@@ -83,7 +82,6 @@ require "lib/mtr_io.pl";
|
||||
require "lib/mtr_gcov.pl";
|
||||
require "lib/mtr_gprof.pl";
|
||||
require "lib/mtr_report.pl";
|
||||
require "lib/mtr_diff.pl";
|
||||
require "lib/mtr_match.pl";
|
||||
require "lib/mtr_misc.pl";
|
||||
require "lib/mtr_stress.pl";
|
||||
@@ -101,7 +99,6 @@ $Devel::Trace::TRACE= 1;
|
||||
our $mysql_version_id;
|
||||
our $glob_mysql_test_dir= undef;
|
||||
our $glob_mysql_bench_dir= undef;
|
||||
our $glob_hostname= undef;
|
||||
our $glob_scriptname= undef;
|
||||
our $glob_timers= undef;
|
||||
our $glob_use_embedded_server= 0;
|
||||
@@ -234,7 +231,6 @@ my $opt_report_features;
|
||||
our $opt_check_testcases;
|
||||
our $opt_mark_progress;
|
||||
|
||||
our $opt_skip;
|
||||
our $opt_skip_rpl;
|
||||
our $max_slave_num= 0;
|
||||
our $max_master_num= 1;
|
||||
@@ -277,13 +273,8 @@ our $opt_stress_test_duration= 0;
|
||||
our $opt_stress_init_file= "";
|
||||
our $opt_stress_test_file= "";
|
||||
|
||||
our $opt_wait_for_master;
|
||||
our $opt_wait_for_slave;
|
||||
|
||||
our $opt_warnings;
|
||||
|
||||
our $opt_udiff;
|
||||
|
||||
our $opt_skip_ndbcluster= 0;
|
||||
our $opt_skip_ndbcluster_slave= 0;
|
||||
our $opt_with_ndbcluster= 0;
|
||||
@@ -307,7 +298,6 @@ our @data_dir_lst;
|
||||
our $used_binlog_format;
|
||||
our $used_default_engine;
|
||||
our $debug_compiled_binaries;
|
||||
our $glob_tot_real_time= 0;
|
||||
|
||||
our %mysqld_variables;
|
||||
|
||||
@@ -619,7 +609,6 @@ sub command_line_setup () {
|
||||
'start-dirty' => \$opt_start_dirty,
|
||||
'start-and-exit' => \$opt_start_and_exit,
|
||||
'timer!' => \$opt_timer,
|
||||
'unified-diff|udiff' => \$opt_udiff,
|
||||
'user=s' => \$opt_user,
|
||||
'testcase-timeout=i' => \$opt_testcase_timeout,
|
||||
'suite-timeout=i' => \$opt_suite_timeout,
|
||||
@@ -655,8 +644,6 @@ sub command_line_setup () {
|
||||
$source_dist= 1;
|
||||
}
|
||||
|
||||
$glob_hostname= mtr_short_hostname();
|
||||
|
||||
# Find the absolute path to the test directory
|
||||
$glob_mysql_test_dir= cwd();
|
||||
if ( $glob_cygwin_perl )
|
||||
@@ -933,26 +920,6 @@ sub command_line_setup () {
|
||||
mtr_error("Will not run in record mode without a specific test case");
|
||||
}
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# Embedded server flag
|
||||
# --------------------------------------------------------------------------
|
||||
if ( $opt_embedded_server )
|
||||
{
|
||||
$glob_use_embedded_server= 1;
|
||||
push(@glob_test_mode, "embedded");
|
||||
$opt_skip_rpl= 1; # We never run replication with embedded
|
||||
$opt_skip_ndbcluster= 1; # Turn off use of NDB cluster
|
||||
$opt_skip_ssl= 1; # Turn off use of SSL
|
||||
|
||||
# Turn off use of bin log
|
||||
push(@opt_extra_mysqld_opt, "--skip-log-bin");
|
||||
|
||||
if ( $opt_extern )
|
||||
{
|
||||
mtr_error("Can't use --extern with --embedded-server");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# ps protcol flag
|
||||
@@ -2229,7 +2196,7 @@ sub remove_stale_vardir () {
|
||||
{
|
||||
# Remove the directory which the link points at
|
||||
mtr_verbose("Removing " . readlink($opt_vardir));
|
||||
rmtree(readlink($opt_vardir));
|
||||
mtr_rmtree(readlink($opt_vardir));
|
||||
|
||||
# Remove the "var" symlink
|
||||
mtr_verbose("unlink($opt_vardir)");
|
||||
@@ -2257,7 +2224,7 @@ sub remove_stale_vardir () {
|
||||
foreach my $bin ( glob("$opt_vardir/*") )
|
||||
{
|
||||
mtr_verbose("Removing bin $bin");
|
||||
rmtree($bin);
|
||||
mtr_rmtree($bin);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2265,7 +2232,7 @@ sub remove_stale_vardir () {
|
||||
{
|
||||
# Remove the entire "var" dir
|
||||
mtr_verbose("Removing $opt_vardir/");
|
||||
rmtree("$opt_vardir/");
|
||||
mtr_rmtree("$opt_vardir/");
|
||||
}
|
||||
|
||||
if ( $opt_mem )
|
||||
@@ -2274,7 +2241,7 @@ sub remove_stale_vardir () {
|
||||
# remove the $opt_mem dir to assure the symlink
|
||||
# won't point at an old directory
|
||||
mtr_verbose("Removing $opt_mem");
|
||||
rmtree($opt_mem);
|
||||
mtr_rmtree($opt_mem);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2287,11 +2254,11 @@ sub remove_stale_vardir () {
|
||||
# Remove the var/ dir in mysql-test dir if any
|
||||
# this could be an old symlink that shouldn't be there
|
||||
mtr_verbose("Removing $default_vardir");
|
||||
rmtree($default_vardir);
|
||||
mtr_rmtree($default_vardir);
|
||||
|
||||
# Remove the "var" dir
|
||||
mtr_verbose("Removing $opt_vardir/");
|
||||
rmtree("$opt_vardir/");
|
||||
mtr_rmtree("$opt_vardir/");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2944,13 +2911,16 @@ sub initialize_servers () {
|
||||
}
|
||||
}
|
||||
check_running_as_root();
|
||||
|
||||
mtr_log_init("$opt_vardir/log/mysql-test-run.log");
|
||||
|
||||
}
|
||||
|
||||
sub mysql_install_db () {
|
||||
|
||||
install_db('master', $master->[0]->{'path_myddir'});
|
||||
|
||||
if ($max_master_num)
|
||||
if ($max_master_num > 1)
|
||||
{
|
||||
copy_install_db('master', $master->[1]->{'path_myddir'});
|
||||
}
|
||||
@@ -3112,11 +3082,15 @@ sub install_db ($$) {
|
||||
mtr_appendfile_to_file("$path_sql_dir/fill_help_tables.sql",
|
||||
$bootstrap_sql_file);
|
||||
|
||||
mtr_tofile($bootstrap_sql_file,
|
||||
"DELETE FROM mysql.user where user= '';");
|
||||
|
||||
# Log bootstrap command
|
||||
my $path_bootstrap_log= "$opt_vardir/log/bootstrap.log";
|
||||
mtr_tofile($path_bootstrap_log,
|
||||
"$exe_mysqld_bootstrap " . join(" ", @$args) . "\n");
|
||||
|
||||
|
||||
if ( mtr_run($exe_mysqld_bootstrap, $args, $bootstrap_sql_file,
|
||||
$path_bootstrap_log, $path_bootstrap_log,
|
||||
"", { append_log_file => 1 }) != 0 )
|
||||
@@ -3241,7 +3215,7 @@ sub restore_slave_databases ($) {
|
||||
{
|
||||
my $data_dir= $slave->[$idx]->{'path_myddir'};
|
||||
my $name= basename($data_dir);
|
||||
rmtree($data_dir);
|
||||
mtr_rmtree($data_dir);
|
||||
mtr_copy_dir("$path_snapshot/$name", $data_dir);
|
||||
}
|
||||
}
|
||||
@@ -3414,56 +3388,6 @@ sub find_testcase_skipped_reason($)
|
||||
}
|
||||
|
||||
|
||||
sub analyze_testcase_failure_sync_with_master($)
|
||||
{
|
||||
my ($tinfo)= @_;
|
||||
|
||||
my $args;
|
||||
mtr_init_args(\$args);
|
||||
|
||||
mtr_add_arg($args, "--no-defaults");
|
||||
mtr_add_arg($args, "--silent");
|
||||
mtr_add_arg($args, "--skip-safemalloc");
|
||||
mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
|
||||
mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir);
|
||||
|
||||
mtr_add_arg($args, "--socket=%s", $master->[0]->{'path_sock'});
|
||||
mtr_add_arg($args, "--port=%d", $master->[0]->{'port'});
|
||||
mtr_add_arg($args, "--database=test");
|
||||
mtr_add_arg($args, "--user=%s", $opt_user);
|
||||
mtr_add_arg($args, "--password=");
|
||||
|
||||
# Run the test file and append output to log file
|
||||
mtr_run_test($exe_mysqltest,$args,
|
||||
"include/analyze_failure_sync_with_master.test",
|
||||
"$path_timefile", "$path_timefile","",
|
||||
{ append_log_file => 1 });
|
||||
|
||||
}
|
||||
|
||||
sub analyze_testcase_failure($)
|
||||
{
|
||||
my ($tinfo)= @_;
|
||||
|
||||
# Open mysqltest.log
|
||||
my $F= IO::File->new($path_timefile)
|
||||
or return;
|
||||
|
||||
while ( my $line= <$F> )
|
||||
{
|
||||
# Look for "mysqltest: At line nnn: <error>
|
||||
if ( $line =~ /mysqltest: At line [0-9]*: (.*)/ )
|
||||
{
|
||||
my $error= $1;
|
||||
# Look for "could not sync with master"
|
||||
if ( $error =~ /could not sync with master/ )
|
||||
{
|
||||
analyze_testcase_failure_sync_with_master($tinfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# Run a single test case
|
||||
@@ -3563,10 +3487,6 @@ sub run_testcase ($) {
|
||||
}
|
||||
elsif ( $res == 1 )
|
||||
{
|
||||
if ( $opt_force )
|
||||
{
|
||||
analyze_testcase_failure($tinfo);
|
||||
}
|
||||
# Test case failure reported by mysqltest
|
||||
report_failure_and_restart($tinfo);
|
||||
}
|
||||
@@ -3600,7 +3520,7 @@ sub run_testcase ($) {
|
||||
sub save_installed_db () {
|
||||
|
||||
mtr_report("Saving snapshot of installed databases");
|
||||
rmtree($path_snapshot);
|
||||
mtr_rmtree($path_snapshot);
|
||||
|
||||
foreach my $data_dir (@data_dir_lst)
|
||||
{
|
||||
@@ -3647,7 +3567,7 @@ sub restore_installed_db ($) {
|
||||
{
|
||||
my $name= basename($data_dir);
|
||||
save_files_before_restore($test_name, $data_dir);
|
||||
rmtree("$data_dir");
|
||||
mtr_rmtree("$data_dir");
|
||||
mtr_copy_dir("$path_snapshot/$name", "$data_dir");
|
||||
}
|
||||
|
||||
@@ -3657,7 +3577,7 @@ sub restore_installed_db ($) {
|
||||
{
|
||||
foreach my $ndbd (@{$cluster->{'ndbds'}})
|
||||
{
|
||||
rmtree("$ndbd->{'path_fs'}" );
|
||||
mtr_rmtree("$ndbd->{'path_fs'}" );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3672,7 +3592,6 @@ sub report_failure_and_restart ($) {
|
||||
my $tinfo= shift;
|
||||
|
||||
mtr_report_test_failed($tinfo);
|
||||
mtr_show_failed_diff($tinfo);
|
||||
print "\n";
|
||||
if ( $opt_force )
|
||||
{
|
||||
@@ -3681,13 +3600,13 @@ sub report_failure_and_restart ($) {
|
||||
|
||||
# Restore the snapshot of the installed test db
|
||||
restore_installed_db($tinfo->{'name'});
|
||||
print "Resuming Tests\n\n";
|
||||
mtr_report("Resuming Tests\n");
|
||||
return;
|
||||
}
|
||||
|
||||
my $test_mode= join(" ", @::glob_test_mode) || "default";
|
||||
print "Aborting: $tinfo->{'name'} failed in $test_mode mode. ";
|
||||
print "To continue, re-run with '--force'.\n";
|
||||
mtr_report("Aborting: $tinfo->{'name'} failed in $test_mode mode. ");
|
||||
mtr_report("To continue, re-run with '--force'.");
|
||||
if ( ! $glob_debugger and
|
||||
! $opt_extern and
|
||||
! $glob_use_embedded_server )
|
||||
@@ -4113,6 +4032,9 @@ sub mysqld_start ($$$) {
|
||||
$wait_for_pid_file= 0;
|
||||
}
|
||||
|
||||
# Remove the pidfile
|
||||
unlink($mysqld->{'path_pid'});
|
||||
|
||||
if ( defined $exe )
|
||||
{
|
||||
$pid= mtr_spawn($exe, $args, "",
|
||||
@@ -4146,11 +4068,11 @@ sub mysqld_start ($$$) {
|
||||
|
||||
sub stop_all_servers () {
|
||||
|
||||
print "Stopping All Servers\n";
|
||||
mtr_report("Stopping All Servers");
|
||||
|
||||
if ( ! $opt_skip_im )
|
||||
{
|
||||
print "Shutting-down Instance Manager\n";
|
||||
mtr_report("Shutting-down Instance Manager");
|
||||
unless (mtr_im_stop($instance_manager, "stop_all_servers"))
|
||||
{
|
||||
mtr_error("Failed to stop Instance Manager.")
|
||||
@@ -4860,6 +4782,9 @@ sub run_mysqltest ($) {
|
||||
|
||||
mtr_add_arg($args, "--test-file=%s", $tinfo->{'path'});
|
||||
|
||||
# Number of lines of resut to include in failure report
|
||||
mtr_add_arg($args, "--tail-lines=20");
|
||||
|
||||
if ( defined $tinfo->{'result_file'} ) {
|
||||
mtr_add_arg($args, "--result-file=%s", $tinfo->{'result_file'});
|
||||
}
|
||||
@@ -5273,7 +5198,6 @@ Misc options
|
||||
fast Don't try to clean up from earlier runs
|
||||
reorder Reorder tests to get fewer server restarts
|
||||
help Get this help text
|
||||
unified-diff | udiff When presenting differences, use unified diff
|
||||
|
||||
testcase-timeout=MINUTES Max test case run time (default $default_testcase_timeout)
|
||||
suite-timeout=MINUTES Max test suite run time (default $default_suite_timeout)
|
||||
|
||||
@@ -5,9 +5,9 @@ CREATE TABLE t3 (b INT AUTO_INCREMENT PRIMARY KEY);
|
||||
CREATE VIEW v1(a,b) AS SELECT a,b FROM t2,t3;
|
||||
INSERT INTO t1 SELECT UUID();
|
||||
Warnings:
|
||||
Warning 1589 Statement is not safe to log in statement format.
|
||||
Warning 1590 Statement is not safe to log in statement format.
|
||||
SHOW WARNINGS;
|
||||
Level Warning
|
||||
Code 1589
|
||||
Code 1590
|
||||
Message Statement is not safe to log in statement format.
|
||||
DROP TABLE t1,t2,t3;
|
||||
|
||||
@@ -36,3 +36,18 @@ select 1/*!999992*/;
|
||||
select 1 + /*!00000 2 */ + 3 /*!99999 noise*/ + 4;
|
||||
1 + 2 + 3 + 4
|
||||
10
|
||||
drop table if exists table_28779;
|
||||
create table table_28779 (a int);
|
||||
prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*' AND b = 'bar';";
|
||||
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 '/*' AND b = 'bar'' at line 1
|
||||
prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*' AND b = 'bar';*";
|
||||
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 '/*' AND b = 'bar';*' at line 1
|
||||
prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*! AND 2=2;";
|
||||
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 '' at line 1
|
||||
prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*! AND 2=2;*";
|
||||
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 ';*' at line 1
|
||||
prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*!98765' AND b = 'bar';";
|
||||
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 '/*!98765' AND b = 'bar'' at line 1
|
||||
prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*!98765' AND b = 'bar';*";
|
||||
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 '/*!98765' AND b = 'bar';*' at line 1
|
||||
drop table table_28779;
|
||||
|
||||
177
mysql-test/r/ctype_ascii.result
Normal file
177
mysql-test/r/ctype_ascii.result
Normal file
@@ -0,0 +1,177 @@
|
||||
set names ascii;
|
||||
select 'e'='`';
|
||||
'e'='`'
|
||||
0
|
||||
select 'y'='~';
|
||||
'y'='~'
|
||||
0
|
||||
create table t1 (a char(1) character set ascii);
|
||||
insert into t1 (a) values (' '), ('a'), ('b'), ('c'), ('d'), ('e'), ('f'), ('g'), ('h'), ('i'), ('j'), ('k'), ('l'), ('m'), ('n'), ('o'), ('p'), ('q'), ('r'), ('s'), ('t'), ('u'), ('v'), ('w'), ('x'), ('y'), ('z'), ('A'), ('B'), ('C'), ('D'), ('E'), ('F'), ('G'), ('H'), ('I'), ('J'), ('K'), ('L'), ('M'), ('N'), ('O'), ('P'), ('Q'), ('R'), ('S'), ('T'), ('U'), ('V'), ('W'), ('X'), ('Y'), ('Z'), ('!'), ('@'), ('#'), ('$'), ('%'), ('^'), ('&'), ('*'), ('('), (')'), ('_'), ('+'), ('`'), ('~'), ('1'), ('2'), ('3'), ('4'), ('5'), ('6'), ('7'), ('8'), ('9'), ('0'), ('['), (']'), ('\\'), ('|'), ('}'), ('{'), ('"'), (':'), (''''), (';'), ('/'), ('.'), (','), ('?'), ('>'), ('<'), ('\n'), ('\t'), ('\a'), ('\f'), ('\v');
|
||||
select t1a.a, t1b.a from t1 as t1a, t1 as t1b where t1a.a=t1b.a order by binary t1a.a, binary t1b.a;
|
||||
a a
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
! !
|
||||
" "
|
||||
# #
|
||||
$ $
|
||||
% %
|
||||
& &
|
||||
' '
|
||||
( (
|
||||
) )
|
||||
* *
|
||||
+ +
|
||||
, ,
|
||||
. .
|
||||
/ /
|
||||
0 0
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
: :
|
||||
; ;
|
||||
< <
|
||||
> >
|
||||
? ?
|
||||
@ @
|
||||
A A
|
||||
A a
|
||||
A a
|
||||
B B
|
||||
B b
|
||||
C C
|
||||
C c
|
||||
D D
|
||||
D d
|
||||
E E
|
||||
E e
|
||||
F F
|
||||
F f
|
||||
F f
|
||||
G G
|
||||
G g
|
||||
H H
|
||||
H h
|
||||
I I
|
||||
I i
|
||||
J J
|
||||
J j
|
||||
K K
|
||||
K k
|
||||
L L
|
||||
L l
|
||||
M M
|
||||
M m
|
||||
N N
|
||||
N n
|
||||
O O
|
||||
O o
|
||||
P P
|
||||
P p
|
||||
Q Q
|
||||
Q q
|
||||
R R
|
||||
R r
|
||||
S S
|
||||
S s
|
||||
T T
|
||||
T t
|
||||
U U
|
||||
U u
|
||||
V V
|
||||
V v
|
||||
V v
|
||||
W W
|
||||
W w
|
||||
X X
|
||||
X x
|
||||
Y Y
|
||||
Y y
|
||||
Z Z
|
||||
Z z
|
||||
[ [
|
||||
\ \
|
||||
] ]
|
||||
^ ^
|
||||
_ _
|
||||
` `
|
||||
a A
|
||||
a A
|
||||
a a
|
||||
a a
|
||||
a a
|
||||
a a
|
||||
b B
|
||||
b b
|
||||
c C
|
||||
c c
|
||||
d D
|
||||
d d
|
||||
e E
|
||||
e e
|
||||
f F
|
||||
f F
|
||||
f f
|
||||
f f
|
||||
f f
|
||||
f f
|
||||
g G
|
||||
g g
|
||||
h H
|
||||
h h
|
||||
i I
|
||||
i i
|
||||
j J
|
||||
j j
|
||||
k K
|
||||
k k
|
||||
l L
|
||||
l l
|
||||
m M
|
||||
m m
|
||||
n N
|
||||
n n
|
||||
o O
|
||||
o o
|
||||
p P
|
||||
p p
|
||||
q Q
|
||||
q q
|
||||
r R
|
||||
r r
|
||||
s S
|
||||
s s
|
||||
t T
|
||||
t t
|
||||
u U
|
||||
u u
|
||||
v V
|
||||
v V
|
||||
v v
|
||||
v v
|
||||
v v
|
||||
v v
|
||||
w W
|
||||
w w
|
||||
x X
|
||||
x x
|
||||
y Y
|
||||
y y
|
||||
z Z
|
||||
z z
|
||||
{ {
|
||||
| |
|
||||
} }
|
||||
~ ~
|
||||
drop table t1;
|
||||
End of 5.0 tests.
|
||||
@@ -187,6 +187,14 @@ select * from t1 where a=_latin1'
|
||||
ERROR HY000: Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='
|
||||
drop table t1;
|
||||
set names latin1;
|
||||
set names ascii;
|
||||
create table t1 (a char(1) character set latin1);
|
||||
insert into t1 values ('a');
|
||||
select * from t1 where a='a';
|
||||
a
|
||||
a
|
||||
drop table t1;
|
||||
set names latin1;
|
||||
create table t1 (a char(10) character set utf8 collate utf8_bin);
|
||||
insert into t1 values (' xxx');
|
||||
select * from t1 where a=lpad('xxx',10,' ');
|
||||
|
||||
@@ -80,7 +80,7 @@ select STR_TO_DATE('2004.12.12 22.30.61','%Y.%m.%d %T');
|
||||
STR_TO_DATE('2004.12.12 22.30.61','%Y.%m.%d %T')
|
||||
NULL
|
||||
Warnings:
|
||||
Error 1411 Incorrect time value: '22.30.61' for function str_to_time
|
||||
Error 1411 Incorrect time value: '22.30.61' for function str_to_date
|
||||
create table t1 (date char(30), format char(30) not null);
|
||||
insert into t1 values
|
||||
('2003-01-02 10:11:12', '%Y-%m-%d %H:%i:%S'),
|
||||
@@ -352,21 +352,21 @@ Tuesday 52 2001 %W %u %x NULL
|
||||
7 53 1998 %w %u %Y NULL
|
||||
NULL %m.%d.%Y NULL
|
||||
Warnings:
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12.123456' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AM' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AN' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '10:20:10AM' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '15 Septembei 2001' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '15 Ju 2001' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: 'Sund 15 MA' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: 'Thursdai 12 1998' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: 'Sunday 01 2001' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '7 53 1998' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12.123456' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AM' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AN' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '10:20:10AM' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '15 Septembei 2001' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '15 Ju 2001' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: 'Sund 15 MA' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: 'Thursdai 12 1998' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: 'Sunday 01 2001' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '7 53 1998' for function str_to_date
|
||||
select date,format,concat(str_to_date(date, format),'') as con from t1;
|
||||
date format con
|
||||
2003-01-02 10:11:12 PM %Y-%m-%d %H:%i:%S %p NULL
|
||||
@@ -386,21 +386,21 @@ Tuesday 52 2001 %W %u %x NULL
|
||||
7 53 1998 %w %u %Y NULL
|
||||
NULL %m.%d.%Y NULL
|
||||
Warnings:
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12.123456' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AM' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AN' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '10:20:10AM' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '15 Septembei 2001' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '15 Ju 2001' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: 'Sund 15 MA' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: 'Thursdai 12 1998' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: 'Sunday 01 2001' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '7 53 1998' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12.123456' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AM' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12AN' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '2003-01-02 10:11:12 PM' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '10:20:10AM' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '15 Septembei 2001' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '15 Ju 2001' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: 'Sund 15 MA' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: 'Thursdai 12 1998' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: 'Sunday 01 2001' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: 'Tuesday 52 2001' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '7 53 1998' for function str_to_date
|
||||
truncate table t1;
|
||||
insert into t1 values
|
||||
('10:20:10AM', '%h:%i:%s'),
|
||||
@@ -440,7 +440,7 @@ select str_to_date('15-01-2001 12:59:59', GET_FORMAT(DATE,'USA'));
|
||||
str_to_date('15-01-2001 12:59:59', GET_FORMAT(DATE,'USA'))
|
||||
NULL
|
||||
Warnings:
|
||||
Error 1411 Incorrect datetime value: '15-01-2001 12:59:59' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '15-01-2001 12:59:59' for function str_to_date
|
||||
explain extended select makedate(1997,1), addtime("31.12.97 11.59.59.999999 PM", "1 1.1.1.000002"),subtime("31.12.97 11.59.59.999999 PM", "1 1.1.1.000002"),timediff("01.01.97 11:59:59.000001 PM","31.12.95 11:59:59.000002 PM"),cast(str_to_date("15-01-2001 12:59:59", "%d-%m-%Y %H:%i:%S") as TIME), maketime(23,11,12),microsecond("1997-12-31 23:59:59.000001");
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
|
||||
@@ -112,3 +112,14 @@ id x
|
||||
commit;
|
||||
# Switch to connection default + disconnect con1 and con2
|
||||
drop table t1, t2;
|
||||
End of 4.1 tests
|
||||
set storage_engine=innodb;
|
||||
drop table if exists a;
|
||||
drop table if exists A;
|
||||
create table A (c int);
|
||||
insert into A (c) values (0);
|
||||
create table a as select * from A;
|
||||
drop table A;
|
||||
drop table if exists a;
|
||||
set storage_engine=default;
|
||||
End of 5.0 tests.
|
||||
|
||||
@@ -209,16 +209,16 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL PRIMARY 4 NULL 4 Using index
|
||||
explain SELECT distinct t1.a from t1 order by a desc limit 1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL PRIMARY 4 NULL 4 Using index
|
||||
1 SIMPLE t1 index NULL PRIMARY 4 NULL 1 Using index
|
||||
explain SELECT distinct a from t3 order by a desc limit 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t3 index NULL a 5 NULL 204 Using index
|
||||
1 SIMPLE t3 index NULL a 5 NULL 40 Using index
|
||||
explain SELECT distinct a,b from t3 order by a+1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t3 ALL NULL NULL NULL NULL 204 Using temporary; Using filesort
|
||||
explain SELECT distinct a,b from t3 order by a limit 10;
|
||||
explain SELECT distinct a,b from t3 order by a limit 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t3 index NULL a 5 NULL 204 Using temporary
|
||||
1 SIMPLE t3 index NULL a 5 NULL 2 Using temporary
|
||||
explain SELECT a,b from t3 group by a,b order by a+1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t3 ALL NULL NULL NULL NULL 204 Using temporary; Using filesort
|
||||
|
||||
@@ -154,7 +154,7 @@ teststring
|
||||
teststring
|
||||
explain select * from t1 order by text1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL key1 34 NULL 3
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using filesort
|
||||
alter table t1 modify text1 char(32) binary not null;
|
||||
select * from t1 order by text1;
|
||||
text1
|
||||
|
||||
@@ -454,8 +454,11 @@ create event закачка on schedule every 10 hour do select get_lock("test_l
|
||||
select definer, name, db from mysql.event;
|
||||
definer name db
|
||||
root@localhost закачка events_test
|
||||
"Should be only 1 process"
|
||||
select /*1*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
|
||||
"Should be only 0 process"
|
||||
select /*1*/ user, host, db, command, state, info
|
||||
from information_schema.processlist
|
||||
where (user='event_scheduler')
|
||||
order by info;
|
||||
user host db command state info
|
||||
select release_lock("test_lock1");
|
||||
release_lock("test_lock1")
|
||||
@@ -472,14 +475,15 @@ get_lock("test_lock2", 20)
|
||||
1
|
||||
"Create an event which tries to acquire a mutex. The event locks on the mutex"
|
||||
create event закачка on schedule every 10 hour do select get_lock("test_lock2", 20);
|
||||
"Let some time pass to the event starts"
|
||||
"Should have only 2 processes: the scheduler and the locked event"
|
||||
select /*2*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
|
||||
select /*2*/ user, host, db, command, state, info
|
||||
from information_schema.processlist
|
||||
where (info like "select get_lock%" OR user='event_scheduler')
|
||||
order by info;
|
||||
user host db command state info
|
||||
event_scheduler localhost NULL Daemon Waiting for next activation NULL
|
||||
root localhost events_test Connect User lock select get_lock("test_lock2", 20)
|
||||
"Release the mutex, the event worker should finish."
|
||||
"Release the mutex, the event worker should finish."
|
||||
select release_lock("test_lock2");
|
||||
release_lock("test_lock2")
|
||||
1
|
||||
@@ -489,16 +493,25 @@ select get_lock("test_lock2_1", 20);
|
||||
get_lock("test_lock2_1", 20)
|
||||
1
|
||||
create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20);
|
||||
"Should have only 3 processes: the scheduler, our conn and the locked event"
|
||||
select /*3*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
|
||||
"Should have only 2 processes: the scheduler and the locked event"
|
||||
select /*3*/ user, host, db, command, state, info
|
||||
from information_schema.processlist
|
||||
where (info like "select get_lock%" OR user='event_scheduler')
|
||||
order by info;
|
||||
user host db command state info
|
||||
event_scheduler localhost NULL Daemon Waiting for next activation NULL
|
||||
root localhost events_test Connect User lock select get_lock("test_lock2_1", 20)
|
||||
set global event_scheduler=off;
|
||||
"Should have only our process now:"
|
||||
select /*4*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
|
||||
select /*4*/ user, host, db, command, state, info
|
||||
from information_schema.processlist
|
||||
where (info like "select get_lock%" OR user='event_scheduler')
|
||||
order by info;
|
||||
user host db command state info
|
||||
root localhost events_test Connect User lock select get_lock("test_lock2_1", 20)
|
||||
select release_lock("test_lock2_1");
|
||||
release_lock("test_lock2_1")
|
||||
1
|
||||
drop event закачка21;
|
||||
create table t_16 (s1 int);
|
||||
create trigger t_16_bi before insert on t_16 for each row create event e_16 on schedule every 1 second do set @a=5;
|
||||
|
||||
@@ -31,7 +31,7 @@ create event e_55 on schedule at 10000101000000 do drop table t;
|
||||
ERROR HY000: Incorrect AT value: '10000101000000'
|
||||
create event e_55 on schedule at 20000101000000 do drop table t;
|
||||
Warnings:
|
||||
Note 1585 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
|
||||
Note 1586 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
|
||||
show events;
|
||||
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
|
||||
create event e_55 on schedule at 20200101000000 starts 10000101000000 do drop table t;
|
||||
@@ -457,22 +457,22 @@ CREATE EVENT e4 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
|
||||
DO
|
||||
SELECT 1;
|
||||
Warnings:
|
||||
Note 1585 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
|
||||
Note 1586 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
|
||||
CREATE EVENT e4 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
|
||||
ENDS '1999-01-02 00:00:00' DISABLE
|
||||
DO
|
||||
SELECT 1;
|
||||
Warnings:
|
||||
Note 1585 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
|
||||
Note 1586 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
|
||||
CREATE EVENT e4 ON SCHEDULE AT '1999-01-01 00:00:00' DO
|
||||
SELECT 1;
|
||||
Warnings:
|
||||
Note 1585 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
|
||||
Note 1586 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
|
||||
CREATE EVENT e4 ON SCHEDULE AT '1999-01-01 00:00:00' DISABLE
|
||||
DO
|
||||
SELECT 1;
|
||||
Warnings:
|
||||
Note 1585 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
|
||||
Note 1586 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.
|
||||
SHOW EVENTS;
|
||||
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
|
||||
events_test e1 root@localhost +05:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
@@ -482,19 +482,19 @@ The following should succeed giving a warning.
|
||||
ALTER EVENT e1 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
|
||||
ENDS '1999-01-02 00:00:00' ON COMPLETION PRESERVE;
|
||||
Warnings:
|
||||
Note 1541 Event execution time is in the past. Event has been disabled
|
||||
Note 1542 Event execution time is in the past. Event has been disabled
|
||||
CREATE EVENT e4 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
|
||||
ENDS '1999-01-02 00:00:00' ON COMPLETION PRESERVE
|
||||
DO
|
||||
SELECT 1;
|
||||
Warnings:
|
||||
Note 1541 Event execution time is in the past. Event has been disabled
|
||||
Note 1542 Event execution time is in the past. Event has been disabled
|
||||
CREATE EVENT e5 ON SCHEDULE AT '1999-01-01 00:00:00'
|
||||
ON COMPLETION PRESERVE
|
||||
DO
|
||||
SELECT 1;
|
||||
Warnings:
|
||||
Note 1541 Event execution time is in the past. Event has been disabled
|
||||
Note 1542 Event execution time is in the past. Event has been disabled
|
||||
The following should succeed without warnings.
|
||||
ALTER EVENT e2 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00';
|
||||
ALTER EVENT e3 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
|
||||
|
||||
@@ -52,7 +52,8 @@ do select 'events_logs_test' as inside_event, sleep(1.5);
|
||||
|
||||
Nothing should be logged
|
||||
|
||||
select user_host, db, sql_text from mysql.slow_log where sql_text not like 'create event%';
|
||||
select user_host, db, sql_text from mysql.slow_log
|
||||
where sql_text like 'select \'events_logs_test\'%';
|
||||
user_host db sql_text
|
||||
set @@global.long_query_time=1;
|
||||
truncate mysql.slow_log;
|
||||
@@ -61,7 +62,8 @@ do select 'events_logs_test' as inside_event, sleep(1.5);
|
||||
|
||||
Event sub-statement should be logged.
|
||||
|
||||
select user_host, db, sql_text from mysql.slow_log where sql_text not like 'create event%';
|
||||
select user_host, db, sql_text from mysql.slow_log
|
||||
where sql_text like 'select \'events_logs_test\'%';
|
||||
user_host db sql_text
|
||||
USER_HOST events_test select 'events_logs_test' as inside_event, sleep(1.5)
|
||||
drop database events_test;
|
||||
|
||||
@@ -63,7 +63,7 @@ begin work;
|
||||
insert into t1 (a) values ("OK: create event if not exists");
|
||||
create event if not exists e1 on schedule every 2 day do select 2;
|
||||
Warnings:
|
||||
Note 1534 Event 'e1' already exists
|
||||
Note 1535 Event 'e1' already exists
|
||||
rollback work;
|
||||
select * from t1;
|
||||
a
|
||||
|
||||
@@ -1161,7 +1161,7 @@ CREATE TABLE t2 (a INT, b INT, KEY(a));
|
||||
INSERT INTO t2 VALUES (1, 1), (2, 2), (3,3), (4,4);
|
||||
EXPLAIN SELECT a, SUM(b) FROM t2 GROUP BY a LIMIT 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index NULL a 5 NULL 4
|
||||
1 SIMPLE t2 index NULL a 5 NULL 2
|
||||
EXPLAIN SELECT a, SUM(b) FROM t2 IGNORE INDEX (a) GROUP BY a LIMIT 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 4 Using temporary; Using filesort
|
||||
|
||||
@@ -1963,20 +1963,20 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 128 Using temporary; Using filesort
|
||||
explain select a1,a2,count(a2) from t1 group by a1,a2,b;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL idx_t1_1 163 NULL 128 Using index
|
||||
1 SIMPLE t1 index NULL idx_t1_2 147 NULL 128 Using index
|
||||
explain extended select a1,a2,count(a2) from t1 where (a1 > 'a') group by a1,a2,b;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_1 163 NULL 128 75.00 Using where; Using index
|
||||
1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_2 147 NULL 128 75.00 Using where; Using index
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,count(`test`.`t1`.`a2`) AS `count(a2)` from `test`.`t1` where (`test`.`t1`.`a1` > _latin1'a') group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`
|
||||
explain extended select sum(ord(a1)) from t1 where (a1 > 'a') group by a1,a2,b;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_1 163 NULL 128 75.00 Using where; Using index
|
||||
1 SIMPLE t1 index idx_t1_0,idx_t1_1,idx_t1_2 idx_t1_2 147 NULL 128 75.00 Using where; Using index
|
||||
Warnings:
|
||||
Note 1003 select sum(ord(`test`.`t1`.`a1`)) AS `sum(ord(a1))` from `test`.`t1` where (`test`.`t1`.`a1` > _latin1'a') group by `test`.`t1`.`a1`,`test`.`t1`.`a2`,`test`.`t1`.`b`
|
||||
explain select distinct(a1) from t1 where ord(a2) = 98;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL idx_t1_1 163 NULL 128 Using where; Using index
|
||||
1 SIMPLE t1 index NULL idx_t1_2 147 NULL 128 Using where; Using index
|
||||
select distinct(a1) from t1 where ord(a2) = 98;
|
||||
a1
|
||||
a
|
||||
@@ -2256,7 +2256,7 @@ EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE
|
||||
a IN (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1_outer index NULL a 10 NULL 15 Using where; Using index
|
||||
2 DEPENDENT SUBQUERY t1 index NULL a 10 NULL 15 Using index
|
||||
2 DEPENDENT SUBQUERY t1 index NULL a 10 NULL 1 Using index
|
||||
EXPLAIN SELECT 1 FROM t1 AS t1_outer GROUP BY a HAVING
|
||||
a > (SELECT max(b) FROM t1 GROUP BY a HAVING a < 2);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
|
||||
@@ -515,3 +515,23 @@ ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
drop table if exists t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
drop table if exists t1;
|
||||
create table t1 (a int) ENGINE=MEMORY;
|
||||
--> client 2
|
||||
handler t1 open;
|
||||
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||
--> client 1
|
||||
drop table t1;
|
||||
drop table if exists t1;
|
||||
create table t1 (a int);
|
||||
handler t1 open as t1_alias;
|
||||
handler t1_alias read a next;
|
||||
ERROR 42000: Key 'a' doesn't exist in table 't1_alias'
|
||||
handler t1_alias READ a next where inexistent > 0;
|
||||
ERROR 42S22: Unknown column 'inexistent' in 'field list'
|
||||
handler t1_alias read a next;
|
||||
ERROR 42000: Key 'a' doesn't exist in table 't1_alias'
|
||||
handler t1_alias READ a next where inexistent > 0;
|
||||
ERROR 42S22: Unknown column 'inexistent' in 'field list'
|
||||
handler t1_alias close;
|
||||
drop table t1;
|
||||
|
||||
@@ -515,3 +515,23 @@ ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
drop table if exists t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
drop table if exists t1;
|
||||
create table t1 (a int) ENGINE=MEMORY;
|
||||
--> client 2
|
||||
handler t1 open;
|
||||
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||
--> client 1
|
||||
drop table t1;
|
||||
drop table if exists t1;
|
||||
create table t1 (a int);
|
||||
handler t1 open as t1_alias;
|
||||
handler t1_alias read a next;
|
||||
ERROR 42000: Key 'a' doesn't exist in table 't1_alias'
|
||||
handler t1_alias READ a next where inexistent > 0;
|
||||
ERROR 42S22: Unknown column 'inexistent' in 'field list'
|
||||
handler t1_alias read a next;
|
||||
ERROR 42000: Key 'a' doesn't exist in table 't1_alias'
|
||||
handler t1_alias READ a next where inexistent > 0;
|
||||
ERROR 42S22: Unknown column 'inexistent' in 'field list'
|
||||
handler t1_alias close;
|
||||
drop table t1;
|
||||
|
||||
@@ -196,7 +196,6 @@ t1 a select
|
||||
show columns from mysqltest.t1;
|
||||
Field Type Null Key Default Extra
|
||||
a int(11) YES NULL
|
||||
b varchar(30) YES MUL NULL
|
||||
select table_name, column_name, privileges from information_schema.columns
|
||||
where table_schema = 'mysqltest' and table_name = 'v1';
|
||||
table_name column_name privileges
|
||||
@@ -1410,6 +1409,31 @@ alter database;
|
||||
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 '' at line 1
|
||||
alter database test;
|
||||
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 '' at line 1
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1(a int, b int, c int);
|
||||
create trigger mysqltest.t1_ai after insert on mysqltest.t1
|
||||
for each row set @a = new.a + new.b + new.c;
|
||||
grant select(b) on mysqltest.t1 to mysqltest_1@localhost;
|
||||
select trigger_name from information_schema.triggers
|
||||
where event_object_table='t1';
|
||||
trigger_name
|
||||
t1_ai
|
||||
show triggers from mysqltest;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
t1_ai INSERT t1 set @a = new.a + new.b + new.c AFTER NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
show columns from t1;
|
||||
Field Type Null Key Default Extra
|
||||
b int(11) YES NULL
|
||||
select column_name from information_schema.columns where table_name='t1';
|
||||
column_name
|
||||
b
|
||||
show triggers;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
select trigger_name from information_schema.triggers
|
||||
where event_object_table='t1';
|
||||
trigger_name
|
||||
drop user mysqltest_1@localhost;
|
||||
drop database mysqltest;
|
||||
End of 5.0 tests.
|
||||
select * from information_schema.engines WHERE ENGINE="MyISAM";
|
||||
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
|
||||
|
||||
@@ -151,13 +151,11 @@ create view v2 as select f1 from testdb_1.v1;
|
||||
create view v4 as select f1,f2 from testdb_1.v3;
|
||||
show fields from testdb_1.v5;
|
||||
Field Type Null Key Default Extra
|
||||
f1 char(4) YES NULL
|
||||
show create view testdb_1.v5;
|
||||
View Create View character_set_client collation_connection
|
||||
v5 CREATE ALGORITHM=UNDEFINED DEFINER=`testdb_1`@`localhost` SQL SECURITY DEFINER VIEW `testdb_1`.`v5` AS select `testdb_1`.`t1`.`f1` AS `f1` from `testdb_1`.`t1` latin1 latin1_swedish_ci
|
||||
show fields from testdb_1.v6;
|
||||
Field Type Null Key Default Extra
|
||||
f1 char(4) YES NULL
|
||||
show create view testdb_1.v6;
|
||||
View Create View character_set_client collation_connection
|
||||
v6 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `testdb_1`.`v6` AS select `testdb_1`.`t1`.`f1` AS `f1` from `testdb_1`.`t1` latin1 latin1_swedish_ci
|
||||
|
||||
@@ -947,7 +947,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL PRIMARY 4 NULL #
|
||||
explain select * from t1 order by b;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL b 4 NULL #
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using filesort
|
||||
explain select * from t1 order by c;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using filesort
|
||||
@@ -1086,39 +1086,6 @@ n d
|
||||
1 30
|
||||
2 20
|
||||
drop table t1,t2;
|
||||
CREATE TABLE `t1` (
|
||||
`a` int(11) NOT NULL auto_increment,
|
||||
`b` int(11) default NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
|
||||
CREATE TABLE `t2` (
|
||||
`a` int(11) NOT NULL auto_increment,
|
||||
`b` int(11) default NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=INNODB DEFAULT CHARSET=latin1 ;
|
||||
insert into t1 values (1,1),(2,2);
|
||||
insert into t2 values (1,1),(4,4);
|
||||
reset master;
|
||||
UPDATE t2,t1 SET t2.a=t1.a+2;
|
||||
ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
|
||||
select * from t2 /* must be (3,1), (4,4) */;
|
||||
a b
|
||||
1 1
|
||||
4 4
|
||||
show master status /* there must no UPDATE in binlog */;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 106
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
insert into t1 values (1,2),(3,4),(4,4);
|
||||
insert into t2 values (1,2),(3,4),(4,4);
|
||||
reset master;
|
||||
UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
|
||||
ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
|
||||
show master status /* there must be no UPDATE query event */;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 106
|
||||
drop table t1, t2;
|
||||
create table t1 (a int, b int) engine=innodb;
|
||||
insert into t1 values(20,null);
|
||||
select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
|
||||
@@ -1784,13 +1751,13 @@ Variable_name Value
|
||||
Innodb_page_size 16384
|
||||
show status like "Innodb_rows_deleted";
|
||||
Variable_name Value
|
||||
Innodb_rows_deleted 72
|
||||
Innodb_rows_deleted 70
|
||||
show status like "Innodb_rows_inserted";
|
||||
Variable_name Value
|
||||
Innodb_rows_inserted 1088
|
||||
Innodb_rows_inserted 1083
|
||||
show status like "Innodb_rows_updated";
|
||||
Variable_name Value
|
||||
Innodb_rows_updated 888
|
||||
Innodb_rows_updated 886
|
||||
show status like "Innodb_row_lock_waits";
|
||||
Variable_name Value
|
||||
Innodb_row_lock_waits 0
|
||||
|
||||
@@ -879,13 +879,13 @@ EXPLAIN SELECT * FROM t1 WHERE b BETWEEN 1 AND 2 ORDER BY a;
|
||||
id 1
|
||||
select_type SIMPLE
|
||||
table t1
|
||||
type range
|
||||
type index
|
||||
possible_keys bkey
|
||||
key bkey
|
||||
key_len 5
|
||||
key PRIMARY
|
||||
key_len 4
|
||||
ref NULL
|
||||
rows 16
|
||||
Extra Using where; Using index; Using filesort
|
||||
rows 32
|
||||
Extra Using where
|
||||
SELECT * FROM t1 WHERE b BETWEEN 1 AND 2 ORDER BY a;
|
||||
a b
|
||||
1 2
|
||||
@@ -974,13 +974,13 @@ EXPLAIN SELECT * FROM t2 WHERE b=1 ORDER BY a;
|
||||
id 1
|
||||
select_type SIMPLE
|
||||
table t2
|
||||
type ref
|
||||
type index
|
||||
possible_keys bkey
|
||||
key bkey
|
||||
key_len 5
|
||||
ref const
|
||||
rows 8
|
||||
Extra Using where; Using index; Using filesort
|
||||
key PRIMARY
|
||||
key_len 4
|
||||
ref NULL
|
||||
rows 16
|
||||
Extra Using where; Using index
|
||||
SELECT * FROM t2 WHERE b=1 ORDER BY a;
|
||||
a b c
|
||||
1 1 1
|
||||
@@ -1123,6 +1123,24 @@ t1 CREATE TABLE `t1` (
|
||||
KEY `a` (`a`(255))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
a INT,
|
||||
b INT,
|
||||
KEY (b)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1,10), (2,10), (2,20), (3,30);
|
||||
START TRANSACTION;
|
||||
SELECT * FROM t1 WHERE b=20 FOR UPDATE;
|
||||
a b
|
||||
2 20
|
||||
START TRANSACTION;
|
||||
SELECT * FROM t1 WHERE b=10 ORDER BY A FOR UPDATE;
|
||||
a b
|
||||
1 10
|
||||
2 10
|
||||
ROLLBACK;
|
||||
ROLLBACK;
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
CREATE TABLE `t2` (
|
||||
`k` int(11) NOT NULL auto_increment,
|
||||
|
||||
@@ -105,3 +105,22 @@ DROP VIEW view_target2;
|
||||
DROP VIEW view_target3;
|
||||
DROP USER user20989@localhost;
|
||||
DROP DATABASE meow;
|
||||
connection: default
|
||||
set low_priority_updates=1;
|
||||
drop table if exists t1;
|
||||
create table t1 (a int, b int, unique key t1$a (a));
|
||||
lock table t1 read;
|
||||
connection: update
|
||||
set low_priority_updates=1;
|
||||
show variables like 'low_priority_updates';
|
||||
Variable_name Value
|
||||
low_priority_updates ON
|
||||
insert into t1 values (1, 2) ON DUPLICATE KEY UPDATE b = 2;;
|
||||
connection: select
|
||||
select * from t1;
|
||||
a b
|
||||
connection: default
|
||||
select * from t1;
|
||||
a b
|
||||
drop table t1;
|
||||
set low_priority_updates=default;
|
||||
|
||||
@@ -106,4 +106,11 @@ i
|
||||
ERROR 70100: Query execution was interrupted
|
||||
unlock tables;
|
||||
drop table t1;
|
||||
drop table if exists t1;
|
||||
create table t1 (a int) ENGINE=MEMORY;
|
||||
--> client 2
|
||||
handler t1 open;
|
||||
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||
--> client 1
|
||||
drop table t1;
|
||||
End of 5.1 tests
|
||||
|
||||
@@ -86,7 +86,7 @@ a b
|
||||
19 Testing
|
||||
explain select a from t3 order by a desc limit 10;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t3 index NULL a 4 NULL 1131 Using index
|
||||
1 SIMPLE t3 index NULL a 4 NULL 10 Using index
|
||||
select a from t3 order by a desc limit 10;
|
||||
a
|
||||
699
|
||||
|
||||
@@ -176,5 +176,7 @@ ERROR at line 1: DELIMITER cannot contain a backslash character
|
||||
ERROR at line 1: DELIMITER cannot contain a backslash character
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
End of 5.0 tests
|
||||
WARNING: --server-arg option not supported in this configuration.
|
||||
|
||||
@@ -3,7 +3,9 @@ mysql.columns_priv OK
|
||||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log OK
|
||||
mysql.general_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
@@ -14,7 +16,9 @@ mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.slow_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
@@ -29,7 +33,9 @@ mysql.columns_priv OK
|
||||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log OK
|
||||
mysql.general_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
@@ -40,7 +46,9 @@ mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.slow_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
@@ -55,7 +63,9 @@ mysql.columns_priv OK
|
||||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log OK
|
||||
mysql.general_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
@@ -66,7 +76,9 @@ mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.slow_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
@@ -83,7 +95,9 @@ mysql.columns_priv OK
|
||||
mysql.db OK
|
||||
mysql.event OK
|
||||
mysql.func OK
|
||||
mysql.general_log OK
|
||||
mysql.general_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.help_category OK
|
||||
mysql.help_keyword OK
|
||||
mysql.help_relation OK
|
||||
@@ -94,7 +108,9 @@ mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.slow_log
|
||||
Error : You can't use locks with log tables.
|
||||
status : OK
|
||||
mysql.tables_priv OK
|
||||
mysql.time_zone OK
|
||||
mysql.time_zone_leap_second OK
|
||||
|
||||
@@ -18,7 +18,11 @@ insert into t1 values(null, "f");
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Start: binlog v #, server v ## created {yymmdd} {HH:MM:SS} at startup
|
||||
ROLLBACK/*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
|
||||
use test/*!*/;
|
||||
SET TIMESTAMP=1579609942/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/;
|
||||
@@ -26,21 +30,43 @@ SET @@session.sql_mode=0/*!*/;
|
||||
/*!\C latin1 *//*!*/;
|
||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||
create table t1 (a int auto_increment not null primary key, b char(3))/*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
|
||||
SET INSERT_ID=1/*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
|
||||
SET TIMESTAMP=1579609942/*!*/;
|
||||
insert into t1 values(null, "a")/*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
|
||||
SET INSERT_ID=2/*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
|
||||
SET TIMESTAMP=1579609942/*!*/;
|
||||
insert into t1 values(null, "b")/*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
|
||||
SET INSERT_ID=3/*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
|
||||
SET TIMESTAMP=1579609944/*!*/;
|
||||
insert into t1 values(null, "c")/*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
|
||||
SET INSERT_ID=4/*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
|
||||
SET TIMESTAMP=1579609946/*!*/;
|
||||
insert into t1 values(null, "d")/*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Intvar
|
||||
SET INSERT_ID=5/*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Query thread_id={integer} exec_time={integer} error_code=0
|
||||
SET TIMESTAMP=1579609946/*!*/;
|
||||
insert into t1 values(null, "e")/*!*/;
|
||||
# at {pos}
|
||||
#{yymmdd} {HH:MM:SS} server id 1 end_log_pos {pos} Rotate to master-bin.000002 pos: {pos}
|
||||
DELIMITER ;
|
||||
# End of log file
|
||||
ROLLBACK /* added by mysqlbinlog */;
|
||||
|
||||
@@ -129,7 +129,6 @@ INSERT INTO t1 VALUES (1, 'This is a test');
|
||||
insert into t2 values ('test', 'test2');
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
select * from t1;
|
||||
DROP SCHEMA IF EXISTS `mysqlslap`;
|
||||
DROP SCHEMA IF EXISTS `mysqlslap`;
|
||||
CREATE SCHEMA `mysqlslap`;
|
||||
@@ -141,7 +140,6 @@ INSERT INTO t1 VALUES (1, 'This is a test');
|
||||
insert into t2 values ('test', 'test2');
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
select * from t1;
|
||||
DROP SCHEMA IF EXISTS `mysqlslap`;
|
||||
DROP SCHEMA IF EXISTS `mysqlslap`;
|
||||
CREATE SCHEMA `mysqlslap`;
|
||||
@@ -153,6 +151,7 @@ INSERT INTO t1 VALUES (1, 'This is a test');
|
||||
insert into t2 values ('test', 'test2');
|
||||
SHOW TABLES;
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
SHOW TABLES;
|
||||
DROP SCHEMA IF EXISTS `mysqlslap`;
|
||||
DROP SCHEMA IF EXISTS `mysqlslap`;
|
||||
@@ -165,6 +164,7 @@ INSERT INTO t1 VALUES (1, 'This is a test');
|
||||
insert into t2 values ('test', 'test2');
|
||||
SHOW TABLES;
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
SHOW TABLES;
|
||||
DROP SCHEMA IF EXISTS `mysqlslap`;
|
||||
DROP SCHEMA IF EXISTS `mysqlslap`;
|
||||
|
||||
@@ -280,8 +280,20 @@ let $B = changed value of B;
|
||||
var2: content of variable 1
|
||||
var3: content of variable 1 content of variable 1
|
||||
length of var3 is longer than 0
|
||||
var1
|
||||
hi 1 hi there
|
||||
var2
|
||||
2
|
||||
var2 again
|
||||
2
|
||||
var3 two columns with same name
|
||||
1 2 3
|
||||
var4 from query that returns NULL
|
||||
var5 from query that returns no row
|
||||
failing query in let
|
||||
mysqltest: At line 1: Error running query 'failing query': 1064 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 'failing query' at line 1
|
||||
mysqltest: At line 1: Missing required argument 'filename' to command 'source'
|
||||
mysqltest: At line 1: Could not open file ./non_existingFile
|
||||
mysqltest: At line 1: Could not open file './non_existingFile'
|
||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql": At line 1: Source directives are nesting too deep
|
||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/error.sql": At line 1: query 'garbage ' failed: 1064: 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 'garbage' at line 1
|
||||
|
||||
@@ -340,6 +352,8 @@ here is the sourced script
|
||||
In loop
|
||||
here is the sourced script
|
||||
here is the sourced script
|
||||
"hello"
|
||||
"hello"
|
||||
mysqltest: At line 1: Missing argument to sleep
|
||||
mysqltest: At line 1: Missing argument to real_sleep
|
||||
mysqltest: At line 1: Invalid argument to sleep "abc"
|
||||
@@ -461,7 +475,6 @@ root@localhost
|
||||
--------------------------------------------------------------------------------
|
||||
this will be executed
|
||||
this will be executed
|
||||
mysqltest: Result length mismatch
|
||||
mysqltest: The test didn't produce any output
|
||||
Failing multi statement query
|
||||
mysqltest: At line 3: query 'create table t1 (a int primary key);
|
||||
@@ -473,6 +486,8 @@ mysqltest: At line 3: query 'create table t1 (a int primary key);
|
||||
insert into t1 values (1);
|
||||
select 'select-me';
|
||||
insertz 'error query'' failed: 1064: 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 'insertz 'error query'' at line 1
|
||||
|
||||
More results from queries before failure can be found in MYSQLTEST_VARDIR/log/bug11731.log
|
||||
drop table t1;
|
||||
Multi statement using expected error
|
||||
create table t1 (a int primary key);
|
||||
@@ -520,17 +535,19 @@ drop table t1;
|
||||
mysqltest: At line 1: Missing required argument 'filename' to command 'remove_file'
|
||||
mysqltest: At line 1: Missing required argument 'filename' to command 'write_file'
|
||||
mysqltest: At line 1: End of file encountered before 'EOF' delimiter was found
|
||||
Content for test_file1
|
||||
mysqltest: At line 1: File already exist: 'MYSQLTEST_VARDIR/tmp/test_file1.tmp'
|
||||
Some data
|
||||
for cat_file command
|
||||
of mysqltest
|
||||
mysqltest: At line 1: Failed to open file non_existing_file
|
||||
mysqltest: At line 1: Failed to open file 'non_existing_file'
|
||||
mysqltest: At line 1: Missing required argument 'filename' to command 'file_exists'
|
||||
mysqltest: At line 1: Missing required argument 'from_file' to command 'copy_file'
|
||||
mysqltest: At line 1: Missing required argument 'to_file' to command 'copy_file'
|
||||
mysqltest: At line 1: Missing required argument 'mode' to command 'chmod'
|
||||
mysqltest: At line 1: You must write a 4 digit octal number for mode
|
||||
mysqltest: At line 1: You must write a 4 digit octal number for mode
|
||||
mysqltest: At line 1: Missing required argument 'file' to command 'chmod'
|
||||
mysqltest: At line 1: Missing required argument 'filename' to command 'chmod'
|
||||
mysqltest: At line 1: You must write a 4 digit octal number for mode
|
||||
mysqltest: At line 1: You must write a 4 digit octal number for mode
|
||||
hello
|
||||
|
||||
@@ -1073,3 +1073,61 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 const PRIMARY,b b 5 const 1
|
||||
1 SIMPLE t2 ref a a 5 const 2 Using where; Using index
|
||||
DROP TABLE t1,t2;
|
||||
CREATE TABLE t1(
|
||||
id int auto_increment PRIMARY KEY, c2 int, c3 int, INDEX k2(c2), INDEX k3(c3));
|
||||
INSERT INTO t1 (c2,c3) VALUES
|
||||
(31,34),(35,38),(34,31),(32,35),(31,39),
|
||||
(11,14),(15,18),(14,11),(12,15),(11,19);
|
||||
INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
|
||||
INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
|
||||
INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
|
||||
INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
|
||||
INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
|
||||
INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
|
||||
INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
|
||||
INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
|
||||
INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
|
||||
INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
|
||||
INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
|
||||
INSERT INTO t1 (c2,c3) SELECT c2,c3 FROM t1;
|
||||
UPDATE t1 SET c2=20 WHERE id%100 = 0;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
40960
|
||||
CREATE TABLE t2 LIKE t1;
|
||||
INSERT INTO t2 SELECT * FROM t1 ORDER BY id;
|
||||
EXPLAIN SELECT id,c3 FROM t2 WHERE c2=11 ORDER BY c3 LIMIT 20;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index k2 k3 5 NULL 111 Using where
|
||||
EXPLAIN SELECT id,c3 FROM t2 WHERE c2=11 ORDER BY c3 LIMIT 4000;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 ref k2 k2 5 const 7341 Using where; Using filesort
|
||||
EXPLAIN SELECT id,c3 FROM t2 WHERE c2 BETWEEN 10 AND 12 ORDER BY c3 LIMIT 20;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index k2 k3 5 NULL 73 Using where
|
||||
EXPLAIN SELECT id,c3 FROM t2 WHERE c2 BETWEEN 20 AND 30 ORDER BY c3 LIMIT 4000;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 range k2 k2 5 NULL 386 Using where; Using filesort
|
||||
SELECT id,c3 FROM t2 WHERE c2=11 ORDER BY c3 LIMIT 20;
|
||||
id c3
|
||||
6 14
|
||||
16 14
|
||||
26 14
|
||||
36 14
|
||||
46 14
|
||||
56 14
|
||||
66 14
|
||||
76 14
|
||||
86 14
|
||||
96 14
|
||||
106 14
|
||||
116 14
|
||||
126 14
|
||||
136 14
|
||||
146 14
|
||||
156 14
|
||||
166 14
|
||||
176 14
|
||||
186 14
|
||||
196 14
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
@@ -273,6 +273,16 @@ create table VAR_SAMP(a int);
|
||||
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 'VAR_SAMP(a int)' at line 1
|
||||
create table VAR_SAMP (a int);
|
||||
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 'VAR_SAMP (a int)' at line 1
|
||||
DROP TABLE IF EXISTS table_25930_a;
|
||||
DROP TABLE IF EXISTS table_25930_b;
|
||||
SET SQL_MODE = 'ANSI_QUOTES';
|
||||
CREATE TABLE table_25930_a ( "blah" INT );
|
||||
CREATE TABLE table_25930_b SELECT "blah" - 1 FROM table_25930_a;
|
||||
desc table_25930_b;
|
||||
Field Type Null Key Default Extra
|
||||
"blah" - 1 bigint(12) YES NULL
|
||||
DROP TABLE table_25930_a;
|
||||
DROP TABLE table_25930_b;
|
||||
SET @@sql_mode=@save_sql_mode;
|
||||
select pi(3.14);
|
||||
ERROR 42000: Incorrect parameter count in the call to native function 'pi'
|
||||
|
||||
747
mysql-test/r/parser_precedence.result
Normal file
747
mysql-test/r/parser_precedence.result
Normal file
@@ -0,0 +1,747 @@
|
||||
drop table if exists t1_30237_bool;
|
||||
create table t1_30237_bool(A boolean, B boolean, C boolean);
|
||||
insert into t1_30237_bool values
|
||||
(FALSE, FALSE, FALSE),
|
||||
(FALSE, FALSE, NULL),
|
||||
(FALSE, FALSE, TRUE),
|
||||
(FALSE, NULL, FALSE),
|
||||
(FALSE, NULL, NULL),
|
||||
(FALSE, NULL, TRUE),
|
||||
(FALSE, TRUE, FALSE),
|
||||
(FALSE, TRUE, NULL),
|
||||
(FALSE, TRUE, TRUE),
|
||||
(NULL, FALSE, FALSE),
|
||||
(NULL, FALSE, NULL),
|
||||
(NULL, FALSE, TRUE),
|
||||
(NULL, NULL, FALSE),
|
||||
(NULL, NULL, NULL),
|
||||
(NULL, NULL, TRUE),
|
||||
(NULL, TRUE, FALSE),
|
||||
(NULL, TRUE, NULL),
|
||||
(NULL, TRUE, TRUE),
|
||||
(TRUE, FALSE, FALSE),
|
||||
(TRUE, FALSE, NULL),
|
||||
(TRUE, FALSE, TRUE),
|
||||
(TRUE, NULL, FALSE),
|
||||
(TRUE, NULL, NULL),
|
||||
(TRUE, NULL, TRUE),
|
||||
(TRUE, TRUE, FALSE),
|
||||
(TRUE, TRUE, NULL),
|
||||
(TRUE, TRUE, TRUE) ;
|
||||
Testing OR, XOR, AND
|
||||
select A, B, A OR B, A XOR B, A AND B
|
||||
from t1_30237_bool where C is null order by A, B;
|
||||
A B A OR B A XOR B A AND B
|
||||
NULL NULL NULL NULL NULL
|
||||
NULL 0 NULL NULL 0
|
||||
NULL 1 1 NULL NULL
|
||||
0 NULL NULL NULL 0
|
||||
0 0 0 0 0
|
||||
0 1 1 1 0
|
||||
1 NULL 1 NULL NULL
|
||||
1 0 1 1 0
|
||||
1 1 1 0 1
|
||||
Testing that OR is associative
|
||||
select A, B, C, (A OR B) OR C, A OR (B OR C), A OR B OR C
|
||||
from t1_30237_bool order by A, B, C;
|
||||
A B C (A OR B) OR C A OR (B OR C) A OR B OR C
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
NULL NULL 0 NULL NULL NULL
|
||||
NULL NULL 1 1 1 1
|
||||
NULL 0 NULL NULL NULL NULL
|
||||
NULL 0 0 NULL NULL NULL
|
||||
NULL 0 1 1 1 1
|
||||
NULL 1 NULL 1 1 1
|
||||
NULL 1 0 1 1 1
|
||||
NULL 1 1 1 1 1
|
||||
0 NULL NULL NULL NULL NULL
|
||||
0 NULL 0 NULL NULL NULL
|
||||
0 NULL 1 1 1 1
|
||||
0 0 NULL NULL NULL NULL
|
||||
0 0 0 0 0 0
|
||||
0 0 1 1 1 1
|
||||
0 1 NULL 1 1 1
|
||||
0 1 0 1 1 1
|
||||
0 1 1 1 1 1
|
||||
1 NULL NULL 1 1 1
|
||||
1 NULL 0 1 1 1
|
||||
1 NULL 1 1 1 1
|
||||
1 0 NULL 1 1 1
|
||||
1 0 0 1 1 1
|
||||
1 0 1 1 1 1
|
||||
1 1 NULL 1 1 1
|
||||
1 1 0 1 1 1
|
||||
1 1 1 1 1 1
|
||||
select count(*) from t1_30237_bool
|
||||
where ((A OR B) OR C) != (A OR (B OR C));
|
||||
count(*)
|
||||
0
|
||||
Testing that XOR is associative
|
||||
select A, B, C, (A XOR B) XOR C, A XOR (B XOR C), A XOR B XOR C
|
||||
from t1_30237_bool order by A, B, C;
|
||||
A B C (A XOR B) XOR C A XOR (B XOR C) A XOR B XOR C
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
NULL NULL 0 NULL NULL NULL
|
||||
NULL NULL 1 NULL NULL NULL
|
||||
NULL 0 NULL NULL NULL NULL
|
||||
NULL 0 0 NULL NULL NULL
|
||||
NULL 0 1 NULL NULL NULL
|
||||
NULL 1 NULL NULL NULL NULL
|
||||
NULL 1 0 NULL NULL NULL
|
||||
NULL 1 1 NULL NULL NULL
|
||||
0 NULL NULL NULL NULL NULL
|
||||
0 NULL 0 NULL NULL NULL
|
||||
0 NULL 1 NULL NULL NULL
|
||||
0 0 NULL NULL NULL NULL
|
||||
0 0 0 0 0 0
|
||||
0 0 1 1 1 1
|
||||
0 1 NULL NULL NULL NULL
|
||||
0 1 0 1 1 1
|
||||
0 1 1 0 0 0
|
||||
1 NULL NULL NULL NULL NULL
|
||||
1 NULL 0 NULL NULL NULL
|
||||
1 NULL 1 NULL NULL NULL
|
||||
1 0 NULL NULL NULL NULL
|
||||
1 0 0 1 1 1
|
||||
1 0 1 0 0 0
|
||||
1 1 NULL NULL NULL NULL
|
||||
1 1 0 0 0 0
|
||||
1 1 1 1 1 1
|
||||
select count(*) from t1_30237_bool
|
||||
where ((A XOR B) XOR C) != (A XOR (B XOR C));
|
||||
count(*)
|
||||
0
|
||||
Testing that AND is associative
|
||||
select A, B, C, (A AND B) AND C, A AND (B AND C), A AND B AND C
|
||||
from t1_30237_bool order by A, B, C;
|
||||
A B C (A AND B) AND C A AND (B AND C) A AND B AND C
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
NULL NULL 0 0 0 0
|
||||
NULL NULL 1 NULL NULL NULL
|
||||
NULL 0 NULL 0 0 0
|
||||
NULL 0 0 0 0 0
|
||||
NULL 0 1 0 0 0
|
||||
NULL 1 NULL NULL NULL NULL
|
||||
NULL 1 0 0 0 0
|
||||
NULL 1 1 NULL NULL NULL
|
||||
0 NULL NULL 0 0 0
|
||||
0 NULL 0 0 0 0
|
||||
0 NULL 1 0 0 0
|
||||
0 0 NULL 0 0 0
|
||||
0 0 0 0 0 0
|
||||
0 0 1 0 0 0
|
||||
0 1 NULL 0 0 0
|
||||
0 1 0 0 0 0
|
||||
0 1 1 0 0 0
|
||||
1 NULL NULL NULL NULL NULL
|
||||
1 NULL 0 0 0 0
|
||||
1 NULL 1 NULL NULL NULL
|
||||
1 0 NULL 0 0 0
|
||||
1 0 0 0 0 0
|
||||
1 0 1 0 0 0
|
||||
1 1 NULL NULL NULL NULL
|
||||
1 1 0 0 0 0
|
||||
1 1 1 1 1 1
|
||||
select count(*) from t1_30237_bool
|
||||
where ((A AND B) AND C) != (A AND (B AND C));
|
||||
count(*)
|
||||
0
|
||||
Testing that AND has precedence over OR
|
||||
select A, B, C, (A OR B) AND C, A OR (B AND C), A OR B AND C
|
||||
from t1_30237_bool order by A, B, C;
|
||||
A B C (A OR B) AND C A OR (B AND C) A OR B AND C
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
NULL NULL 0 0 NULL NULL
|
||||
NULL NULL 1 NULL NULL NULL
|
||||
NULL 0 NULL NULL NULL NULL
|
||||
NULL 0 0 0 NULL NULL
|
||||
NULL 0 1 NULL NULL NULL
|
||||
NULL 1 NULL NULL NULL NULL
|
||||
NULL 1 0 0 NULL NULL
|
||||
NULL 1 1 1 1 1
|
||||
0 NULL NULL NULL NULL NULL
|
||||
0 NULL 0 0 0 0
|
||||
0 NULL 1 NULL NULL NULL
|
||||
0 0 NULL 0 0 0
|
||||
0 0 0 0 0 0
|
||||
0 0 1 0 0 0
|
||||
0 1 NULL NULL NULL NULL
|
||||
0 1 0 0 0 0
|
||||
0 1 1 1 1 1
|
||||
1 NULL NULL NULL 1 1
|
||||
1 NULL 0 0 1 1
|
||||
1 NULL 1 1 1 1
|
||||
1 0 NULL NULL 1 1
|
||||
1 0 0 0 1 1
|
||||
1 0 1 1 1 1
|
||||
1 1 NULL NULL 1 1
|
||||
1 1 0 0 1 1
|
||||
1 1 1 1 1 1
|
||||
select count(*) from t1_30237_bool
|
||||
where (A OR (B AND C)) != (A OR B AND C);
|
||||
count(*)
|
||||
0
|
||||
select A, B, C, (A AND B) OR C, A AND (B OR C), A AND B OR C
|
||||
from t1_30237_bool order by A, B, C;
|
||||
A B C (A AND B) OR C A AND (B OR C) A AND B OR C
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
NULL NULL 0 NULL NULL NULL
|
||||
NULL NULL 1 1 NULL 1
|
||||
NULL 0 NULL NULL NULL NULL
|
||||
NULL 0 0 0 0 0
|
||||
NULL 0 1 1 NULL 1
|
||||
NULL 1 NULL NULL NULL NULL
|
||||
NULL 1 0 NULL NULL NULL
|
||||
NULL 1 1 1 NULL 1
|
||||
0 NULL NULL NULL 0 NULL
|
||||
0 NULL 0 0 0 0
|
||||
0 NULL 1 1 0 1
|
||||
0 0 NULL NULL 0 NULL
|
||||
0 0 0 0 0 0
|
||||
0 0 1 1 0 1
|
||||
0 1 NULL NULL 0 NULL
|
||||
0 1 0 0 0 0
|
||||
0 1 1 1 0 1
|
||||
1 NULL NULL NULL NULL NULL
|
||||
1 NULL 0 NULL NULL NULL
|
||||
1 NULL 1 1 1 1
|
||||
1 0 NULL NULL NULL NULL
|
||||
1 0 0 0 0 0
|
||||
1 0 1 1 1 1
|
||||
1 1 NULL 1 1 1
|
||||
1 1 0 1 1 1
|
||||
1 1 1 1 1 1
|
||||
select count(*) from t1_30237_bool
|
||||
where ((A AND B) OR C) != (A AND B OR C);
|
||||
count(*)
|
||||
0
|
||||
Testing that AND has precedence over XOR
|
||||
select A, B, C, (A XOR B) AND C, A XOR (B AND C), A XOR B AND C
|
||||
from t1_30237_bool order by A, B, C;
|
||||
A B C (A XOR B) AND C A XOR (B AND C) A XOR B AND C
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
NULL NULL 0 0 NULL NULL
|
||||
NULL NULL 1 NULL NULL NULL
|
||||
NULL 0 NULL NULL NULL NULL
|
||||
NULL 0 0 0 NULL NULL
|
||||
NULL 0 1 NULL NULL NULL
|
||||
NULL 1 NULL NULL NULL NULL
|
||||
NULL 1 0 0 NULL NULL
|
||||
NULL 1 1 NULL NULL NULL
|
||||
0 NULL NULL NULL NULL NULL
|
||||
0 NULL 0 0 0 0
|
||||
0 NULL 1 NULL NULL NULL
|
||||
0 0 NULL 0 0 0
|
||||
0 0 0 0 0 0
|
||||
0 0 1 0 0 0
|
||||
0 1 NULL NULL NULL NULL
|
||||
0 1 0 0 0 0
|
||||
0 1 1 1 1 1
|
||||
1 NULL NULL NULL NULL NULL
|
||||
1 NULL 0 0 1 1
|
||||
1 NULL 1 NULL NULL NULL
|
||||
1 0 NULL NULL 1 1
|
||||
1 0 0 0 1 1
|
||||
1 0 1 1 1 1
|
||||
1 1 NULL 0 NULL NULL
|
||||
1 1 0 0 1 1
|
||||
1 1 1 0 0 0
|
||||
select count(*) from t1_30237_bool
|
||||
where (A XOR (B AND C)) != (A XOR B AND C);
|
||||
count(*)
|
||||
0
|
||||
select A, B, C, (A AND B) XOR C, A AND (B XOR C), A AND B XOR C
|
||||
from t1_30237_bool order by A, B, C;
|
||||
A B C (A AND B) XOR C A AND (B XOR C) A AND B XOR C
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
NULL NULL 0 NULL NULL NULL
|
||||
NULL NULL 1 NULL NULL NULL
|
||||
NULL 0 NULL NULL NULL NULL
|
||||
NULL 0 0 0 0 0
|
||||
NULL 0 1 1 NULL 1
|
||||
NULL 1 NULL NULL NULL NULL
|
||||
NULL 1 0 NULL NULL NULL
|
||||
NULL 1 1 NULL 0 NULL
|
||||
0 NULL NULL NULL 0 NULL
|
||||
0 NULL 0 0 0 0
|
||||
0 NULL 1 1 0 1
|
||||
0 0 NULL NULL 0 NULL
|
||||
0 0 0 0 0 0
|
||||
0 0 1 1 0 1
|
||||
0 1 NULL NULL 0 NULL
|
||||
0 1 0 0 0 0
|
||||
0 1 1 1 0 1
|
||||
1 NULL NULL NULL NULL NULL
|
||||
1 NULL 0 NULL NULL NULL
|
||||
1 NULL 1 NULL NULL NULL
|
||||
1 0 NULL NULL NULL NULL
|
||||
1 0 0 0 0 0
|
||||
1 0 1 1 1 1
|
||||
1 1 NULL NULL NULL NULL
|
||||
1 1 0 1 1 1
|
||||
1 1 1 0 0 0
|
||||
select count(*) from t1_30237_bool
|
||||
where ((A AND B) XOR C) != (A AND B XOR C);
|
||||
count(*)
|
||||
0
|
||||
Testing that XOR has precedence over OR
|
||||
select A, B, C, (A XOR B) OR C, A XOR (B OR C), A XOR B OR C
|
||||
from t1_30237_bool order by A, B, C;
|
||||
A B C (A XOR B) OR C A XOR (B OR C) A XOR B OR C
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
NULL NULL 0 NULL NULL NULL
|
||||
NULL NULL 1 1 NULL 1
|
||||
NULL 0 NULL NULL NULL NULL
|
||||
NULL 0 0 NULL NULL NULL
|
||||
NULL 0 1 1 NULL 1
|
||||
NULL 1 NULL NULL NULL NULL
|
||||
NULL 1 0 NULL NULL NULL
|
||||
NULL 1 1 1 NULL 1
|
||||
0 NULL NULL NULL NULL NULL
|
||||
0 NULL 0 NULL NULL NULL
|
||||
0 NULL 1 1 1 1
|
||||
0 0 NULL NULL NULL NULL
|
||||
0 0 0 0 0 0
|
||||
0 0 1 1 1 1
|
||||
0 1 NULL 1 1 1
|
||||
0 1 0 1 1 1
|
||||
0 1 1 1 1 1
|
||||
1 NULL NULL NULL NULL NULL
|
||||
1 NULL 0 NULL NULL NULL
|
||||
1 NULL 1 1 0 1
|
||||
1 0 NULL 1 NULL 1
|
||||
1 0 0 1 1 1
|
||||
1 0 1 1 0 1
|
||||
1 1 NULL NULL 0 NULL
|
||||
1 1 0 0 0 0
|
||||
1 1 1 1 0 1
|
||||
select count(*) from t1_30237_bool
|
||||
where ((A XOR B) OR C) != (A XOR B OR C);
|
||||
count(*)
|
||||
0
|
||||
select A, B, C, (A OR B) XOR C, A OR (B XOR C), A OR B XOR C
|
||||
from t1_30237_bool order by A, B, C;
|
||||
A B C (A OR B) XOR C A OR (B XOR C) A OR B XOR C
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
NULL NULL 0 NULL NULL NULL
|
||||
NULL NULL 1 NULL NULL NULL
|
||||
NULL 0 NULL NULL NULL NULL
|
||||
NULL 0 0 NULL NULL NULL
|
||||
NULL 0 1 NULL 1 1
|
||||
NULL 1 NULL NULL NULL NULL
|
||||
NULL 1 0 1 1 1
|
||||
NULL 1 1 0 NULL NULL
|
||||
0 NULL NULL NULL NULL NULL
|
||||
0 NULL 0 NULL NULL NULL
|
||||
0 NULL 1 NULL NULL NULL
|
||||
0 0 NULL NULL NULL NULL
|
||||
0 0 0 0 0 0
|
||||
0 0 1 1 1 1
|
||||
0 1 NULL NULL NULL NULL
|
||||
0 1 0 1 1 1
|
||||
0 1 1 0 0 0
|
||||
1 NULL NULL NULL 1 1
|
||||
1 NULL 0 1 1 1
|
||||
1 NULL 1 0 1 1
|
||||
1 0 NULL NULL 1 1
|
||||
1 0 0 1 1 1
|
||||
1 0 1 0 1 1
|
||||
1 1 NULL NULL 1 1
|
||||
1 1 0 1 1 1
|
||||
1 1 1 0 1 1
|
||||
select count(*) from t1_30237_bool
|
||||
where (A OR (B XOR C)) != (A OR B XOR C);
|
||||
count(*)
|
||||
0
|
||||
drop table t1_30237_bool;
|
||||
Testing that NOT has precedence over OR
|
||||
select (NOT FALSE) OR TRUE, NOT (FALSE OR TRUE), NOT FALSE OR TRUE;
|
||||
(NOT FALSE) OR TRUE NOT (FALSE OR TRUE) NOT FALSE OR TRUE
|
||||
1 0 1
|
||||
Testing that NOT has precedence over XOR
|
||||
select (NOT FALSE) XOR FALSE, NOT (FALSE XOR FALSE), NOT FALSE XOR FALSE;
|
||||
(NOT FALSE) XOR FALSE NOT (FALSE XOR FALSE) NOT FALSE XOR FALSE
|
||||
1 1 1
|
||||
Testing that NOT has precedence over AND
|
||||
select (NOT FALSE) AND FALSE, NOT (FALSE AND FALSE), NOT FALSE AND FALSE;
|
||||
(NOT FALSE) AND FALSE NOT (FALSE AND FALSE) NOT FALSE AND FALSE
|
||||
0 1 0
|
||||
Testing that NOT is associative
|
||||
select NOT NOT TRUE, NOT NOT NOT FALSE;
|
||||
NOT NOT TRUE NOT NOT NOT FALSE
|
||||
1 1
|
||||
Testing that IS has precedence over NOT
|
||||
select (NOT NULL) IS TRUE, NOT (NULL IS TRUE), NOT NULL IS TRUE;
|
||||
(NOT NULL) IS TRUE NOT (NULL IS TRUE) NOT NULL IS TRUE
|
||||
0 1 1
|
||||
select (NOT NULL) IS NOT TRUE, NOT (NULL IS NOT TRUE), NOT NULL IS NOT TRUE;
|
||||
(NOT NULL) IS NOT TRUE NOT (NULL IS NOT TRUE) NOT NULL IS NOT TRUE
|
||||
1 0 0
|
||||
select (NOT NULL) IS FALSE, NOT (NULL IS FALSE), NOT NULL IS FALSE;
|
||||
(NOT NULL) IS FALSE NOT (NULL IS FALSE) NOT NULL IS FALSE
|
||||
0 1 1
|
||||
select (NOT NULL) IS NOT FALSE, NOT (NULL IS NOT FALSE), NOT NULL IS NOT FALSE;
|
||||
(NOT NULL) IS NOT FALSE NOT (NULL IS NOT FALSE) NOT NULL IS NOT FALSE
|
||||
1 0 0
|
||||
select (NOT TRUE) IS UNKNOWN, NOT (TRUE IS UNKNOWN), NOT TRUE IS UNKNOWN;
|
||||
(NOT TRUE) IS UNKNOWN NOT (TRUE IS UNKNOWN) NOT TRUE IS UNKNOWN
|
||||
0 1 1
|
||||
select (NOT TRUE) IS NOT UNKNOWN, NOT (TRUE IS NOT UNKNOWN), NOT TRUE IS NOT UNKNOWN;
|
||||
(NOT TRUE) IS NOT UNKNOWN NOT (TRUE IS NOT UNKNOWN) NOT TRUE IS NOT UNKNOWN
|
||||
1 0 0
|
||||
select (NOT TRUE) IS NULL, NOT (TRUE IS NULL), NOT TRUE IS NULL;
|
||||
(NOT TRUE) IS NULL NOT (TRUE IS NULL) NOT TRUE IS NULL
|
||||
0 1 1
|
||||
select (NOT TRUE) IS NOT NULL, NOT (TRUE IS NOT NULL), NOT TRUE IS NOT NULL;
|
||||
(NOT TRUE) IS NOT NULL NOT (TRUE IS NOT NULL) NOT TRUE IS NOT NULL
|
||||
1 0 0
|
||||
Testing that IS [NOT] TRUE/FALSE/UNKNOWN predicates are not associative
|
||||
select TRUE IS TRUE IS TRUE IS TRUE;
|
||||
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 'IS TRUE IS TRUE' at line 1
|
||||
select FALSE IS NOT TRUE IS NOT TRUE IS NOT TRUE;
|
||||
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 'IS NOT TRUE IS NOT TRUE' at line 1
|
||||
select NULL IS FALSE IS FALSE IS FALSE;
|
||||
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 'IS FALSE IS FALSE' at line 1
|
||||
select TRUE IS NOT FALSE IS NOT FALSE IS NOT FALSE;
|
||||
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 'IS NOT FALSE IS NOT FALSE' at line 1
|
||||
select FALSE IS UNKNOWN IS UNKNOWN IS UNKNOWN;
|
||||
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 'IS UNKNOWN IS UNKNOWN' at line 1
|
||||
select TRUE IS NOT UNKNOWN IS NOT UNKNOWN IS NOT UNKNOWN;
|
||||
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 'IS NOT UNKNOWN IS NOT UNKNOWN' at line 1
|
||||
Testing that IS [NOT] NULL predicates are associative
|
||||
select FALSE IS NULL IS NULL IS NULL;
|
||||
FALSE IS NULL IS NULL IS NULL
|
||||
0
|
||||
select TRUE IS NOT NULL IS NOT NULL IS NOT NULL;
|
||||
TRUE IS NOT NULL IS NOT NULL IS NOT NULL
|
||||
1
|
||||
Testing that comparison operators are left associative
|
||||
select 1 <=> 2 <=> 2, (1 <=> 2) <=> 2, 1 <=> (2 <=> 2);
|
||||
1 <=> 2 <=> 2 (1 <=> 2) <=> 2 1 <=> (2 <=> 2)
|
||||
0 0 1
|
||||
select 1 = 2 = 2, (1 = 2) = 2, 1 = (2 = 2);
|
||||
1 = 2 = 2 (1 = 2) = 2 1 = (2 = 2)
|
||||
0 0 1
|
||||
select 1 != 2 != 3, (1 != 2) != 3, 1 != (2 != 3);
|
||||
1 != 2 != 3 (1 != 2) != 3 1 != (2 != 3)
|
||||
1 1 0
|
||||
select 1 <> 2 <> 3, (1 <> 2) <> 3, 1 <> (2 <> 3);
|
||||
1 <> 2 <> 3 (1 <> 2) <> 3 1 <> (2 <> 3)
|
||||
1 1 0
|
||||
select 1 < 2 < 3, (1 < 2) < 3, 1 < (2 < 3);
|
||||
1 < 2 < 3 (1 < 2) < 3 1 < (2 < 3)
|
||||
1 1 0
|
||||
select 3 <= 2 <= 1, (3 <= 2) <= 1, 3 <= (2 <= 1);
|
||||
3 <= 2 <= 1 (3 <= 2) <= 1 3 <= (2 <= 1)
|
||||
1 1 0
|
||||
select 1 > 2 > 3, (1 > 2) > 3, 1 > (2 > 3);
|
||||
1 > 2 > 3 (1 > 2) > 3 1 > (2 > 3)
|
||||
0 0 1
|
||||
select 1 >= 2 >= 3, (1 >= 2) >= 3, 1 >= (2 >= 3);
|
||||
1 >= 2 >= 3 (1 >= 2) >= 3 1 >= (2 >= 3)
|
||||
0 0 1
|
||||
Testing that | is associative
|
||||
select 0xF0 | 0x0F | 0x55, (0xF0 | 0x0F) | 0x55, 0xF0 | (0x0F | 0x55);
|
||||
0xF0 | 0x0F | 0x55 (0xF0 | 0x0F) | 0x55 0xF0 | (0x0F | 0x55)
|
||||
255 255 255
|
||||
Testing that & is associative
|
||||
select 0xF5 & 0x5F & 0x55, (0xF5 & 0x5F) & 0x55, 0xF5 & (0x5F & 0x55);
|
||||
0xF5 & 0x5F & 0x55 (0xF5 & 0x5F) & 0x55 0xF5 & (0x5F & 0x55)
|
||||
85 85 85
|
||||
Testing that << is left associative
|
||||
select 4 << 3 << 2, (4 << 3) << 2, 4 << (3 << 2);
|
||||
4 << 3 << 2 (4 << 3) << 2 4 << (3 << 2)
|
||||
128 128 16384
|
||||
Testing that >> is left associative
|
||||
select 256 >> 3 >> 2, (256 >> 3) >> 2, 256 >> (3 >> 2);
|
||||
256 >> 3 >> 2 (256 >> 3) >> 2 256 >> (3 >> 2)
|
||||
8 8 256
|
||||
Testing that & has precedence over |
|
||||
select 0xF0 & 0x0F | 0x55, (0xF0 & 0x0F) | 0x55, 0xF0 & (0x0F | 0x55);
|
||||
0xF0 & 0x0F | 0x55 (0xF0 & 0x0F) | 0x55 0xF0 & (0x0F | 0x55)
|
||||
85 85 80
|
||||
select 0x55 | 0xF0 & 0x0F, (0x55 | 0xF0) & 0x0F, 0x55 | (0xF0 & 0x0F);
|
||||
0x55 | 0xF0 & 0x0F (0x55 | 0xF0) & 0x0F 0x55 | (0xF0 & 0x0F)
|
||||
85 5 85
|
||||
Testing that << has precedence over |
|
||||
select 0x0F << 4 | 0x0F, (0x0F << 4) | 0x0F, 0x0F << (4 | 0x0F);
|
||||
0x0F << 4 | 0x0F (0x0F << 4) | 0x0F 0x0F << (4 | 0x0F)
|
||||
255 255 491520
|
||||
select 0x0F | 0x0F << 4, (0x0F | 0x0F) << 4, 0x0F | (0x0F << 4);
|
||||
0x0F | 0x0F << 4 (0x0F | 0x0F) << 4 0x0F | (0x0F << 4)
|
||||
255 240 255
|
||||
Testing that >> has precedence over |
|
||||
select 0xF0 >> 4 | 0xFF, (0xF0 >> 4) | 0xFF, 0xF0 >> (4 | 0xFF);
|
||||
0xF0 >> 4 | 0xFF (0xF0 >> 4) | 0xFF 0xF0 >> (4 | 0xFF)
|
||||
255 255 0
|
||||
select 0xFF | 0xF0 >> 4, (0xFF | 0xF0) >> 4, 0xFF | (0xF0 >> 4);
|
||||
0xFF | 0xF0 >> 4 (0xFF | 0xF0) >> 4 0xFF | (0xF0 >> 4)
|
||||
255 15 255
|
||||
Testing that << has precedence over &
|
||||
select 0x0F << 4 & 0xF0, (0x0F << 4) & 0xF0, 0x0F << (4 & 0xF0);
|
||||
0x0F << 4 & 0xF0 (0x0F << 4) & 0xF0 0x0F << (4 & 0xF0)
|
||||
240 240 15
|
||||
select 0xF0 & 0x0F << 4, (0xF0 & 0x0F) << 4, 0xF0 & (0x0F << 4);
|
||||
0xF0 & 0x0F << 4 (0xF0 & 0x0F) << 4 0xF0 & (0x0F << 4)
|
||||
240 0 240
|
||||
Testing that >> has precedence over &
|
||||
select 0xF0 >> 4 & 0x55, (0xF0 >> 4) & 0x55, 0xF0 >> (4 & 0x55);
|
||||
0xF0 >> 4 & 0x55 (0xF0 >> 4) & 0x55 0xF0 >> (4 & 0x55)
|
||||
5 5 15
|
||||
select 0x0F & 0xF0 >> 4, (0x0F & 0xF0) >> 4, 0x0F & (0xF0 >> 4);
|
||||
0x0F & 0xF0 >> 4 (0x0F & 0xF0) >> 4 0x0F & (0xF0 >> 4)
|
||||
15 0 15
|
||||
Testing that >> and << have the same precedence
|
||||
select 0xFF >> 4 << 2, (0xFF >> 4) << 2, 0xFF >> (4 << 2);
|
||||
0xFF >> 4 << 2 (0xFF >> 4) << 2 0xFF >> (4 << 2)
|
||||
60 60 0
|
||||
select 0x0F << 4 >> 2, (0x0F << 4) >> 2, 0x0F << (4 >> 2);
|
||||
0x0F << 4 >> 2 (0x0F << 4) >> 2 0x0F << (4 >> 2)
|
||||
60 60 30
|
||||
Testing that binary + is associative
|
||||
select 1 + 2 + 3, (1 + 2) + 3, 1 + (2 + 3);
|
||||
1 + 2 + 3 (1 + 2) + 3 1 + (2 + 3)
|
||||
6 6 6
|
||||
Testing that binary - is left associative
|
||||
select 1 - 2 - 3, (1 - 2) - 3, 1 - (2 - 3);
|
||||
1 - 2 - 3 (1 - 2) - 3 1 - (2 - 3)
|
||||
-4 -4 2
|
||||
Testing that binary + and binary - have the same precedence
|
||||
select 1 + 2 - 3, (1 + 2) - 3, 1 + (2 - 3);
|
||||
1 + 2 - 3 (1 + 2) - 3 1 + (2 - 3)
|
||||
0 0 0
|
||||
select 1 - 2 + 3, (1 - 2) + 3, 1 - (2 + 3);
|
||||
1 - 2 + 3 (1 - 2) + 3 1 - (2 + 3)
|
||||
2 2 -4
|
||||
Testing that binary + has precedence over |
|
||||
select 0xF0 + 0x0F | 0x55, (0xF0 + 0x0F) | 0x55, 0xF0 + (0x0F | 0x55);
|
||||
0xF0 + 0x0F | 0x55 (0xF0 + 0x0F) | 0x55 0xF0 + (0x0F | 0x55)
|
||||
255 255 335
|
||||
select 0x55 | 0xF0 + 0x0F, (0x55 | 0xF0) + 0x0F, 0x55 | (0xF0 + 0x0F);
|
||||
0x55 | 0xF0 + 0x0F (0x55 | 0xF0) + 0x0F 0x55 | (0xF0 + 0x0F)
|
||||
255 260 255
|
||||
Testing that binary + has precedence over &
|
||||
select 0xF0 + 0x0F & 0x55, (0xF0 + 0x0F) & 0x55, 0xF0 + (0x0F & 0x55);
|
||||
0xF0 + 0x0F & 0x55 (0xF0 + 0x0F) & 0x55 0xF0 + (0x0F & 0x55)
|
||||
85 85 245
|
||||
select 0x55 & 0xF0 + 0x0F, (0x55 & 0xF0) + 0x0F, 0x55 & (0xF0 + 0x0F);
|
||||
0x55 & 0xF0 + 0x0F (0x55 & 0xF0) + 0x0F 0x55 & (0xF0 + 0x0F)
|
||||
85 95 85
|
||||
Testing that binary + has precedence over <<
|
||||
select 2 + 3 << 4, (2 + 3) << 4, 2 + (3 << 4);
|
||||
2 + 3 << 4 (2 + 3) << 4 2 + (3 << 4)
|
||||
80 80 50
|
||||
select 3 << 4 + 2, (3 << 4) + 2, 3 << (4 + 2);
|
||||
3 << 4 + 2 (3 << 4) + 2 3 << (4 + 2)
|
||||
192 50 192
|
||||
Testing that binary + has precedence over >>
|
||||
select 4 + 3 >> 2, (4 + 3) >> 2, 4 + (3 >> 2);
|
||||
4 + 3 >> 2 (4 + 3) >> 2 4 + (3 >> 2)
|
||||
1 1 4
|
||||
select 3 >> 2 + 1, (3 >> 2) + 1, 3 >> (2 + 1);
|
||||
3 >> 2 + 1 (3 >> 2) + 1 3 >> (2 + 1)
|
||||
0 1 0
|
||||
Testing that binary - has precedence over |
|
||||
select 0xFF - 0x0F | 0x55, (0xFF - 0x0F) | 0x55, 0xFF - (0x0F | 0x55);
|
||||
0xFF - 0x0F | 0x55 (0xFF - 0x0F) | 0x55 0xFF - (0x0F | 0x55)
|
||||
245 245 160
|
||||
select 0x55 | 0xFF - 0xF0, (0x55 | 0xFF) - 0xF0, 0x55 | (0xFF - 0xF0);
|
||||
0x55 | 0xFF - 0xF0 (0x55 | 0xFF) - 0xF0 0x55 | (0xFF - 0xF0)
|
||||
95 15 95
|
||||
Testing that binary - has precedence over &
|
||||
select 0xFF - 0xF0 & 0x55, (0xFF - 0xF0) & 0x55, 0xFF - (0xF0 & 0x55);
|
||||
0xFF - 0xF0 & 0x55 (0xFF - 0xF0) & 0x55 0xFF - (0xF0 & 0x55)
|
||||
5 5 175
|
||||
select 0x55 & 0xFF - 0xF0, (0x55 & 0xFF) - 0xF0, 0x55 & (0xFF - 0xF0);
|
||||
0x55 & 0xFF - 0xF0 (0x55 & 0xFF) - 0xF0 0x55 & (0xFF - 0xF0)
|
||||
5 -155 5
|
||||
Testing that binary - has precedence over <<
|
||||
select 16 - 3 << 2, (16 - 3) << 2, 16 - (3 << 2);
|
||||
16 - 3 << 2 (16 - 3) << 2 16 - (3 << 2)
|
||||
52 52 4
|
||||
select 4 << 3 - 2, (4 << 3) - 2, 4 << (3 - 2);
|
||||
4 << 3 - 2 (4 << 3) - 2 4 << (3 - 2)
|
||||
8 30 8
|
||||
Testing that binary - has precedence over >>
|
||||
select 16 - 3 >> 2, (16 - 3) >> 2, 16 - (3 >> 2);
|
||||
16 - 3 >> 2 (16 - 3) >> 2 16 - (3 >> 2)
|
||||
3 3 16
|
||||
select 16 >> 3 - 2, (16 >> 3) - 2, 16 >> (3 - 2);
|
||||
16 >> 3 - 2 (16 >> 3) - 2 16 >> (3 - 2)
|
||||
8 0 8
|
||||
Testing that * is associative
|
||||
select 2 * 3 * 4, (2 * 3) * 4, 2 * (3 * 4);
|
||||
2 * 3 * 4 (2 * 3) * 4 2 * (3 * 4)
|
||||
24 24 24
|
||||
Testing that * has precedence over |
|
||||
select 2 * 0x40 | 0x0F, (2 * 0x40) | 0x0F, 2 * (0x40 | 0x0F);
|
||||
2 * 0x40 | 0x0F (2 * 0x40) | 0x0F 2 * (0x40 | 0x0F)
|
||||
143 143 158
|
||||
select 0x0F | 2 * 0x40, (0x0F | 2) * 0x40, 0x0F | (2 * 0x40);
|
||||
0x0F | 2 * 0x40 (0x0F | 2) * 0x40 0x0F | (2 * 0x40)
|
||||
143 960 143
|
||||
Testing that * has precedence over &
|
||||
select 2 * 0x40 & 0x55, (2 * 0x40) & 0x55, 2 * (0x40 & 0x55);
|
||||
2 * 0x40 & 0x55 (2 * 0x40) & 0x55 2 * (0x40 & 0x55)
|
||||
0 0 128
|
||||
select 0xF0 & 2 * 0x40, (0xF0 & 2) * 0x40, 0xF0 & (2 * 0x40);
|
||||
0xF0 & 2 * 0x40 (0xF0 & 2) * 0x40 0xF0 & (2 * 0x40)
|
||||
128 0 128
|
||||
Testing that * has precedence over <<
|
||||
select 5 * 3 << 4, (5 * 3) << 4, 5 * (3 << 4);
|
||||
5 * 3 << 4 (5 * 3) << 4 5 * (3 << 4)
|
||||
240 240 240
|
||||
select 2 << 3 * 4, (2 << 3) * 4, 2 << (3 * 4);
|
||||
2 << 3 * 4 (2 << 3) * 4 2 << (3 * 4)
|
||||
8192 64 8192
|
||||
Testing that * has precedence over >>
|
||||
select 3 * 4 >> 2, (3 * 4) >> 2, 3 * (4 >> 2);
|
||||
3 * 4 >> 2 (3 * 4) >> 2 3 * (4 >> 2)
|
||||
3 3 3
|
||||
select 4 >> 2 * 3, (4 >> 2) * 3, 4 >> (2 * 3);
|
||||
4 >> 2 * 3 (4 >> 2) * 3 4 >> (2 * 3)
|
||||
0 3 0
|
||||
Testing that * has precedence over binary +
|
||||
select 2 * 3 + 4, (2 * 3) + 4, 2 * (3 + 4);
|
||||
2 * 3 + 4 (2 * 3) + 4 2 * (3 + 4)
|
||||
10 10 14
|
||||
select 2 + 3 * 4, (2 + 3) * 4, 2 + (3 * 4);
|
||||
2 + 3 * 4 (2 + 3) * 4 2 + (3 * 4)
|
||||
14 20 14
|
||||
Testing that * has precedence over binary -
|
||||
select 4 * 3 - 2, (4 * 3) - 2, 4 * (3 - 2);
|
||||
4 * 3 - 2 (4 * 3) - 2 4 * (3 - 2)
|
||||
10 10 4
|
||||
select 4 - 3 * 2, (4 - 3) * 2, 4 - (3 * 2);
|
||||
4 - 3 * 2 (4 - 3) * 2 4 - (3 * 2)
|
||||
-2 2 -2
|
||||
Testing that / is left associative
|
||||
select 15 / 5 / 3, (15 / 5) / 3, 15 / (5 / 3);
|
||||
15 / 5 / 3 (15 / 5) / 3 15 / (5 / 3)
|
||||
1.00000000 1.00000000 9.0000
|
||||
Testing that / has precedence over |
|
||||
select 105 / 5 | 2, (105 / 5) | 2, 105 / (5 | 2);
|
||||
105 / 5 | 2 (105 / 5) | 2 105 / (5 | 2)
|
||||
23 23 15.0000
|
||||
select 105 | 2 / 5, (105 | 2) / 5, 105 | (2 / 5);
|
||||
105 | 2 / 5 (105 | 2) / 5 105 | (2 / 5)
|
||||
105 21.4000 105
|
||||
Testing that / has precedence over &
|
||||
select 105 / 5 & 0x0F, (105 / 5) & 0x0F, 105 / (5 & 0x0F);
|
||||
105 / 5 & 0x0F (105 / 5) & 0x0F 105 / (5 & 0x0F)
|
||||
5 5 21.0000
|
||||
select 0x0F & 105 / 5, (0x0F & 105) / 5, 0x0F & (105 / 5);
|
||||
0x0F & 105 / 5 (0x0F & 105) / 5 0x0F & (105 / 5)
|
||||
5 1.8000 5
|
||||
Testing that / has precedence over <<
|
||||
select 0x80 / 4 << 2, (0x80 / 4) << 2, 0x80 / (4 << 2);
|
||||
0x80 / 4 << 2 (0x80 / 4) << 2 0x80 / (4 << 2)
|
||||
128 128 8.0000
|
||||
select 0x80 << 4 / 2, (0x80 << 4) / 2, 0x80 << (4 / 2);
|
||||
0x80 << 4 / 2 (0x80 << 4) / 2 0x80 << (4 / 2)
|
||||
512 1024.0000 512
|
||||
Testing that / has precedence over >>
|
||||
select 0x80 / 4 >> 2, (0x80 / 4) >> 2, 0x80 / (4 >> 2);
|
||||
0x80 / 4 >> 2 (0x80 / 4) >> 2 0x80 / (4 >> 2)
|
||||
8 8 128.0000
|
||||
select 0x80 >> 4 / 2, (0x80 >> 4) / 2, 0x80 >> (4 / 2);
|
||||
0x80 >> 4 / 2 (0x80 >> 4) / 2 0x80 >> (4 / 2)
|
||||
32 4.0000 32
|
||||
Testing that / has precedence over binary +
|
||||
select 0x80 / 2 + 2, (0x80 / 2) + 2, 0x80 / (2 + 2);
|
||||
0x80 / 2 + 2 (0x80 / 2) + 2 0x80 / (2 + 2)
|
||||
66.0000 66.0000 32.0000
|
||||
select 0x80 + 2 / 2, (0x80 + 2) / 2, 0x80 + (2 / 2);
|
||||
0x80 + 2 / 2 (0x80 + 2) / 2 0x80 + (2 / 2)
|
||||
129.0000 65.0000 129.0000
|
||||
Testing that / has precedence over binary -
|
||||
select 0x80 / 4 - 2, (0x80 / 4) - 2, 0x80 / (4 - 2);
|
||||
0x80 / 4 - 2 (0x80 / 4) - 2 0x80 / (4 - 2)
|
||||
30.0000 30.0000 64.0000
|
||||
select 0x80 - 4 / 2, (0x80 - 4) / 2, 0x80 - (4 / 2);
|
||||
0x80 - 4 / 2 (0x80 - 4) / 2 0x80 - (4 / 2)
|
||||
126.0000 62.0000 126.0000
|
||||
Testing that ^ is associative
|
||||
select 0xFF ^ 0xF0 ^ 0x0F, (0xFF ^ 0xF0) ^ 0x0F, 0xFF ^ (0xF0 ^ 0x0F);
|
||||
0xFF ^ 0xF0 ^ 0x0F (0xFF ^ 0xF0) ^ 0x0F 0xFF ^ (0xF0 ^ 0x0F)
|
||||
0 0 0
|
||||
select 0xFF ^ 0xF0 ^ 0x55, (0xFF ^ 0xF0) ^ 0x55, 0xFF ^ (0xF0 ^ 0x55);
|
||||
0xFF ^ 0xF0 ^ 0x55 (0xFF ^ 0xF0) ^ 0x55 0xFF ^ (0xF0 ^ 0x55)
|
||||
90 90 90
|
||||
Testing that ^ has precedence over |
|
||||
select 0xFF ^ 0xF0 | 0x0F, (0xFF ^ 0xF0) | 0x0F, 0xFF ^ (0xF0 | 0x0F);
|
||||
0xFF ^ 0xF0 | 0x0F (0xFF ^ 0xF0) | 0x0F 0xFF ^ (0xF0 | 0x0F)
|
||||
15 15 0
|
||||
select 0xF0 | 0xFF ^ 0xF0, (0xF0 | 0xFF) ^ 0xF0, 0xF0 | (0xFF ^ 0xF0);
|
||||
0xF0 | 0xFF ^ 0xF0 (0xF0 | 0xFF) ^ 0xF0 0xF0 | (0xFF ^ 0xF0)
|
||||
255 15 255
|
||||
Testing that ^ has precedence over &
|
||||
select 0xFF ^ 0xF0 & 0x0F, (0xFF ^ 0xF0) & 0x0F, 0xFF ^ (0xF0 & 0x0F);
|
||||
0xFF ^ 0xF0 & 0x0F (0xFF ^ 0xF0) & 0x0F 0xFF ^ (0xF0 & 0x0F)
|
||||
15 15 255
|
||||
select 0x0F & 0xFF ^ 0xF0, (0x0F & 0xFF) ^ 0xF0, 0x0F & (0xFF ^ 0xF0);
|
||||
0x0F & 0xFF ^ 0xF0 (0x0F & 0xFF) ^ 0xF0 0x0F & (0xFF ^ 0xF0)
|
||||
15 255 15
|
||||
Testing that ^ has precedence over <<
|
||||
select 0xFF ^ 0xF0 << 2, (0xFF ^ 0xF0) << 2, 0xFF ^ (0xF0 << 2);
|
||||
0xFF ^ 0xF0 << 2 (0xFF ^ 0xF0) << 2 0xFF ^ (0xF0 << 2)
|
||||
60 60 831
|
||||
select 0x0F << 2 ^ 0xFF, (0x0F << 2) ^ 0xFF, 0x0F << (2 ^ 0xFF);
|
||||
0x0F << 2 ^ 0xFF (0x0F << 2) ^ 0xFF 0x0F << (2 ^ 0xFF)
|
||||
0 195 0
|
||||
Testing that ^ has precedence over >>
|
||||
select 0xFF ^ 0xF0 >> 2, (0xFF ^ 0xF0) >> 2, 0xFF ^ (0xF0 >> 2);
|
||||
0xFF ^ 0xF0 >> 2 (0xFF ^ 0xF0) >> 2 0xFF ^ (0xF0 >> 2)
|
||||
3 3 195
|
||||
select 0xFF >> 2 ^ 0xF0, (0xFF >> 2) ^ 0xF0, 0xFF >> (2 ^ 0xF0);
|
||||
0xFF >> 2 ^ 0xF0 (0xFF >> 2) ^ 0xF0 0xFF >> (2 ^ 0xF0)
|
||||
0 207 0
|
||||
Testing that ^ has precedence over binary +
|
||||
select 0xFF ^ 0xF0 + 0x0F, (0xFF ^ 0xF0) + 0x0F, 0xFF ^ (0xF0 + 0x0F);
|
||||
0xFF ^ 0xF0 + 0x0F (0xFF ^ 0xF0) + 0x0F 0xFF ^ (0xF0 + 0x0F)
|
||||
30 30 0
|
||||
select 0x0F + 0xFF ^ 0xF0, (0x0F + 0xFF) ^ 0xF0, 0x0F + (0xFF ^ 0xF0);
|
||||
0x0F + 0xFF ^ 0xF0 (0x0F + 0xFF) ^ 0xF0 0x0F + (0xFF ^ 0xF0)
|
||||
30 510 30
|
||||
Testing that ^ has precedence over binary -
|
||||
select 0xFF ^ 0xF0 - 1, (0xFF ^ 0xF0) - 1, 0xFF ^ (0xF0 - 1);
|
||||
0xFF ^ 0xF0 - 1 (0xFF ^ 0xF0) - 1 0xFF ^ (0xF0 - 1)
|
||||
14 14 16
|
||||
select 0x55 - 0x0F ^ 0x55, (0x55 - 0x0F) ^ 0x55, 0x55 - (0x0F ^ 0x55);
|
||||
0x55 - 0x0F ^ 0x55 (0x55 - 0x0F) ^ 0x55 0x55 - (0x0F ^ 0x55)
|
||||
-5 19 -5
|
||||
Testing that ^ has precedence over *
|
||||
select 0xFF ^ 0xF0 * 2, (0xFF ^ 0xF0) * 2, 0xFF ^ (0xF0 * 2);
|
||||
0xFF ^ 0xF0 * 2 (0xFF ^ 0xF0) * 2 0xFF ^ (0xF0 * 2)
|
||||
30 30 287
|
||||
select 2 * 0xFF ^ 0xF0, (2 * 0xFF) ^ 0xF0, 2 * (0xFF ^ 0xF0);
|
||||
2 * 0xFF ^ 0xF0 (2 * 0xFF) ^ 0xF0 2 * (0xFF ^ 0xF0)
|
||||
30 270 30
|
||||
Testing that ^ has precedence over /
|
||||
select 0xFF ^ 0xF0 / 2, (0xFF ^ 0xF0) / 2, 0xFF ^ (0xF0 / 2);
|
||||
0xFF ^ 0xF0 / 2 (0xFF ^ 0xF0) / 2 0xFF ^ (0xF0 / 2)
|
||||
7.5000 7.5000 135
|
||||
select 0xF2 / 2 ^ 0xF0, (0xF2 / 2) ^ 0xF0, 0xF2 / (2 ^ 0xF0);
|
||||
0xF2 / 2 ^ 0xF0 (0xF2 / 2) ^ 0xF0 0xF2 / (2 ^ 0xF0)
|
||||
1.0000 137 1.0000
|
||||
Testing that ^ has precedence over %
|
||||
select 0xFF ^ 0xF0 % 0x20, (0xFF ^ 0xF0) % 0x20, 0xFF ^ (0xF0 % 0x20);
|
||||
0xFF ^ 0xF0 % 0x20 (0xFF ^ 0xF0) % 0x20 0xFF ^ (0xF0 % 0x20)
|
||||
15 15 239
|
||||
select 0xFF % 0x20 ^ 0xF0, (0xFF % 0x20) ^ 0xF0, 0xFF % (0x20 ^ 0xF0);
|
||||
0xFF % 0x20 ^ 0xF0 (0xFF % 0x20) ^ 0xF0 0xFF % (0x20 ^ 0xF0)
|
||||
47 239 47
|
||||
Testing that ^ has precedence over DIV
|
||||
select 0xFF ^ 0xF0 DIV 2, (0xFF ^ 0xF0) DIV 2, 0xFF ^ (0xF0 DIV 2);
|
||||
0xFF ^ 0xF0 DIV 2 (0xFF ^ 0xF0) DIV 2 0xFF ^ (0xF0 DIV 2)
|
||||
7 7 135
|
||||
select 0xF2 DIV 2 ^ 0xF0, (0xF2 DIV 2) ^ 0xF0, 0xF2 DIV (2 ^ 0xF0);
|
||||
0xF2 DIV 2 ^ 0xF0 (0xF2 DIV 2) ^ 0xF0 0xF2 DIV (2 ^ 0xF0)
|
||||
1 137 1
|
||||
Testing that ^ has precedence over MOD
|
||||
select 0xFF ^ 0xF0 MOD 0x20, (0xFF ^ 0xF0) MOD 0x20, 0xFF ^ (0xF0 MOD 0x20);
|
||||
0xFF ^ 0xF0 MOD 0x20 (0xFF ^ 0xF0) MOD 0x20 0xFF ^ (0xF0 MOD 0x20)
|
||||
15 15 239
|
||||
select 0xFF MOD 0x20 ^ 0xF0, (0xFF MOD 0x20) ^ 0xF0, 0xFF MOD (0x20 ^ 0xF0);
|
||||
0xFF MOD 0x20 ^ 0xF0 (0xFF MOD 0x20) ^ 0xF0 0xFF MOD (0x20 ^ 0xF0)
|
||||
47 239 47
|
||||
@@ -1650,6 +1650,35 @@ a (select count(*) from t2)
|
||||
3 0
|
||||
4 0
|
||||
drop table t1,t2;
|
||||
DROP DATABASE IF EXISTS bug30269;
|
||||
FLUSH STATUS;
|
||||
CREATE DATABASE bug30269;
|
||||
USE bug30269;
|
||||
CREATE TABLE test1 (id int, name varchar(23));
|
||||
CREATE VIEW view1 AS SELECT * FROM test1;
|
||||
INSERT INTO test1 VALUES (5, 'testit');
|
||||
GRANT SELECT (id) ON TABLE bug30269.test1 TO 'bug30269'@'localhost';
|
||||
GRANT SELECT ON TABLE bug30269.view1 TO 'bug30269'@'localhost';
|
||||
set global query_cache_size= 81920;
|
||||
USE bug30269;
|
||||
show status like 'Qcache_queries_in_cache';
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
# Select statement not stored in query cache because of column privileges.
|
||||
SELECT id FROM test1 WHERE id>2;
|
||||
id
|
||||
5
|
||||
show status like 'Qcache_queries_in_cache';
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
SELECT id FROM view1 WHERE id>2;
|
||||
id
|
||||
5
|
||||
show status like 'Qcache_queries_in_cache';
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
DROP DATABASE bug30269;
|
||||
DROP USER 'bug30269'@'localhost';
|
||||
set GLOBAL query_cache_type=default;
|
||||
set GLOBAL query_cache_limit=default;
|
||||
set GLOBAL query_cache_min_res_unit=default;
|
||||
|
||||
@@ -371,5 +371,163 @@ Variable_name Value
|
||||
Qcache_hits 21
|
||||
drop table t1;
|
||||
---- disconnect connection con1 ----
|
||||
########################################################################
|
||||
#
|
||||
# BUG#25843: Changing default database between PREPARE and EXECUTE of
|
||||
# statement breaks binlog.
|
||||
#
|
||||
########################################################################
|
||||
|
||||
#
|
||||
# Check that default database and its attributes are fixed at the
|
||||
# creation time.
|
||||
#
|
||||
|
||||
DROP DATABASE IF EXISTS mysqltest1;
|
||||
DROP DATABASE IF EXISTS mysqltest2;
|
||||
|
||||
CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci;
|
||||
CREATE DATABASE mysqltest2 COLLATE utf8_general_ci;
|
||||
|
||||
CREATE TABLE mysqltest1.t1(msg VARCHAR(255));
|
||||
CREATE TABLE mysqltest2.t1(msg VARCHAR(255));
|
||||
|
||||
use mysqltest1;
|
||||
PREPARE stmt_a_1 FROM 'INSERT INTO t1 VALUES(DATABASE())';
|
||||
PREPARE stmt_a_2 FROM 'INSERT INTO t1 VALUES(@@collation_database)';
|
||||
|
||||
EXECUTE stmt_a_1;
|
||||
EXECUTE stmt_a_2;
|
||||
|
||||
use mysqltest2;
|
||||
EXECUTE stmt_a_1;
|
||||
EXECUTE stmt_a_2;
|
||||
|
||||
SELECT * FROM mysqltest1.t1;
|
||||
msg
|
||||
mysqltest1
|
||||
utf8_unicode_ci
|
||||
mysqltest1
|
||||
utf8_unicode_ci
|
||||
|
||||
SELECT * FROM mysqltest2.t1;
|
||||
msg
|
||||
|
||||
DROP PREPARE stmt_a_1;
|
||||
DROP PREPARE stmt_a_2;
|
||||
|
||||
#
|
||||
# The Query Cache test case.
|
||||
#
|
||||
|
||||
DELETE FROM mysqltest1.t1;
|
||||
DELETE FROM mysqltest2.t1;
|
||||
|
||||
INSERT INTO mysqltest1.t1 VALUES('mysqltest1.t1');
|
||||
INSERT INTO mysqltest2.t1 VALUES('mysqltest2.t1');
|
||||
|
||||
use mysqltest1;
|
||||
PREPARE stmt_b_1 FROM 'SELECT * FROM t1';
|
||||
|
||||
use mysqltest2;
|
||||
PREPARE stmt_b_2 FROM 'SELECT * FROM t1';
|
||||
|
||||
EXECUTE stmt_b_1;
|
||||
msg
|
||||
mysqltest1.t1
|
||||
|
||||
EXECUTE stmt_b_2;
|
||||
msg
|
||||
mysqltest2.t1
|
||||
|
||||
use mysqltest1;
|
||||
|
||||
EXECUTE stmt_b_1;
|
||||
msg
|
||||
mysqltest1.t1
|
||||
|
||||
EXECUTE stmt_b_2;
|
||||
msg
|
||||
mysqltest2.t1
|
||||
|
||||
DROP PREPARE stmt_b_1;
|
||||
DROP PREPARE stmt_b_2;
|
||||
|
||||
use test;
|
||||
|
||||
DROP DATABASE mysqltest1;
|
||||
DROP DATABASE mysqltest2;
|
||||
|
||||
#
|
||||
# Check that prepared statements work properly when there is no current
|
||||
# database.
|
||||
#
|
||||
|
||||
CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci;
|
||||
CREATE DATABASE mysqltest2 COLLATE utf8_general_ci;
|
||||
|
||||
use mysqltest1;
|
||||
|
||||
PREPARE stmt_c_1 FROM 'SELECT DATABASE(), @@collation_database';
|
||||
|
||||
use mysqltest2;
|
||||
|
||||
PREPARE stmt_c_2 FROM 'SELECT DATABASE(), @@collation_database';
|
||||
|
||||
DROP DATABASE mysqltest2;
|
||||
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
|
||||
EXECUTE stmt_c_1;
|
||||
DATABASE() @@collation_database
|
||||
mysqltest1 utf8_unicode_ci
|
||||
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
|
||||
EXECUTE stmt_c_2;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
Warnings:
|
||||
Note 1049 Unknown database 'mysqltest2'
|
||||
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
|
||||
PREPARE stmt_c_3 FROM 'SELECT DATABASE(), @@collation_database';
|
||||
|
||||
EXECUTE stmt_c_3;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
|
||||
use mysqltest1;
|
||||
|
||||
EXECUTE stmt_c_2;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
Warnings:
|
||||
Note 1049 Unknown database 'mysqltest2'
|
||||
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
DATABASE() @@collation_database
|
||||
mysqltest1 utf8_unicode_ci
|
||||
|
||||
EXECUTE stmt_c_3;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
DATABASE() @@collation_database
|
||||
mysqltest1 utf8_unicode_ci
|
||||
|
||||
DROP DATABASE mysqltest1;
|
||||
|
||||
use test;
|
||||
|
||||
########################################################################
|
||||
set @@global.query_cache_size=@initial_query_cache_size;
|
||||
flush status;
|
||||
|
||||
@@ -371,5 +371,163 @@ Variable_name Value
|
||||
Qcache_hits 19
|
||||
drop table t1;
|
||||
---- disconnect connection con1 ----
|
||||
########################################################################
|
||||
#
|
||||
# BUG#25843: Changing default database between PREPARE and EXECUTE of
|
||||
# statement breaks binlog.
|
||||
#
|
||||
########################################################################
|
||||
|
||||
#
|
||||
# Check that default database and its attributes are fixed at the
|
||||
# creation time.
|
||||
#
|
||||
|
||||
DROP DATABASE IF EXISTS mysqltest1;
|
||||
DROP DATABASE IF EXISTS mysqltest2;
|
||||
|
||||
CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci;
|
||||
CREATE DATABASE mysqltest2 COLLATE utf8_general_ci;
|
||||
|
||||
CREATE TABLE mysqltest1.t1(msg VARCHAR(255));
|
||||
CREATE TABLE mysqltest2.t1(msg VARCHAR(255));
|
||||
|
||||
use mysqltest1;
|
||||
PREPARE stmt_a_1 FROM 'INSERT INTO t1 VALUES(DATABASE())';
|
||||
PREPARE stmt_a_2 FROM 'INSERT INTO t1 VALUES(@@collation_database)';
|
||||
|
||||
EXECUTE stmt_a_1;
|
||||
EXECUTE stmt_a_2;
|
||||
|
||||
use mysqltest2;
|
||||
EXECUTE stmt_a_1;
|
||||
EXECUTE stmt_a_2;
|
||||
|
||||
SELECT * FROM mysqltest1.t1;
|
||||
msg
|
||||
mysqltest1
|
||||
utf8_unicode_ci
|
||||
mysqltest1
|
||||
utf8_unicode_ci
|
||||
|
||||
SELECT * FROM mysqltest2.t1;
|
||||
msg
|
||||
|
||||
DROP PREPARE stmt_a_1;
|
||||
DROP PREPARE stmt_a_2;
|
||||
|
||||
#
|
||||
# The Query Cache test case.
|
||||
#
|
||||
|
||||
DELETE FROM mysqltest1.t1;
|
||||
DELETE FROM mysqltest2.t1;
|
||||
|
||||
INSERT INTO mysqltest1.t1 VALUES('mysqltest1.t1');
|
||||
INSERT INTO mysqltest2.t1 VALUES('mysqltest2.t1');
|
||||
|
||||
use mysqltest1;
|
||||
PREPARE stmt_b_1 FROM 'SELECT * FROM t1';
|
||||
|
||||
use mysqltest2;
|
||||
PREPARE stmt_b_2 FROM 'SELECT * FROM t1';
|
||||
|
||||
EXECUTE stmt_b_1;
|
||||
msg
|
||||
mysqltest1.t1
|
||||
|
||||
EXECUTE stmt_b_2;
|
||||
msg
|
||||
mysqltest2.t1
|
||||
|
||||
use mysqltest1;
|
||||
|
||||
EXECUTE stmt_b_1;
|
||||
msg
|
||||
mysqltest1.t1
|
||||
|
||||
EXECUTE stmt_b_2;
|
||||
msg
|
||||
mysqltest2.t1
|
||||
|
||||
DROP PREPARE stmt_b_1;
|
||||
DROP PREPARE stmt_b_2;
|
||||
|
||||
use test;
|
||||
|
||||
DROP DATABASE mysqltest1;
|
||||
DROP DATABASE mysqltest2;
|
||||
|
||||
#
|
||||
# Check that prepared statements work properly when there is no current
|
||||
# database.
|
||||
#
|
||||
|
||||
CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci;
|
||||
CREATE DATABASE mysqltest2 COLLATE utf8_general_ci;
|
||||
|
||||
use mysqltest1;
|
||||
|
||||
PREPARE stmt_c_1 FROM 'SELECT DATABASE(), @@collation_database';
|
||||
|
||||
use mysqltest2;
|
||||
|
||||
PREPARE stmt_c_2 FROM 'SELECT DATABASE(), @@collation_database';
|
||||
|
||||
DROP DATABASE mysqltest2;
|
||||
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
|
||||
EXECUTE stmt_c_1;
|
||||
DATABASE() @@collation_database
|
||||
mysqltest1 utf8_unicode_ci
|
||||
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
|
||||
EXECUTE stmt_c_2;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
Warnings:
|
||||
Note 1049 Unknown database 'mysqltest2'
|
||||
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
|
||||
PREPARE stmt_c_3 FROM 'SELECT DATABASE(), @@collation_database';
|
||||
|
||||
EXECUTE stmt_c_3;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
|
||||
use mysqltest1;
|
||||
|
||||
EXECUTE stmt_c_2;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
Warnings:
|
||||
Note 1049 Unknown database 'mysqltest2'
|
||||
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
DATABASE() @@collation_database
|
||||
mysqltest1 utf8_unicode_ci
|
||||
|
||||
EXECUTE stmt_c_3;
|
||||
DATABASE() @@collation_database
|
||||
NULL latin1_swedish_ci
|
||||
|
||||
SELECT DATABASE(), @@collation_database;
|
||||
DATABASE() @@collation_database
|
||||
mysqltest1 utf8_unicode_ci
|
||||
|
||||
DROP DATABASE mysqltest1;
|
||||
|
||||
use test;
|
||||
|
||||
########################################################################
|
||||
set @@global.query_cache_size=@initial_query_cache_size;
|
||||
flush status;
|
||||
|
||||
@@ -3980,6 +3980,16 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE f1 index inx inx 10 NULL 7 Using where; Using index
|
||||
1 SIMPLE f2 ref inx inx 5 test.f1.b 1 Using where; Using index
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (c1 INT, c2 INT);
|
||||
INSERT INTO t1 VALUES (1,11), (2,22), (2,22);
|
||||
EXPLAIN SELECT c1 FROM t1 WHERE (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT COUNT(c2)))))))))))))))))))))))))))))))) > 0;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 3 Using where
|
||||
31 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
32 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
EXPLAIN SELECT c1 FROM t1 WHERE (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT COUNT(c2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) > 0;
|
||||
ERROR HY000: Too high level of nesting for select
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
c1 int(11) NOT NULL AUTO_INCREMENT,
|
||||
c2 varchar(1000) DEFAULT NULL,
|
||||
|
||||
@@ -84,7 +84,7 @@ UNIQUE KEY e_n (email,name)
|
||||
EXPLAIN SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1 ON kid = t2.id WHERE t1.id IS NULL LIMIT 10;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 system PRIMARY,kid NULL NULL NULL 0 const row not found
|
||||
1 SIMPLE t2 index NULL e_n 104 NULL 200
|
||||
1 SIMPLE t2 index NULL e_n 104 NULL 10
|
||||
SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1 ON kid = t2.id WHERE t1.id IS NULL LIMIT 10;
|
||||
email
|
||||
email1
|
||||
|
||||
@@ -969,6 +969,18 @@ CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create user 'mysqltest
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE FUNCTION bug_13627_f() returns int BEGIN create user 'mysqltest_1'; return 1; END |
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE TRIGGER bug21975 BEFORE INSERT ON t1 FOR EACH ROW BEGIN grant select on t1 to 'mysqltest_1'; END |
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE FUNCTION bug21975() returns int BEGIN grant select on t1 to 'mysqltest_1'; return 1; END |
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE TRIGGER bug21975 BEFORE INSERT ON t1 FOR EACH ROW BEGIN revoke select on t1 from 'mysqltest_1'; END |
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE FUNCTION bug21975() returns int BEGIN revoke select on t1 from 'mysqltest_1'; return 1; END |
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE TRIGGER bug21975 BEFORE INSERT ON t1 FOR EACH ROW BEGIN revoke all privileges on *.* from 'mysqltest_1'; END |
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE FUNCTION bug21975() returns int BEGIN revoke all privileges on *.* from 'mysqltest_1'; return 1; END |
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN drop user 'mysqltest_1'; END |
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE FUNCTION bug_13627_f() returns int BEGIN drop user 'mysqltest_1'; return 1; END |
|
||||
|
||||
@@ -5670,7 +5670,7 @@ drop function if exists pi;
|
||||
create function pi() returns varchar(50)
|
||||
return "pie, my favorite desert.";
|
||||
Warnings:
|
||||
Note 1582 This function 'pi' has the same name as a native function
|
||||
Note 1583 This function 'pi' has the same name as a native function
|
||||
SET @save_sql_mode=@@sql_mode;
|
||||
SET SQL_MODE='IGNORE_SPACE';
|
||||
select pi(), pi ();
|
||||
@@ -5719,15 +5719,15 @@ use test;
|
||||
create function `database`() returns varchar(50)
|
||||
return "Stored function database";
|
||||
Warnings:
|
||||
Note 1582 This function 'database' has the same name as a native function
|
||||
Note 1583 This function 'database' has the same name as a native function
|
||||
create function `current_user`() returns varchar(50)
|
||||
return "Stored function current_user";
|
||||
Warnings:
|
||||
Note 1582 This function 'current_user' has the same name as a native function
|
||||
Note 1583 This function 'current_user' has the same name as a native function
|
||||
create function md5(x varchar(50)) returns varchar(50)
|
||||
return "Stored function md5";
|
||||
Warnings:
|
||||
Note 1582 This function 'md5' has the same name as a native function
|
||||
Note 1583 This function 'md5' has the same name as a native function
|
||||
SET SQL_MODE='IGNORE_SPACE';
|
||||
select database(), database ();
|
||||
database() database ()
|
||||
@@ -6546,4 +6546,56 @@ DROP VIEW v1;
|
||||
DROP FUNCTION f1;
|
||||
DROP FUNCTION f2;
|
||||
DROP TABLE t1;
|
||||
|
||||
# Bug#13675.
|
||||
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
DROP PROCEDURE IF EXISTS p2;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
|
||||
CREATE PROCEDURE p1(v DATETIME) CREATE TABLE t1 SELECT v;
|
||||
CREATE PROCEDURE p2(v INT) CREATE TABLE t1 SELECT v;
|
||||
|
||||
CALL p1(NOW());
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`v` datetime DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CALL p1('text');
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'v' at row 1
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`v` datetime DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CALL p2(10);
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`v` bigint(11) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CALL p2('text');
|
||||
Warnings:
|
||||
Warning 1366 Incorrect integer value: 'text' for column 'v' at row 1
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`v` bigint(11) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
DROP PROCEDURE p1;
|
||||
DROP PROCEDURE p2;
|
||||
End of 5.0 tests
|
||||
|
||||
@@ -7,11 +7,11 @@ return 1;
|
||||
create function x() returns int
|
||||
return 2;
|
||||
Warnings:
|
||||
Note 1582 This function 'x' has the same name as a native function
|
||||
Note 1583 This function 'x' has the same name as a native function
|
||||
create function y() returns int
|
||||
return 3;
|
||||
Warnings:
|
||||
Note 1582 This function 'y' has the same name as a native function
|
||||
Note 1583 This function 'y' has the same name as a native function
|
||||
select a();
|
||||
a()
|
||||
1
|
||||
|
||||
@@ -208,3 +208,26 @@ GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
|
||||
drop user mysqltest_1@localhost;
|
||||
drop procedure 15298_1;
|
||||
drop procedure 15298_2;
|
||||
drop table if exists t1;
|
||||
drop procedure if exists p1;
|
||||
create table t1 (value varchar(15));
|
||||
create procedure p1() update t1 set value='updated' where value='old';
|
||||
call p1();
|
||||
insert into t1 (value) values ("old");
|
||||
select get_lock('b26162',120);
|
||||
get_lock('b26162',120)
|
||||
1
|
||||
select 'rl_acquirer', value from t1 where get_lock('b26162',120);;
|
||||
set session low_priority_updates=on;
|
||||
call p1();;
|
||||
select 'rl_contender', value from t1;
|
||||
rl_contender value
|
||||
rl_contender old
|
||||
select release_lock('b26162');
|
||||
release_lock('b26162')
|
||||
1
|
||||
rl_acquirer value
|
||||
rl_acquirer old
|
||||
drop procedure p1;
|
||||
drop table t1;
|
||||
set session low_priority_updates=default;
|
||||
|
||||
@@ -16,12 +16,9 @@ unlock tables;
|
||||
lock tables t1 read;
|
||||
update t1 set n = 3;
|
||||
unlock tables;
|
||||
show status like 'Table_locks_waited%';
|
||||
show status like 'Table_locks_waited';
|
||||
Variable_name Value
|
||||
Table_locks_waited 1
|
||||
select * from information_schema.session_status where variable_name like 'Table_locks_waited%';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
TABLE_LOCKS_WAITED 1
|
||||
drop table t1;
|
||||
select 1;
|
||||
1
|
||||
|
||||
@@ -215,11 +215,11 @@ ERROR 22007: Incorrect date value: '2004-10-00 15:30:00' for column 'col1' at ro
|
||||
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('31.9.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect date value: '2004-09-31 15:30:00' for column 'col1' at row 1
|
||||
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_time
|
||||
ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('29.02.2003 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect date value: '2003-02-29 15:30:00' for column 'col1' at row 1
|
||||
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('15.13.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_time
|
||||
ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col1) VALUES(STR_TO_DATE('00.00.0000','%d.%m.%Y'));
|
||||
ERROR 22007: Incorrect date value: '0000-00-00' for column 'col1' at row 1
|
||||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('31.10.0000 15.30','%d.%m.%Y %H.%i'));
|
||||
@@ -230,11 +230,11 @@ ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col2' a
|
||||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('31.9.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect datetime value: '2004-09-31 15:30:00' for column 'col2' at row 1
|
||||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_time
|
||||
ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('29.02.2003 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect datetime value: '2003-02-29 15:30:00' for column 'col2' at row 1
|
||||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('15.13.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_time
|
||||
ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col2) VALUES(STR_TO_DATE('00.00.0000','%d.%m.%Y'));
|
||||
ERROR 22007: Incorrect datetime value: '0000-00-00' for column 'col2' at row 1
|
||||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('31.10.0000 15.30','%d.%m.%Y %H.%i'));
|
||||
@@ -246,11 +246,11 @@ ERROR 22007: Incorrect datetime value: '2004-10-00 15:30:00' for column 'col3' a
|
||||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('31.9.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect datetime value: '2004-09-31 15:30:00' for column 'col3' at row 1
|
||||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_time
|
||||
ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('29.02.2003 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Incorrect datetime value: '2003-02-29 15:30:00' for column 'col3' at row 1
|
||||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('15.13.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_time
|
||||
ERROR HY000: Incorrect datetime value: '15.13.2004 15.30' for function str_to_date
|
||||
INSERT INTO t1 (col3) VALUES(STR_TO_DATE('00.00.0000','%d.%m.%Y'));
|
||||
ERROR 22007: Incorrect datetime value: '0000-00-00' for column 'col3' at row 1
|
||||
drop table t1;
|
||||
@@ -1070,24 +1070,24 @@ create table t1 (col1 datetime);
|
||||
insert into t1 values(STR_TO_DATE('31.10.2004 15.30 abc','%d.%m.%Y %H.%i'));
|
||||
ERROR 22007: Truncated incorrect datetime value: '31.10.2004 15.30 abc'
|
||||
insert into t1 values(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_time
|
||||
ERROR HY000: Incorrect datetime value: '32.10.2004 15.30' for function str_to_date
|
||||
insert into t1 values(STR_TO_DATE('2004.12.12 22:22:33 AM','%Y.%m.%d %r'));
|
||||
ERROR HY000: Incorrect time value: '22:22:33 AM' for function str_to_time
|
||||
ERROR HY000: Incorrect time value: '22:22:33 AM' for function str_to_date
|
||||
insert into t1 values(STR_TO_DATE('2004.12.12 abc','%Y.%m.%d %T'));
|
||||
ERROR HY000: Incorrect time value: 'abc' for function str_to_time
|
||||
ERROR HY000: Incorrect time value: 'abc' for function str_to_date
|
||||
set sql_mode='';
|
||||
insert into t1 values(STR_TO_DATE('31.10.2004 15.30 abc','%d.%m.%Y %H.%i'));
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: '31.10.2004 15.30 abc'
|
||||
insert into t1 values(STR_TO_DATE('32.10.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
Warnings:
|
||||
Error 1411 Incorrect datetime value: '32.10.2004 15.30' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '32.10.2004 15.30' for function str_to_date
|
||||
insert into t1 values(STR_TO_DATE('2004.12.12 22:22:33 AM','%Y.%m.%d %r'));
|
||||
Warnings:
|
||||
Error 1411 Incorrect time value: '22:22:33 AM' for function str_to_time
|
||||
Error 1411 Incorrect time value: '22:22:33 AM' for function str_to_date
|
||||
insert into t1 values(STR_TO_DATE('2004.12.12 abc','%Y.%m.%d %T'));
|
||||
Warnings:
|
||||
Error 1411 Incorrect time value: 'abc' for function str_to_time
|
||||
Error 1411 Incorrect time value: 'abc' for function str_to_date
|
||||
insert into t1 values(STR_TO_DATE('31.10.2004 15.30','%d.%m.%Y %H.%i'));
|
||||
insert into t1 values(STR_TO_DATE('2004.12.12 11:22:33 AM','%Y.%m.%d %r'));
|
||||
insert into t1 values(STR_TO_DATE('2004.12.12 10:22:59','%Y.%m.%d %T'));
|
||||
@@ -1105,9 +1105,9 @@ select count(*) from t1 where STR_TO_DATE('2004.12.12 10:22:61','%Y.%m.%d %T') I
|
||||
count(*)
|
||||
7
|
||||
Warnings:
|
||||
Error 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_time
|
||||
Error 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_date
|
||||
Error 1411 Incorrect datetime value: '2004.12.12 10:22:61' for function str_to_date
|
||||
drop table t1;
|
||||
create table t1 (col1 char(3), col2 integer);
|
||||
insert into t1 (col1) values (cast(1000 as char(3)));
|
||||
|
||||
@@ -3419,7 +3419,7 @@ EXPLAIN
|
||||
SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 9 Using where
|
||||
2 DEPENDENT SUBQUERY t1 index NULL a 8 NULL 9 Using filesort
|
||||
2 DEPENDENT SUBQUERY t1 index NULL a 8 NULL 1 Using filesort
|
||||
DROP TABLE t1;
|
||||
create table t1( f1 int,f2 int);
|
||||
insert into t1 values (1,1),(2,2);
|
||||
|
||||
@@ -618,6 +618,30 @@ bit_field int_field
|
||||
2
|
||||
handler t1 close;
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (b BIT(2), a VARCHAR(5));
|
||||
INSERT INTO t1 (b, a) VALUES (1, "x"), (3, "zz"), (0, "y"), (3, "z");
|
||||
SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
|
||||
b+0 COUNT(DISTINCT a)
|
||||
0 1
|
||||
1 1
|
||||
3 2
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a CHAR(5), b BIT(2));
|
||||
INSERT INTO t1 (b, a) VALUES (1, "x"), (3, "zz"), (0, "y"), (3, "z");
|
||||
SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
|
||||
b+0 COUNT(DISTINCT a)
|
||||
0 1
|
||||
1 1
|
||||
3 2
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT, b BIT(2));
|
||||
INSERT INTO t1 (b, a) VALUES (1, 1), (3, 2), (0, 3), (3, 4);
|
||||
SELECT b+0, COUNT(DISTINCT a) FROM t1 GROUP BY b;
|
||||
b+0 COUNT(DISTINCT a)
|
||||
0 1
|
||||
1 1
|
||||
3 2
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
create table t1(a bit(7));
|
||||
insert into t1 values(0x40);
|
||||
|
||||
@@ -334,4 +334,28 @@ Qcache_queries_in_cache 0
|
||||
drop table t1;
|
||||
drop function metaphon;
|
||||
set GLOBAL query_cache_size=default;
|
||||
CREATE TABLE const_len_bug (
|
||||
str_const varchar(4000),
|
||||
result1 varchar(4000),
|
||||
result2 varchar(4000)
|
||||
);
|
||||
CREATE TRIGGER check_const_len_trigger BEFORE INSERT ON const_len_bug FOR EACH ROW BEGIN
|
||||
set NEW.str_const = 'bar';
|
||||
set NEW.result2 = check_const_len(NEW.str_const);
|
||||
END |
|
||||
CREATE PROCEDURE check_const_len_sp (IN str_const VARCHAR(4000))
|
||||
BEGIN
|
||||
DECLARE result VARCHAR(4000);
|
||||
SET result = check_const_len(str_const);
|
||||
insert into const_len_bug values(str_const, result, "");
|
||||
END |
|
||||
CREATE FUNCTION check_const_len RETURNS string SONAME "UDF_EXAMPLE_LIB";
|
||||
CALL check_const_len_sp("foo");
|
||||
SELECT * from const_len_bug;
|
||||
str_const result1 result2
|
||||
bar Correct length Correct length
|
||||
DROP FUNCTION check_const_len;
|
||||
DROP PROCEDURE check_const_len_sp;
|
||||
DROP TRIGGER check_const_len_trigger;
|
||||
DROP TABLE const_len_bug;
|
||||
End of 5.0 tests.
|
||||
|
||||
@@ -647,32 +647,32 @@ select extractValue('<a>a','/a');
|
||||
extractValue('<a>a','/a')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1522 Incorrect XML value: 'parse error at line 1 pos 5: unexpected END-OF-INPUT'
|
||||
Warning 1523 Incorrect XML value: 'parse error at line 1 pos 5: unexpected END-OF-INPUT'
|
||||
select extractValue('<a>a<','/a');
|
||||
extractValue('<a>a<','/a')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1522 Incorrect XML value: 'parse error at line 1 pos 6: END-OF-INPUT unexpected (ident or '/' wanted)'
|
||||
Warning 1523 Incorrect XML value: 'parse error at line 1 pos 6: END-OF-INPUT unexpected (ident or '/' wanted)'
|
||||
select extractValue('<a>a</','/a');
|
||||
extractValue('<a>a</','/a')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1522 Incorrect XML value: 'parse error at line 1 pos 7: END-OF-INPUT unexpected (ident wanted)'
|
||||
Warning 1523 Incorrect XML value: 'parse error at line 1 pos 7: END-OF-INPUT unexpected (ident wanted)'
|
||||
select extractValue('<a>a</a','/a');
|
||||
extractValue('<a>a</a','/a')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1522 Incorrect XML value: 'parse error at line 1 pos 8: END-OF-INPUT unexpected ('>' wanted)'
|
||||
Warning 1523 Incorrect XML value: 'parse error at line 1 pos 8: END-OF-INPUT unexpected ('>' wanted)'
|
||||
select extractValue('<a>a</a></b>','/a');
|
||||
extractValue('<a>a</a></b>','/a')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1522 Incorrect XML value: 'parse error at line 1 pos 12: '</b>' unexpected (END-OF-INPUT wanted)'
|
||||
Warning 1523 Incorrect XML value: 'parse error at line 1 pos 12: '</b>' unexpected (END-OF-INPUT wanted)'
|
||||
select extractValue('<a b=>a</a>','/a');
|
||||
extractValue('<a b=>a</a>','/a')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1522 Incorrect XML value: 'parse error at line 1 pos 7: '>' unexpected (ident or string wanted)'
|
||||
Warning 1523 Incorrect XML value: 'parse error at line 1 pos 7: '>' unexpected (ident or string wanted)'
|
||||
select extractValue('<e>1</e>','position()');
|
||||
ERROR HY000: XPATH syntax error: ''
|
||||
select extractValue('<e>1</e>','last()');
|
||||
@@ -723,17 +723,17 @@ select extractValue('<zot><tim0><01>10:39:15</01><02>140</02></tim0></zot>','//*
|
||||
extractValue('<zot><tim0><01>10:39:15</01><02>140</02></tim0></zot>','//*')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1522 Incorrect XML value: 'parse error at line 1 pos 13: unknown token unexpected (ident or '/' wanted)'
|
||||
Warning 1523 Incorrect XML value: 'parse error at line 1 pos 13: unknown token unexpected (ident or '/' wanted)'
|
||||
select extractValue('<.>test</.>','//*');
|
||||
extractValue('<.>test</.>','//*')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1522 Incorrect XML value: 'parse error at line 1 pos 2: unknown token unexpected (ident or '/' wanted)'
|
||||
Warning 1523 Incorrect XML value: 'parse error at line 1 pos 2: unknown token unexpected (ident or '/' wanted)'
|
||||
select extractValue('<->test</->','//*');
|
||||
extractValue('<->test</->','//*')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1522 Incorrect XML value: 'parse error at line 1 pos 2: unknown token unexpected (ident or '/' wanted)'
|
||||
Warning 1523 Incorrect XML value: 'parse error at line 1 pos 2: unknown token unexpected (ident or '/' wanted)'
|
||||
select extractValue('<:>test</:>','//*');
|
||||
extractValue('<:>test</:>','//*')
|
||||
test
|
||||
|
||||
@@ -135,4 +135,37 @@ show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 1
|
||||
drop table t1;
|
||||
CREATE TABLE `t1` (
|
||||
`a` int(11) NOT NULL auto_increment,
|
||||
`b` int(11) default NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
|
||||
CREATE TABLE `t2` (
|
||||
`a` int(11) NOT NULL auto_increment,
|
||||
`b` int(11) default NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=INNODB DEFAULT CHARSET=latin1 ;
|
||||
insert into t1 values (1,1),(2,2);
|
||||
insert into t2 values (1,1),(4,4);
|
||||
reset master;
|
||||
UPDATE t2,t1 SET t2.a=t1.a+2;
|
||||
ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
|
||||
select * from t2 /* must be (3,1), (4,4) */;
|
||||
a b
|
||||
1 1
|
||||
4 4
|
||||
show master status /* there must no UPDATE in binlog */;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 106
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
insert into t1 values (1,2),(3,4),(4,4);
|
||||
insert into t2 values (1,2),(3,4),(4,4);
|
||||
reset master;
|
||||
UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
|
||||
ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
|
||||
show master status /* there must be no UPDATE query event */;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 106
|
||||
drop table t1, t2;
|
||||
End of tests
|
||||
|
||||
@@ -130,4 +130,43 @@ show status like "binlog_cache_use";
|
||||
show status like "binlog_cache_disk_use";
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#27716 multi-update did partially and has not binlogged
|
||||
#
|
||||
|
||||
CREATE TABLE `t1` (
|
||||
`a` int(11) NOT NULL auto_increment,
|
||||
`b` int(11) default NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
|
||||
|
||||
CREATE TABLE `t2` (
|
||||
`a` int(11) NOT NULL auto_increment,
|
||||
`b` int(11) default NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=INNODB DEFAULT CHARSET=latin1 ;
|
||||
|
||||
# A. testing multi_update::send_eof() execution branch
|
||||
insert into t1 values (1,1),(2,2);
|
||||
insert into t2 values (1,1),(4,4);
|
||||
reset master;
|
||||
--error ER_DUP_ENTRY
|
||||
UPDATE t2,t1 SET t2.a=t1.a+2;
|
||||
# check
|
||||
select * from t2 /* must be (3,1), (4,4) */;
|
||||
show master status /* there must no UPDATE in binlog */;
|
||||
|
||||
# B. testing multi_update::send_error() execution branch
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
insert into t1 values (1,2),(3,4),(4,4);
|
||||
insert into t2 values (1,2),(3,4),(4,4);
|
||||
reset master;
|
||||
--error ER_DUP_ENTRY
|
||||
UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
|
||||
show master status /* there must be no UPDATE query event */;
|
||||
|
||||
# cleanup bug#27716
|
||||
drop table t1, t2;
|
||||
|
||||
--echo End of tests
|
||||
|
||||
107
mysql-test/suite/funcs_1/datadict/datadict_priv.inc
Normal file
107
mysql-test/suite/funcs_1/datadict/datadict_priv.inc
Normal file
@@ -0,0 +1,107 @@
|
||||
############## suite/funcs_1/datadict/datadict_priv.inc ################
|
||||
# #
|
||||
# DDL and DML operations on information_schema tables #
|
||||
# #
|
||||
# Creation: #
|
||||
# 2007-08 hhunger Implement this test as part of #
|
||||
# WL#3982 Test information_schema.processlist #
|
||||
# #
|
||||
# Last update: #
|
||||
# 2007-08-14 mleich Some cleanup #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
# These variables have to be set before sourcing this file.
|
||||
#
|
||||
# information_schema table to be tested
|
||||
# let $table= processlist;
|
||||
#
|
||||
# columns of the information_schema table e.g. to use in a select.
|
||||
# let $columns= ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO;
|
||||
#
|
||||
# Where clause for an update.
|
||||
# let $update_where= WHERE id=1 ;
|
||||
#
|
||||
# Column to be used in the SET of an update.
|
||||
# let $set_column= user='any_user' ;
|
||||
#
|
||||
# Where clause of a delete.
|
||||
# let $delete_where= WHERE id=1 ;
|
||||
#
|
||||
# Column to be dropped.
|
||||
# let $drop_column= user;
|
||||
#
|
||||
# Column to be indexed
|
||||
# let $index_col= user;
|
||||
|
||||
|
||||
# data access
|
||||
|
||||
eval CREATE TEMPORARY TABLE test.t_$table AS SELECT * FROM $table;
|
||||
|
||||
eval UPDATE test.t_$table SET user='horst' $update_where ;
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval INSERT INTO $table SELECT * FROM test.t_$table;
|
||||
|
||||
# bug#30208: CREATE TABLE ...LIKE does not accept dbname.tablename:unknown database
|
||||
eval DROP TABLE test.t_$table;
|
||||
|
||||
--error ER_VIEW_NONUPD_CHECK
|
||||
eval CREATE VIEW test.v_$table ($columns) AS SELECT * FROM $table WITH CHECK OPTION;
|
||||
|
||||
eval CREATE VIEW test.v_$table ($columns) AS SELECT * FROM $table;
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval UPDATE test.v_$TABLE SET TIME=NOW() WHERE id = 1;
|
||||
|
||||
eval DROP VIEW test.v_$table;
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval UPDATE $table SET $set_column $update_where;
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval DELETE FROM $table $delete_where;
|
||||
|
||||
# change privileges
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval REVOKE ALL ON $table FROM current_user;
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval GRANT INSERT,UPDATE ON $table TO current_user;
|
||||
|
||||
SHOW GRANTS;
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# table access
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval CREATE INDEX i_$table ON $table ($index_col);
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval DROP TABLE $table;
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval ALTER TABLE $table DROP COLUMN $drop_column;
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval ALTER TABLE $table ADD COLUMN (my_column INT);
|
||||
|
||||
--error ER_UNKNOWN_TABLE
|
||||
eval RENAME TABLE $table TO new_$table;
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval RENAME TABLE $table TO files;
|
||||
|
||||
--error ER_UNKNOWN_TABLE
|
||||
eval CREATE TABLE new_$table AS SELECT * FROM $table;
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# database access
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
DROP DATABASE information_schema;
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
RENAME DATABASE information_schema TO info_schema;
|
||||
432
mysql-test/suite/funcs_1/datadict/processlist_priv.inc
Normal file
432
mysql-test/suite/funcs_1/datadict/processlist_priv.inc
Normal file
@@ -0,0 +1,432 @@
|
||||
############ suite/funcs_1/datadict/processlist_priv.inc ###############
|
||||
# #
|
||||
# Testing of privileges around #
|
||||
# SELECT ... PROCESSLIST/SHOW PROCESSLIST #
|
||||
# #
|
||||
# Note(mleich): #
|
||||
# There is a significant risk to get an unstable test because of #
|
||||
# timing issues. #
|
||||
# Example1: #
|
||||
# 1. Disconnect connection X #
|
||||
# 2. Switch to connection Y #
|
||||
# 3. SHOW PROCESSLIST might present a record like #
|
||||
# <ID> <user> <host> <db> Quit 0 cleaning up NULL #
|
||||
# or even a row where connection X is without #
|
||||
# "Quit" or "cleaning up". #
|
||||
# That means our SHOW PROCESSLIST can come too early. #
|
||||
# Solution: #
|
||||
# Close the connections at the end of the test. #
|
||||
# Example2: #
|
||||
# 1. connection X: SHOW PROCESSLIST/GRANT ... etc. #
|
||||
# 2. Switch to connection Y #
|
||||
# 3. SHOW PROCESSLIST might present a record like #
|
||||
# <ID> <user> <host> <db> Query TIME cleaning up <command> #
|
||||
# <ID> <user> <host> <db> Query TIME writing to net <command> #
|
||||
# Problems happens more often in case of slow filesystem! #
|
||||
# First Solution: #
|
||||
# Insert a dummy SQL command where the cleanup is most probably #
|
||||
# fast before switching to another connection and running #
|
||||
# SHOW/SELECT PROCESSLIST. #
|
||||
# Suppress writing to protocol by assignment to $variable. #
|
||||
# let $my_var= `SELECT 1`; #
|
||||
# Even the 'SELECT 1' was in some cases in state #
|
||||
# "writing to net". #
|
||||
# Final Solution: #
|
||||
# --real_sleep 0.3 #
|
||||
# This value was at least on my box sufficient. #
|
||||
# Please inform us if this test fails so that we can adjust #
|
||||
# the sleep time better or switch to poll routines. #
|
||||
# #
|
||||
# Storage engine variants of this test do not make sense. #
|
||||
# - I_S tables use the MEMORY storage engine whenever possible. #
|
||||
# - There are some I_S table which need column data types which #
|
||||
# are not supported by MEMORY. Example: LONGTEXT/BLOB #
|
||||
# MyISAM will be used for such tables. #
|
||||
# The column PROCESSLIST.INFO is of data type LONGTEXT #
|
||||
# ----> MyISAM #
|
||||
# - There is no impact of the GLOBAL(server) or SESSION default #
|
||||
# storage engine setting on the engine used for I_S tables. #
|
||||
# That means we cannot get NDB or InnoDB instead. #
|
||||
# #
|
||||
# Creation: #
|
||||
# 2007-08 hhunger Implement this test as part of #
|
||||
# WL#3982 Test information_schema.processlist #
|
||||
# #
|
||||
# Last update: #
|
||||
# 2007-08-14 mleich Corrections #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
# The following variables are used in "datadict_priv.inc" and here.
|
||||
#
|
||||
# information_schema table to be tested
|
||||
let $table= processlist;
|
||||
#
|
||||
# columns of the information_schema table e.g. to use in a select.
|
||||
let $columns= ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO;
|
||||
#
|
||||
# Where clause for an update.
|
||||
let $update_where= WHERE id=1 ;
|
||||
#
|
||||
# Column to be used in the SET of an update.
|
||||
let $set_column= user='any_user' ;
|
||||
#
|
||||
# Where clause of a delete.
|
||||
let $delete_where= WHERE id=1 ;
|
||||
#
|
||||
# Column to be dropped.
|
||||
let $drop_column= user;
|
||||
#
|
||||
# Column to be indexed
|
||||
let $index_col= user;
|
||||
|
||||
USE information_schema;
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 1 Prepare test.
|
||||
--echo connection default (user=root)
|
||||
--echo ####################################################################################
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 1.1 Create two user
|
||||
--echo ####################################################################################
|
||||
# access to info tables as normal user
|
||||
--disable_abort_on_error
|
||||
DROP USER ddicttestuser1@'localhost';
|
||||
DROP USER ddicttestuser2@'localhost';
|
||||
--enable_abort_on_error
|
||||
CREATE USER ddicttestuser1@'localhost';
|
||||
CREATE USER ddicttestuser2@'localhost';
|
||||
SET PASSWORD FOR ddicttestuser1@'localhost' = PASSWORD('ddictpass');
|
||||
SET PASSWORD FOR ddicttestuser2@'localhost' = PASSWORD('ddictpass');
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 1.2 Establish connection con100 (user=ddicttestuser1 with no PROCESS privilege):
|
||||
connect (con100,localhost,ddicttestuser1,ddictpass,information_schema);
|
||||
--echo ####################################################################################
|
||||
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 2 connection default(user=root with default privileges):
|
||||
--echo SHOW/SELECT shows all processes/threads.
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
eval SHOW CREATE TABLE $table;
|
||||
--replace_column 6 TIME
|
||||
eval SHOW $table;
|
||||
--replace_column 6 TIME
|
||||
eval SELECT * FROM $table $select_where ORDER BY id;
|
||||
--replace_column 6 TIME
|
||||
eval SELECT $columns FROM $table $select_where ORDER BY id;
|
||||
--source suite/funcs_1/datadict/datadict_priv.inc
|
||||
--real_sleep 0.3
|
||||
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 3 Switch to connection con100 (user=ddicttestuser1 with no PROCESS privilege):
|
||||
connection con100;
|
||||
--echo SHOW/SELECT shows only the processes (1) of the user.
|
||||
--echo ####################################################################################
|
||||
eval SHOW CREATE TABLE $table;
|
||||
--replace_column 6 TIME
|
||||
eval SHOW $table;
|
||||
--replace_column 6 TIME
|
||||
eval SELECT * FROM $table $select_where ORDER BY id;
|
||||
--replace_column 6 TIME
|
||||
eval SELECT $columns FROM $table $select_where ORDER BY id;
|
||||
--source suite/funcs_1/datadict/datadict_priv.inc
|
||||
--real_sleep 0.3
|
||||
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 4 Grant PROCESS privilege to ddicttestuser1
|
||||
--echo connection default (user=root)
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
GRANT PROCESS ON *.* TO ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 4.1 Existing connection con100 (ddicttestuser1)
|
||||
--echo The user ddicttestuser1 has the PROCESS privilege, but the connection was
|
||||
--echo established before PROCESS was granted.
|
||||
--echo SHOW/SELECT shows only the processes (1) of the user.
|
||||
--echo ####################################################################################
|
||||
connection con100;
|
||||
SHOW GRANTS;
|
||||
--replace_column 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 4.2 New connection con101 (ddicttestuser1 with PROCESS privilege)
|
||||
--echo SHOW/SELECT shows all processes/threads.
|
||||
--echo ####################################################################################
|
||||
connect (con101,localhost,ddicttestuser1,ddictpass,information_schema);
|
||||
SHOW GRANTS;
|
||||
--replace_column 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 5 Grant PROCESS privilege to anonymous user.
|
||||
--echo connection default (user=root)
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
GRANT PROCESS ON *.* TO ''@'localhost';
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 5.1 Establish connection (anonymous1,localhost,'',,information_schema)
|
||||
--echo anonymous user with PROCESS privilege
|
||||
--echo SHOW/SELECT shows all processes/threads.
|
||||
--echo ####################################################################################
|
||||
connect (anonymous1,localhost,'',,information_schema);
|
||||
SHOW GRANTS;
|
||||
--replace_column 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 6 Revoke PROCESS privilege from ddicttestuser1
|
||||
--echo connection default (user=root)
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
REVOKE PROCESS ON *.* FROM ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 6.1 New connection con102 (ddicttestuser1 has no more PROCESS privilege)
|
||||
connect (con102,localhost,ddicttestuser1,ddictpass,information_schema);
|
||||
--echo Again (compared to state before GRANT PROCESS) only the processes of
|
||||
--echo ddicttestuser1 are visible.
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS;
|
||||
--replace_column 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 7 Revoke PROCESS privilege from anonymous user + disconnect ddicttestuser1
|
||||
--echo connection default (user=root)
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
REVOKE PROCESS ON *.* FROM ''@'localhost';
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 7.1 New connection (anonymous2,localhost,'',,information_schema)
|
||||
connect (anonymous2,localhost,'',,information_schema);
|
||||
--echo The anonymous user has no more the PROCESS privilege
|
||||
--echo Again only the processes of the anonymous user are visible.
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS FOR ''@'localhost';
|
||||
if ($fixed_bug_30395)
|
||||
{
|
||||
# Bug#30395 strange results after REVOKE PROCESS ON *.* FROM ...
|
||||
--replace_column 6 TIME
|
||||
SHOW processlist;
|
||||
}
|
||||
--replace_column 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 8 Grant SUPER (does not imply PROCESS) privilege to ddicttestuser1
|
||||
--echo connection default (user=root)
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost';
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 8.1 New connection con103 (ddicttestuser1 with SUPER privilege)
|
||||
connect (con103,localhost,ddicttestuser1,ddictpass,information_schema);
|
||||
--echo Only the processes of ddicttestuser1 user are visible.
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
--replace_column 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 9 Revoke SUPER privilege from user ddicttestuser1
|
||||
--echo connection default (user=root)
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
REVOKE SUPER ON *.* FROM 'ddicttestuser1'@'localhost';
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 9.1 New connection con104 (ddicttestuser1 without SUPER privilege)
|
||||
connect (con104,localhost,ddicttestuser1,ddictpass,information_schema);
|
||||
--echo ddicttestuser1 has no more the SUPER privilege.
|
||||
--echo Only the processes of ddicttestuser1 are visible.
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
--replace_column 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 10 Grant SUPER privilege with grant option to user ddicttestuser1.
|
||||
--echo connection default (user=root)
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' WITH GRANT OPTION;
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 10.1 New connection con105 (ddicttestuser1 with SUPER privilege and GRANT OPTION)
|
||||
connect (con105,localhost,ddicttestuser1,ddictpass,information_schema);
|
||||
--echo Try to grant PROCESS privilege to user ddicttestuser2 without having it.
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
--error ER_ACCESS_DENIED_ERROR
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 10.2 Grant SUPER and PROCESS privilege with grant option to user ddicttestuser1
|
||||
--echo connection default (user=root)
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
GRANT SUPER,PROCESS ON *.* TO 'ddicttestuser1'@'localhost' WITH GRANT OPTION;
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 10.3 New connection con106 (ddicttestuser1 with SUPER,PROCESS WITH GRANT OPTION)
|
||||
connect (con106,localhost,ddicttestuser1,ddictpass,information_schema);
|
||||
--echo Grant PROCESS privilege to user ddicttestuser2
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 10.4 New connection con200 (ddicttestuser2 with PROCESS privilege)
|
||||
connect (con200,localhost,ddicttestuser2,ddictpass,information_schema);
|
||||
--echo ddicttestuser2 has now the PROCESS privilege and sees all connections
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser2'@'localhost';
|
||||
--replace_column 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 11 User ddicttestuser1 revokes PROCESS privilege from user ddicttestuser2
|
||||
--echo connection ddicttestuser1;
|
||||
--echo ####################################################################################
|
||||
connection con106;
|
||||
REVOKE PROCESS ON *.* FROM 'ddicttestuser2'@'localhost';
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 11.1 New connection con201 (ddicttestuser2)
|
||||
connect (con201,localhost,ddicttestuser2,ddictpass,information_schema);
|
||||
--echo ddicttestuser2 has no more the PROCESS privilege and can only see own connects
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS;
|
||||
--replace_column 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 11.2 Revoke SUPER,PROCESS,GRANT OPTION privilege from user ddicttestuser1
|
||||
--echo connection default (user=root)
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
REVOKE SUPER,PROCESS,GRANT OPTION ON *.* FROM 'ddicttestuser1'@'localhost';
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 11.3 New connection con107 (ddicttestuser1)
|
||||
connect (con107,localhost,ddicttestuser1,ddictpass,information_schema);
|
||||
--echo ddicttestuser1 has no more the PROCESS privilege and can only see own connects
|
||||
--echo He is also unable to GRANT the PROCESS privilege to ddicttestuser2
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
--error ER_ACCESS_DENIED_ERROR
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
|
||||
--replace_column 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 12 Revoke the SELECT privilege from user ddicttestuser1
|
||||
--echo connection default (user=root)
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
REVOKE SELECT ON *.* FROM 'ddicttestuser1'@'localhost';
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 12.1 New connection con108 (ddicttestuser1)
|
||||
connect (con108,localhost,ddicttestuser1,ddictpass,information_schema);
|
||||
--echo ddicttestuser1 has neither PROCESS nor SELECT privilege
|
||||
--echo Manual says: Each MySQL user has the right to access these tables, but can see
|
||||
--echo only the rows ...
|
||||
--echo Therefore the missing SELECT privilege does not affect SELECTs on PROCESSLIST.
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
--replace_column 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo 12.2 Revoke only the SELECT privilege on the information_schema from ddicttestuser1.
|
||||
--echo connection default (user=root)
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
REVOKE SELECT ON information_schema.* FROM 'ddicttestuser3'@'localhost';
|
||||
--real_sleep 0.3
|
||||
|
||||
|
||||
--echo ####################################################################################
|
||||
--echo connection default (user=root)
|
||||
--echo Cleanup: close connections, DROP USER etc.
|
||||
--echo ####################################################################################
|
||||
connection default;
|
||||
disconnect con100;
|
||||
disconnect con101;
|
||||
disconnect con102;
|
||||
disconnect con103;
|
||||
disconnect con104;
|
||||
disconnect con105;
|
||||
disconnect con106;
|
||||
disconnect con107;
|
||||
disconnect con108;
|
||||
disconnect con200;
|
||||
disconnect con201;
|
||||
disconnect anonymous1;
|
||||
disconnect anonymous2;
|
||||
DROP USER ddicttestuser1@'localhost';
|
||||
DROP USER ddicttestuser2@'localhost';
|
||||
333
mysql-test/suite/funcs_1/datadict/processlist_val.inc
Normal file
333
mysql-test/suite/funcs_1/datadict/processlist_val.inc
Normal file
File diff suppressed because one or more lines are too long
@@ -55,7 +55,7 @@ f106 year(3) not null default 2000,
|
||||
f107 year(4) not null default 2000,
|
||||
f108 enum("1enum","2enum") not null default "1enum",
|
||||
f109 set("1set","2set") not null default "1set"
|
||||
) engine = innodb;
|
||||
) engine = ndb;
|
||||
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb2.txt' into table tb2 ;
|
||||
|
||||
469
mysql-test/suite/funcs_1/r/a_processlist_priv_no_prot.result
Normal file
469
mysql-test/suite/funcs_1/r/a_processlist_priv_no_prot.result
Normal file
@@ -0,0 +1,469 @@
|
||||
USE information_schema;
|
||||
####################################################################################
|
||||
1 Prepare test.
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
####################################################################################
|
||||
1.1 Create two user
|
||||
####################################################################################
|
||||
DROP USER ddicttestuser1@'localhost';
|
||||
ERROR HY000: Operation DROP USER failed for 'ddicttestuser1'@'localhost'
|
||||
DROP USER ddicttestuser2@'localhost';
|
||||
ERROR HY000: Operation DROP USER failed for 'ddicttestuser2'@'localhost'
|
||||
CREATE USER ddicttestuser1@'localhost';
|
||||
CREATE USER ddicttestuser2@'localhost';
|
||||
SET PASSWORD FOR ddicttestuser1@'localhost' = PASSWORD('ddictpass');
|
||||
SET PASSWORD FOR ddicttestuser2@'localhost' = PASSWORD('ddictpass');
|
||||
####################################################################################
|
||||
1.2 Establish connection con100 (user=ddicttestuser1 with no PROCESS privilege):
|
||||
####################################################################################
|
||||
####################################################################################
|
||||
2 connection default(user=root with default privileges):
|
||||
SHOW/SELECT shows all processes/threads.
|
||||
####################################################################################
|
||||
SHOW CREATE TABLE processlist;
|
||||
Table Create Table
|
||||
PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
|
||||
`ID` bigint(4) NOT NULL DEFAULT '0',
|
||||
`USER` varchar(16) NOT NULL DEFAULT '',
|
||||
`HOST` varchar(64) NOT NULL DEFAULT '',
|
||||
`DB` varchar(64) DEFAULT NULL,
|
||||
`COMMAND` varchar(16) NOT NULL DEFAULT '',
|
||||
`TIME` bigint(7) NOT NULL DEFAULT '0',
|
||||
`STATE` varchar(64) DEFAULT NULL,
|
||||
`INFO` longtext
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
1 root localhost information_schema Query TIME NULL SHOW processlist
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
SELECT * FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
1 root localhost information_schema Query TIME preparing SELECT * FROM processlist ORDER BY id
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
1 root localhost information_schema Query TIME preparing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
|
||||
UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
|
||||
INSERT INTO processlist SELECT * FROM test.t_processlist;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
DROP TABLE test.t_processlist;
|
||||
CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist WITH CHECK OPTION;
|
||||
ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist'
|
||||
CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist;
|
||||
UPDATE test.v_processlist SET TIME=NOW() WHERE id = 1;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
DROP VIEW test.v_processlist;
|
||||
UPDATE processlist SET user='any_user' WHERE id=1 ;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
DELETE FROM processlist WHERE id=1 ;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
REVOKE ALL ON processlist FROM current_user;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
GRANT INSERT,UPDATE ON processlist TO current_user;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
SHOW GRANTS;
|
||||
Grants for root@localhost
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
|
||||
CREATE INDEX i_processlist ON processlist (user);
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
DROP TABLE processlist;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
ALTER TABLE processlist DROP COLUMN user;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
ALTER TABLE processlist ADD COLUMN (my_column INT);
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
RENAME TABLE processlist TO new_processlist;
|
||||
ERROR 42S02: Unknown table 'new_processlist' in information_schema
|
||||
RENAME TABLE processlist TO files;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
CREATE TABLE new_processlist AS SELECT * FROM processlist;
|
||||
ERROR 42S02: Unknown table 'new_processlist' in information_schema
|
||||
DROP DATABASE information_schema;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
RENAME DATABASE information_schema TO info_schema;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
####################################################################################
|
||||
3 Switch to connection con100 (user=ddicttestuser1 with no PROCESS privilege):
|
||||
SHOW/SELECT shows only the processes (1) of the user.
|
||||
####################################################################################
|
||||
SHOW CREATE TABLE processlist;
|
||||
Table Create Table
|
||||
PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
|
||||
`ID` bigint(4) NOT NULL DEFAULT '0',
|
||||
`USER` varchar(16) NOT NULL DEFAULT '',
|
||||
`HOST` varchar(64) NOT NULL DEFAULT '',
|
||||
`DB` varchar(64) DEFAULT NULL,
|
||||
`COMMAND` varchar(16) NOT NULL DEFAULT '',
|
||||
`TIME` bigint(7) NOT NULL DEFAULT '0',
|
||||
`STATE` varchar(64) DEFAULT NULL,
|
||||
`INFO` longtext
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
2 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
2 ddicttestuser1 localhost information_schema Query TIME preparing SELECT * FROM processlist ORDER BY id
|
||||
SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
2 ddicttestuser1 localhost information_schema Query TIME preparing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id
|
||||
CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
|
||||
UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
|
||||
INSERT INTO processlist SELECT * FROM test.t_processlist;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
DROP TABLE test.t_processlist;
|
||||
CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist WITH CHECK OPTION;
|
||||
ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist'
|
||||
CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist;
|
||||
UPDATE test.v_processlist SET TIME=NOW() WHERE id = 1;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
DROP VIEW test.v_processlist;
|
||||
UPDATE processlist SET user='any_user' WHERE id=1 ;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
DELETE FROM processlist WHERE id=1 ;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
REVOKE ALL ON processlist FROM current_user;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
GRANT INSERT,UPDATE ON processlist TO current_user;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
SHOW GRANTS;
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
CREATE INDEX i_processlist ON processlist (user);
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
DROP TABLE processlist;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
ALTER TABLE processlist DROP COLUMN user;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
ALTER TABLE processlist ADD COLUMN (my_column INT);
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
RENAME TABLE processlist TO new_processlist;
|
||||
ERROR 42S02: Unknown table 'new_processlist' in information_schema
|
||||
RENAME TABLE processlist TO files;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
CREATE TABLE new_processlist AS SELECT * FROM processlist;
|
||||
ERROR 42S02: Unknown table 'new_processlist' in information_schema
|
||||
DROP DATABASE information_schema;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
RENAME DATABASE information_schema TO info_schema;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
####################################################################################
|
||||
4 Grant PROCESS privilege to ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
GRANT PROCESS ON *.* TO ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
|
||||
####################################################################################
|
||||
4.1 Existing connection con100 (ddicttestuser1)
|
||||
The user ddicttestuser1 has the PROCESS privilege, but the connection was
|
||||
established before PROCESS was granted.
|
||||
SHOW/SELECT shows only the processes (1) of the user.
|
||||
####################################################################################
|
||||
SHOW GRANTS;
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
2 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
2 ddicttestuser1 localhost information_schema Query TIME preparing SELECT * FROM information_schema.processlist
|
||||
####################################################################################
|
||||
4.2 New connection con101 (ddicttestuser1 with PROCESS privilege)
|
||||
SHOW/SELECT shows all processes/threads.
|
||||
####################################################################################
|
||||
SHOW GRANTS;
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
1 root localhost information_schema Sleep TIME NULL
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
3 ddicttestuser1 localhost information_schema Query TIME preparing SELECT * FROM information_schema.processlist
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
1 root localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
5 Grant PROCESS privilege to anonymous user.
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
GRANT PROCESS ON *.* TO ''@'localhost';
|
||||
####################################################################################
|
||||
5.1 Establish connection (anonymous1,localhost,'',,information_schema)
|
||||
anonymous user with PROCESS privilege
|
||||
SHOW/SELECT shows all processes/threads.
|
||||
####################################################################################
|
||||
SHOW GRANTS;
|
||||
Grants for @localhost
|
||||
GRANT PROCESS ON *.* TO ''@'localhost'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
1 root localhost information_schema Sleep TIME NULL
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
4 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
4 localhost information_schema Query TIME preparing SELECT * FROM information_schema.processlist
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
1 root localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
6 Revoke PROCESS privilege from ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
REVOKE PROCESS ON *.* FROM ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
|
||||
####################################################################################
|
||||
6.1 New connection con102 (ddicttestuser1 has no more PROCESS privilege)
|
||||
Again (compared to state before GRANT PROCESS) only the processes of
|
||||
ddicttestuser1 are visible.
|
||||
####################################################################################
|
||||
SHOW GRANTS;
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
5 ddicttestuser1 localhost information_schema Query TIME preparing SELECT * FROM information_schema.processlist
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
7 Revoke PROCESS privilege from anonymous user + disconnect ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
REVOKE PROCESS ON *.* FROM ''@'localhost';
|
||||
####################################################################################
|
||||
7.1 New connection (anonymous2,localhost,'',,information_schema)
|
||||
The anonymous user has no more the PROCESS privilege
|
||||
Again only the processes of the anonymous user are visible.
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR ''@'localhost';
|
||||
Grants for @localhost
|
||||
GRANT USAGE ON *.* TO ''@'localhost'
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
6 localhost information_schema Query TIME preparing SELECT * FROM information_schema.processlist
|
||||
4 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
8 Grant SUPER (does not imply PROCESS) privilege to ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost';
|
||||
####################################################################################
|
||||
8.1 New connection con103 (ddicttestuser1 with SUPER privilege)
|
||||
Only the processes of ddicttestuser1 user are visible.
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
7 ddicttestuser1 localhost information_schema Query TIME preparing SELECT * FROM information_schema.processlist
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
9 Revoke SUPER privilege from user ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
REVOKE SUPER ON *.* FROM 'ddicttestuser1'@'localhost';
|
||||
####################################################################################
|
||||
9.1 New connection con104 (ddicttestuser1 without SUPER privilege)
|
||||
ddicttestuser1 has no more the SUPER privilege.
|
||||
Only the processes of ddicttestuser1 are visible.
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
8 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
8 ddicttestuser1 localhost information_schema Query TIME preparing SELECT * FROM information_schema.processlist
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
10 Grant SUPER privilege with grant option to user ddicttestuser1.
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' WITH GRANT OPTION;
|
||||
####################################################################################
|
||||
10.1 New connection con105 (ddicttestuser1 with SUPER privilege and GRANT OPTION)
|
||||
Try to grant PROCESS privilege to user ddicttestuser2 without having it.
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1' WITH GRANT OPTION
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
|
||||
ERROR 28000: Access denied for user 'ddicttestuser1'@'localhost' (using password: YES)
|
||||
####################################################################################
|
||||
10.2 Grant SUPER and PROCESS privilege with grant option to user ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
GRANT SUPER,PROCESS ON *.* TO 'ddicttestuser1'@'localhost' WITH GRANT OPTION;
|
||||
####################################################################################
|
||||
10.3 New connection con106 (ddicttestuser1 with SUPER,PROCESS WITH GRANT OPTION)
|
||||
Grant PROCESS privilege to user ddicttestuser2
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT PROCESS, SUPER ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1' WITH GRANT OPTION
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
|
||||
####################################################################################
|
||||
10.4 New connection con200 (ddicttestuser2 with PROCESS privilege)
|
||||
ddicttestuser2 has now the PROCESS privilege and sees all connections
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser2'@'localhost';
|
||||
Grants for ddicttestuser2@localhost
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
1 root localhost information_schema Sleep TIME NULL
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
4 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
6 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
8 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
10 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
11 ddicttestuser2 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
11 ddicttestuser2 localhost information_schema Query TIME preparing SELECT * FROM information_schema.processlist
|
||||
10 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
8 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
6 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
4 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
1 root localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
11 User ddicttestuser1 revokes PROCESS privilege from user ddicttestuser2
|
||||
connection ddicttestuser1;
|
||||
####################################################################################
|
||||
REVOKE PROCESS ON *.* FROM 'ddicttestuser2'@'localhost';
|
||||
####################################################################################
|
||||
11.1 New connection con201 (ddicttestuser2)
|
||||
ddicttestuser2 has no more the PROCESS privilege and can only see own connects
|
||||
####################################################################################
|
||||
SHOW GRANTS;
|
||||
Grants for ddicttestuser2@localhost
|
||||
GRANT USAGE ON *.* TO 'ddicttestuser2'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
11 ddicttestuser2 localhost information_schema Sleep TIME NULL
|
||||
12 ddicttestuser2 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
12 ddicttestuser2 localhost information_schema Query TIME preparing SELECT * FROM information_schema.processlist
|
||||
11 ddicttestuser2 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
11.2 Revoke SUPER,PROCESS,GRANT OPTION privilege from user ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
REVOKE SUPER,PROCESS,GRANT OPTION ON *.* FROM 'ddicttestuser1'@'localhost';
|
||||
####################################################################################
|
||||
11.3 New connection con107 (ddicttestuser1)
|
||||
ddicttestuser1 has no more the PROCESS privilege and can only see own connects
|
||||
He is also unable to GRANT the PROCESS privilege to ddicttestuser2
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
|
||||
ERROR 28000: Access denied for user 'ddicttestuser1'@'localhost' (using password: YES)
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
8 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
10 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
13 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
13 ddicttestuser1 localhost information_schema Query TIME preparing SELECT * FROM information_schema.processlist
|
||||
10 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
8 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
12 Revoke the SELECT privilege from user ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
REVOKE SELECT ON *.* FROM 'ddicttestuser1'@'localhost';
|
||||
####################################################################################
|
||||
12.1 New connection con108 (ddicttestuser1)
|
||||
ddicttestuser1 has neither PROCESS nor SELECT privilege
|
||||
Manual says: Each MySQL user has the right to access these tables, but can see
|
||||
only the rows ...
|
||||
Therefore the missing SELECT privilege does not affect SELECTs on PROCESSLIST.
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
8 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
10 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
13 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
14 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
14 ddicttestuser1 localhost information_schema Query TIME preparing SELECT * FROM information_schema.processlist
|
||||
13 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
10 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
8 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
2 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
12.2 Revoke only the SELECT privilege on the information_schema from ddicttestuser1.
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
REVOKE SELECT ON information_schema.* FROM 'ddicttestuser3'@'localhost';
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
####################################################################################
|
||||
connection default (user=root)
|
||||
Cleanup: close connections, DROP USER etc.
|
||||
####################################################################################
|
||||
DROP USER ddicttestuser1@'localhost';
|
||||
DROP USER ddicttestuser2@'localhost';
|
||||
174
mysql-test/suite/funcs_1/r/a_processlist_val_no_prot.result
Normal file
174
mysql-test/suite/funcs_1/r/a_processlist_val_no_prot.result
Normal file
File diff suppressed because one or more lines are too long
469
mysql-test/suite/funcs_1/r/b_processlist_priv_ps.result
Normal file
469
mysql-test/suite/funcs_1/r/b_processlist_priv_ps.result
Normal file
@@ -0,0 +1,469 @@
|
||||
USE information_schema;
|
||||
####################################################################################
|
||||
1 Prepare test.
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
####################################################################################
|
||||
1.1 Create two user
|
||||
####################################################################################
|
||||
DROP USER ddicttestuser1@'localhost';
|
||||
ERROR HY000: Operation DROP USER failed for 'ddicttestuser1'@'localhost'
|
||||
DROP USER ddicttestuser2@'localhost';
|
||||
ERROR HY000: Operation DROP USER failed for 'ddicttestuser2'@'localhost'
|
||||
CREATE USER ddicttestuser1@'localhost';
|
||||
CREATE USER ddicttestuser2@'localhost';
|
||||
SET PASSWORD FOR ddicttestuser1@'localhost' = PASSWORD('ddictpass');
|
||||
SET PASSWORD FOR ddicttestuser2@'localhost' = PASSWORD('ddictpass');
|
||||
####################################################################################
|
||||
1.2 Establish connection con100 (user=ddicttestuser1 with no PROCESS privilege):
|
||||
####################################################################################
|
||||
####################################################################################
|
||||
2 connection default(user=root with default privileges):
|
||||
SHOW/SELECT shows all processes/threads.
|
||||
####################################################################################
|
||||
SHOW CREATE TABLE processlist;
|
||||
Table Create Table
|
||||
PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
|
||||
`ID` bigint(4) NOT NULL DEFAULT '0',
|
||||
`USER` varchar(16) NOT NULL DEFAULT '',
|
||||
`HOST` varchar(64) NOT NULL DEFAULT '',
|
||||
`DB` varchar(64) DEFAULT NULL,
|
||||
`COMMAND` varchar(16) NOT NULL DEFAULT '',
|
||||
`TIME` bigint(7) NOT NULL DEFAULT '0',
|
||||
`STATE` varchar(64) DEFAULT NULL,
|
||||
`INFO` longtext
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
3 root localhost information_schema Query TIME NULL SHOW processlist
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
SELECT * FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
3 root localhost information_schema Execute TIME preparing SELECT * FROM processlist ORDER BY id
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
3 root localhost information_schema Execute TIME preparing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
|
||||
UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
|
||||
INSERT INTO processlist SELECT * FROM test.t_processlist;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
DROP TABLE test.t_processlist;
|
||||
CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist WITH CHECK OPTION;
|
||||
ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist'
|
||||
CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist;
|
||||
UPDATE test.v_processlist SET TIME=NOW() WHERE id = 1;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
DROP VIEW test.v_processlist;
|
||||
UPDATE processlist SET user='any_user' WHERE id=1 ;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
DELETE FROM processlist WHERE id=1 ;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
REVOKE ALL ON processlist FROM current_user;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
GRANT INSERT,UPDATE ON processlist TO current_user;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
SHOW GRANTS;
|
||||
Grants for root@localhost
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
|
||||
CREATE INDEX i_processlist ON processlist (user);
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
DROP TABLE processlist;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
ALTER TABLE processlist DROP COLUMN user;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
ALTER TABLE processlist ADD COLUMN (my_column INT);
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
RENAME TABLE processlist TO new_processlist;
|
||||
ERROR 42S02: Unknown table 'new_processlist' in information_schema
|
||||
RENAME TABLE processlist TO files;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
CREATE TABLE new_processlist AS SELECT * FROM processlist;
|
||||
ERROR 42S02: Unknown table 'new_processlist' in information_schema
|
||||
DROP DATABASE information_schema;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
RENAME DATABASE information_schema TO info_schema;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
####################################################################################
|
||||
3 Switch to connection con100 (user=ddicttestuser1 with no PROCESS privilege):
|
||||
SHOW/SELECT shows only the processes (1) of the user.
|
||||
####################################################################################
|
||||
SHOW CREATE TABLE processlist;
|
||||
Table Create Table
|
||||
PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
|
||||
`ID` bigint(4) NOT NULL DEFAULT '0',
|
||||
`USER` varchar(16) NOT NULL DEFAULT '',
|
||||
`HOST` varchar(64) NOT NULL DEFAULT '',
|
||||
`DB` varchar(64) DEFAULT NULL,
|
||||
`COMMAND` varchar(16) NOT NULL DEFAULT '',
|
||||
`TIME` bigint(7) NOT NULL DEFAULT '0',
|
||||
`STATE` varchar(64) DEFAULT NULL,
|
||||
`INFO` longtext
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
4 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
4 ddicttestuser1 localhost information_schema Execute TIME preparing SELECT * FROM processlist ORDER BY id
|
||||
SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
4 ddicttestuser1 localhost information_schema Execute TIME preparing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id
|
||||
CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist;
|
||||
UPDATE test.t_processlist SET user='horst' WHERE id=1 ;
|
||||
INSERT INTO processlist SELECT * FROM test.t_processlist;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
DROP TABLE test.t_processlist;
|
||||
CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist WITH CHECK OPTION;
|
||||
ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist'
|
||||
CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist;
|
||||
UPDATE test.v_processlist SET TIME=NOW() WHERE id = 1;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
DROP VIEW test.v_processlist;
|
||||
UPDATE processlist SET user='any_user' WHERE id=1 ;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
DELETE FROM processlist WHERE id=1 ;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
REVOKE ALL ON processlist FROM current_user;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
GRANT INSERT,UPDATE ON processlist TO current_user;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
SHOW GRANTS;
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
CREATE INDEX i_processlist ON processlist (user);
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
DROP TABLE processlist;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
ALTER TABLE processlist DROP COLUMN user;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
ALTER TABLE processlist ADD COLUMN (my_column INT);
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
RENAME TABLE processlist TO new_processlist;
|
||||
ERROR 42S02: Unknown table 'new_processlist' in information_schema
|
||||
RENAME TABLE processlist TO files;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
CREATE TABLE new_processlist AS SELECT * FROM processlist;
|
||||
ERROR 42S02: Unknown table 'new_processlist' in information_schema
|
||||
DROP DATABASE information_schema;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
RENAME DATABASE information_schema TO info_schema;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
####################################################################################
|
||||
4 Grant PROCESS privilege to ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
GRANT PROCESS ON *.* TO ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
|
||||
####################################################################################
|
||||
4.1 Existing connection con100 (ddicttestuser1)
|
||||
The user ddicttestuser1 has the PROCESS privilege, but the connection was
|
||||
established before PROCESS was granted.
|
||||
SHOW/SELECT shows only the processes (1) of the user.
|
||||
####################################################################################
|
||||
SHOW GRANTS;
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
4 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
4 ddicttestuser1 localhost information_schema Execute TIME preparing SELECT * FROM information_schema.processlist
|
||||
####################################################################################
|
||||
4.2 New connection con101 (ddicttestuser1 with PROCESS privilege)
|
||||
SHOW/SELECT shows all processes/threads.
|
||||
####################################################################################
|
||||
SHOW GRANTS;
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
3 root localhost information_schema Sleep TIME NULL
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
5 ddicttestuser1 localhost information_schema Execute TIME preparing SELECT * FROM information_schema.processlist
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 root localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
5 Grant PROCESS privilege to anonymous user.
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
GRANT PROCESS ON *.* TO ''@'localhost';
|
||||
####################################################################################
|
||||
5.1 Establish connection (anonymous1,localhost,'',,information_schema)
|
||||
anonymous user with PROCESS privilege
|
||||
SHOW/SELECT shows all processes/threads.
|
||||
####################################################################################
|
||||
SHOW GRANTS;
|
||||
Grants for @localhost
|
||||
GRANT PROCESS ON *.* TO ''@'localhost'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
3 root localhost information_schema Sleep TIME NULL
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
6 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
6 localhost information_schema Execute TIME preparing SELECT * FROM information_schema.processlist
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 root localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
6 Revoke PROCESS privilege from ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
REVOKE PROCESS ON *.* FROM ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
|
||||
####################################################################################
|
||||
6.1 New connection con102 (ddicttestuser1 has no more PROCESS privilege)
|
||||
Again (compared to state before GRANT PROCESS) only the processes of
|
||||
ddicttestuser1 are visible.
|
||||
####################################################################################
|
||||
SHOW GRANTS;
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
7 ddicttestuser1 localhost information_schema Execute TIME preparing SELECT * FROM information_schema.processlist
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
7 Revoke PROCESS privilege from anonymous user + disconnect ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
REVOKE PROCESS ON *.* FROM ''@'localhost';
|
||||
####################################################################################
|
||||
7.1 New connection (anonymous2,localhost,'',,information_schema)
|
||||
The anonymous user has no more the PROCESS privilege
|
||||
Again only the processes of the anonymous user are visible.
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR ''@'localhost';
|
||||
Grants for @localhost
|
||||
GRANT USAGE ON *.* TO ''@'localhost'
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
8 localhost information_schema Execute TIME preparing SELECT * FROM information_schema.processlist
|
||||
6 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
8 Grant SUPER (does not imply PROCESS) privilege to ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost';
|
||||
####################################################################################
|
||||
8.1 New connection con103 (ddicttestuser1 with SUPER privilege)
|
||||
Only the processes of ddicttestuser1 user are visible.
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
9 ddicttestuser1 localhost information_schema Execute TIME preparing SELECT * FROM information_schema.processlist
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
9 Revoke SUPER privilege from user ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
REVOKE SUPER ON *.* FROM 'ddicttestuser1'@'localhost';
|
||||
####################################################################################
|
||||
9.1 New connection con104 (ddicttestuser1 without SUPER privilege)
|
||||
ddicttestuser1 has no more the SUPER privilege.
|
||||
Only the processes of ddicttestuser1 are visible.
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
10 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
10 ddicttestuser1 localhost information_schema Execute TIME preparing SELECT * FROM information_schema.processlist
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
10 Grant SUPER privilege with grant option to user ddicttestuser1.
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' WITH GRANT OPTION;
|
||||
####################################################################################
|
||||
10.1 New connection con105 (ddicttestuser1 with SUPER privilege and GRANT OPTION)
|
||||
Try to grant PROCESS privilege to user ddicttestuser2 without having it.
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT SUPER ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1' WITH GRANT OPTION
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
|
||||
ERROR 28000: Access denied for user 'ddicttestuser1'@'localhost' (using password: YES)
|
||||
####################################################################################
|
||||
10.2 Grant SUPER and PROCESS privilege with grant option to user ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
GRANT SUPER,PROCESS ON *.* TO 'ddicttestuser1'@'localhost' WITH GRANT OPTION;
|
||||
####################################################################################
|
||||
10.3 New connection con106 (ddicttestuser1 with SUPER,PROCESS WITH GRANT OPTION)
|
||||
Grant PROCESS privilege to user ddicttestuser2
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT PROCESS, SUPER ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1' WITH GRANT OPTION
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
|
||||
####################################################################################
|
||||
10.4 New connection con200 (ddicttestuser2 with PROCESS privilege)
|
||||
ddicttestuser2 has now the PROCESS privilege and sees all connections
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser2'@'localhost';
|
||||
Grants for ddicttestuser2@localhost
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
3 root localhost information_schema Sleep TIME NULL
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
6 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
8 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
10 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
11 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
12 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
13 ddicttestuser2 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
13 ddicttestuser2 localhost information_schema Execute TIME preparing SELECT * FROM information_schema.processlist
|
||||
12 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
11 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
10 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
8 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
6 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
3 root localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
11 User ddicttestuser1 revokes PROCESS privilege from user ddicttestuser2
|
||||
connection ddicttestuser1;
|
||||
####################################################################################
|
||||
REVOKE PROCESS ON *.* FROM 'ddicttestuser2'@'localhost';
|
||||
####################################################################################
|
||||
11.1 New connection con201 (ddicttestuser2)
|
||||
ddicttestuser2 has no more the PROCESS privilege and can only see own connects
|
||||
####################################################################################
|
||||
SHOW GRANTS;
|
||||
Grants for ddicttestuser2@localhost
|
||||
GRANT USAGE ON *.* TO 'ddicttestuser2'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
13 ddicttestuser2 localhost information_schema Sleep TIME NULL
|
||||
14 ddicttestuser2 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
14 ddicttestuser2 localhost information_schema Execute TIME preparing SELECT * FROM information_schema.processlist
|
||||
13 ddicttestuser2 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
11.2 Revoke SUPER,PROCESS,GRANT OPTION privilege from user ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
REVOKE SUPER,PROCESS,GRANT OPTION ON *.* FROM 'ddicttestuser1'@'localhost';
|
||||
####################################################################################
|
||||
11.3 New connection con107 (ddicttestuser1)
|
||||
ddicttestuser1 has no more the PROCESS privilege and can only see own connects
|
||||
He is also unable to GRANT the PROCESS privilege to ddicttestuser2
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
|
||||
ERROR 28000: Access denied for user 'ddicttestuser1'@'localhost' (using password: YES)
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
10 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
11 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
12 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
15 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
15 ddicttestuser1 localhost information_schema Execute TIME preparing SELECT * FROM information_schema.processlist
|
||||
12 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
11 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
10 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
12 Revoke the SELECT privilege from user ddicttestuser1
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
REVOKE SELECT ON *.* FROM 'ddicttestuser1'@'localhost';
|
||||
####################################################################################
|
||||
12.1 New connection con108 (ddicttestuser1)
|
||||
ddicttestuser1 has neither PROCESS nor SELECT privilege
|
||||
Manual says: Each MySQL user has the right to access these tables, but can see
|
||||
only the rows ...
|
||||
Therefore the missing SELECT privilege does not affect SELECTs on PROCESSLIST.
|
||||
####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
Grants for ddicttestuser1@localhost
|
||||
GRANT USAGE ON *.* TO 'ddicttestuser1'@'localhost' IDENTIFIED BY PASSWORD '*22DA61451703738F203CDB9DB041ACBA1F4760B1'
|
||||
SHOW processlist;
|
||||
Id User Host db Command Time State Info
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
10 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
11 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
12 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
15 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
16 ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist
|
||||
SELECT * FROM information_schema.processlist;
|
||||
ID USER HOST DB COMMAND TIME STATE INFO
|
||||
16 ddicttestuser1 localhost information_schema Execute TIME preparing SELECT * FROM information_schema.processlist
|
||||
15 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
12 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
11 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
10 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
9 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
7 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
5 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
4 ddicttestuser1 localhost information_schema Sleep TIME NULL
|
||||
####################################################################################
|
||||
12.2 Revoke only the SELECT privilege on the information_schema from ddicttestuser1.
|
||||
connection default (user=root)
|
||||
####################################################################################
|
||||
REVOKE SELECT ON information_schema.* FROM 'ddicttestuser3'@'localhost';
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
####################################################################################
|
||||
connection default (user=root)
|
||||
Cleanup: close connections, DROP USER etc.
|
||||
####################################################################################
|
||||
DROP USER ddicttestuser1@'localhost';
|
||||
DROP USER ddicttestuser2@'localhost';
|
||||
174
mysql-test/suite/funcs_1/r/b_processlist_val_ps.result
Normal file
174
mysql-test/suite/funcs_1/r/b_processlist_val_ps.result
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -75,7 +75,7 @@ Note 1265 Data truncated for column 'f45' at row 1
|
||||
Note 1265 Data truncated for column 'f47' at row 1
|
||||
Note 1265 Data truncated for column 'f49' at row 1
|
||||
Note 1265 Data truncated for column 'f51' at row 1
|
||||
Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
Error 1475 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb1.txt' into table tb1 ;
|
||||
|
||||
NOT YET IMPLEMENTED: cursor tests
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -90,7 +90,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
|
||||
END if;
|
||||
END//
|
||||
SHOW CREATE PROCEDURE sp1;
|
||||
Procedure sql_mode Create Procedure
|
||||
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
|
||||
sp1 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
|
||||
BEGIN
|
||||
declare a tinyint;
|
||||
@@ -104,7 +104,7 @@ INSERT INTO result VALUES (@cur_val_sql_mode, 'value restored');
|
||||
ELSE
|
||||
INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
|
||||
END if;
|
||||
END
|
||||
END latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
set @@sql_mode='';
|
||||
SHOW VARIABLES LIKE 'sql_mode';
|
||||
Variable_name Value
|
||||
@@ -143,12 +143,12 @@ SET @@sql_mode='MAXDB';
|
||||
SHOW VARIABLES LIKE 'sql_mode';
|
||||
END//
|
||||
SHOW CREATE PROCEDURE sp2;
|
||||
Procedure sql_mode Create Procedure
|
||||
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
|
||||
sp2 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
|
||||
BEGIN
|
||||
SET @@sql_mode='MAXDB';
|
||||
SHOW VARIABLES LIKE 'sql_mode';
|
||||
END
|
||||
END latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
... show value prior calling procedure
|
||||
SHOW VARIABLES LIKE 'sql_mode';
|
||||
Variable_name Value
|
||||
|
||||
@@ -122,6 +122,9 @@ LAST_ALTERED <created>
|
||||
SQL_MODE
|
||||
ROUTINE_COMMENT
|
||||
DEFINER root@localhost
|
||||
CHARACTER_SET_CLIENT latin1
|
||||
COLLATION_CONNECTION latin1_swedish_ci
|
||||
DATABASE_COLLATION latin1_swedish_ci
|
||||
SPECIFIC_NAME fn_2
|
||||
ROUTINE_CATALOG NULL
|
||||
ROUTINE_SCHEMA db_storedproc
|
||||
@@ -146,6 +149,9 @@ LAST_ALTERED <created>
|
||||
SQL_MODE
|
||||
ROUTINE_COMMENT created with INVOKER
|
||||
DEFINER root@localhost
|
||||
CHARACTER_SET_CLIENT latin1
|
||||
COLLATION_CONNECTION latin1_swedish_ci
|
||||
DATABASE_COLLATION latin1_swedish_ci
|
||||
SPECIFIC_NAME sp_1
|
||||
ROUTINE_CATALOG NULL
|
||||
ROUTINE_SCHEMA db_storedproc
|
||||
@@ -168,6 +174,9 @@ LAST_ALTERED <created>
|
||||
SQL_MODE
|
||||
ROUTINE_COMMENT
|
||||
DEFINER root@localhost
|
||||
CHARACTER_SET_CLIENT latin1
|
||||
COLLATION_CONNECTION latin1_swedish_ci
|
||||
DATABASE_COLLATION latin1_swedish_ci
|
||||
SPECIFIC_NAME sp_2
|
||||
ROUTINE_CATALOG NULL
|
||||
ROUTINE_SCHEMA db_storedproc
|
||||
@@ -190,6 +199,9 @@ LAST_ALTERED <created>
|
||||
SQL_MODE
|
||||
ROUTINE_COMMENT created with INVOKER
|
||||
DEFINER root@localhost
|
||||
CHARACTER_SET_CLIENT latin1
|
||||
COLLATION_CONNECTION latin1_swedish_ci
|
||||
DATABASE_COLLATION latin1_swedish_ci
|
||||
SHOW CREATE FUNCTION fn_1;
|
||||
Function fn_1
|
||||
sql_mode
|
||||
@@ -199,6 +211,9 @@ set @x=i1;
|
||||
set @y=@x;
|
||||
return i4;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW CREATE FUNCTION fn_2;
|
||||
Function fn_2
|
||||
sql_mode
|
||||
@@ -210,6 +225,9 @@ set @x=i1;
|
||||
set @y=@x;
|
||||
return i4;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW CREATE PROCEDURE sp_1;
|
||||
Procedure sp_1
|
||||
sql_mode
|
||||
@@ -217,6 +235,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
|
||||
BEGIN
|
||||
set @x=i1;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW CREATE PROCEDURE sp_2;
|
||||
Procedure sp_2
|
||||
sql_mode
|
||||
@@ -226,6 +247,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
|
||||
BEGIN
|
||||
set @x=i1;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW FUNCTION STATUS LIKE 'fn_%';
|
||||
Db db_storedproc
|
||||
Name fn_1
|
||||
@@ -235,6 +259,9 @@ Modified <modified>
|
||||
Created <created>
|
||||
Security_type DEFINER
|
||||
Comment
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
Db db_storedproc
|
||||
Name fn_2
|
||||
Type FUNCTION
|
||||
@@ -243,6 +270,9 @@ Modified <modified>
|
||||
Created <created>
|
||||
Security_type INVOKER
|
||||
Comment created with INVOKER
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW PROCEDURE STATUS LIKE 'sp_%';
|
||||
Db db_storedproc
|
||||
Name sp_1
|
||||
@@ -252,6 +282,9 @@ Modified <modified>
|
||||
Created <created>
|
||||
Security_type DEFINER
|
||||
Comment
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
Db db_storedproc
|
||||
Name sp_2
|
||||
Type PROCEDURE
|
||||
@@ -260,6 +293,9 @@ Modified <modified>
|
||||
Created <created>
|
||||
Security_type INVOKER
|
||||
Comment created with INVOKER
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
|
||||
... now change some stuff:
|
||||
--------------------------
|
||||
@@ -304,6 +340,9 @@ LAST_ALTERED <created>
|
||||
SQL_MODE
|
||||
ROUTINE_COMMENT new comment, FN changed to INVOKER
|
||||
DEFINER root@localhost
|
||||
CHARACTER_SET_CLIENT latin1
|
||||
COLLATION_CONNECTION latin1_swedish_ci
|
||||
DATABASE_COLLATION latin1_swedish_ci
|
||||
SPECIFIC_NAME fn_2
|
||||
ROUTINE_CATALOG NULL
|
||||
ROUTINE_SCHEMA db_storedproc
|
||||
@@ -328,6 +367,9 @@ LAST_ALTERED <created>
|
||||
SQL_MODE
|
||||
ROUTINE_COMMENT FN changed to DEFINER
|
||||
DEFINER root@localhost
|
||||
CHARACTER_SET_CLIENT latin1
|
||||
COLLATION_CONNECTION latin1_swedish_ci
|
||||
DATABASE_COLLATION latin1_swedish_ci
|
||||
SPECIFIC_NAME sp_1
|
||||
ROUTINE_CATALOG NULL
|
||||
ROUTINE_SCHEMA db_storedproc
|
||||
@@ -350,6 +392,9 @@ LAST_ALTERED <created>
|
||||
SQL_MODE
|
||||
ROUTINE_COMMENT new comment, SP changed to INVOKER
|
||||
DEFINER root@localhost
|
||||
CHARACTER_SET_CLIENT latin1
|
||||
COLLATION_CONNECTION latin1_swedish_ci
|
||||
DATABASE_COLLATION latin1_swedish_ci
|
||||
SPECIFIC_NAME sp_2
|
||||
ROUTINE_CATALOG NULL
|
||||
ROUTINE_SCHEMA db_storedproc
|
||||
@@ -372,6 +417,9 @@ LAST_ALTERED <created>
|
||||
SQL_MODE
|
||||
ROUTINE_COMMENT SP changed to DEFINER
|
||||
DEFINER root@localhost
|
||||
CHARACTER_SET_CLIENT latin1
|
||||
COLLATION_CONNECTION latin1_swedish_ci
|
||||
DATABASE_COLLATION latin1_swedish_ci
|
||||
SHOW CREATE FUNCTION fn_1;
|
||||
Function fn_1
|
||||
sql_mode
|
||||
@@ -384,6 +432,9 @@ set @x=i1;
|
||||
set @y=@x;
|
||||
return i4;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW CREATE FUNCTION fn_2;
|
||||
Function fn_2
|
||||
sql_mode
|
||||
@@ -395,6 +446,9 @@ set @x=i1;
|
||||
set @y=@x;
|
||||
return i4;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW CREATE PROCEDURE sp_1;
|
||||
Procedure sp_1
|
||||
sql_mode
|
||||
@@ -404,6 +458,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
|
||||
BEGIN
|
||||
set @x=i1;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW CREATE PROCEDURE sp_2;
|
||||
Procedure sp_2
|
||||
sql_mode
|
||||
@@ -413,6 +470,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
|
||||
BEGIN
|
||||
set @x=i1;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW FUNCTION STATUS LIKE 'fn_%';
|
||||
Db db_storedproc
|
||||
Name fn_1
|
||||
@@ -422,6 +482,9 @@ Modified <modified>
|
||||
Created <created>
|
||||
Security_type INVOKER
|
||||
Comment new comment, FN changed to INVOKER
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
Db db_storedproc
|
||||
Name fn_2
|
||||
Type FUNCTION
|
||||
@@ -430,6 +493,9 @@ Modified <modified>
|
||||
Created <created>
|
||||
Security_type DEFINER
|
||||
Comment FN changed to DEFINER
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW PROCEDURE STATUS LIKE 'sp_%';
|
||||
Db db_storedproc
|
||||
Name sp_1
|
||||
@@ -439,6 +505,9 @@ Modified <modified>
|
||||
Created <created>
|
||||
Security_type INVOKER
|
||||
Comment new comment, SP changed to INVOKER
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
Db db_storedproc
|
||||
Name sp_2
|
||||
Type PROCEDURE
|
||||
@@ -447,6 +516,9 @@ Modified <modified>
|
||||
Created <created>
|
||||
Security_type DEFINER
|
||||
Comment SP changed to DEFINER
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
|
||||
... change back to default and check result:
|
||||
--------------------------------------------
|
||||
@@ -479,6 +551,9 @@ LAST_ALTERED <created>
|
||||
SQL_MODE
|
||||
ROUTINE_COMMENT new comment, FN changed to INVOKER
|
||||
DEFINER root@localhost
|
||||
CHARACTER_SET_CLIENT latin1
|
||||
COLLATION_CONNECTION latin1_swedish_ci
|
||||
DATABASE_COLLATION latin1_swedish_ci
|
||||
SPECIFIC_NAME fn_2
|
||||
ROUTINE_CATALOG NULL
|
||||
ROUTINE_SCHEMA db_storedproc
|
||||
@@ -503,6 +578,9 @@ LAST_ALTERED <created>
|
||||
SQL_MODE
|
||||
ROUTINE_COMMENT FN changed to DEFINER
|
||||
DEFINER root@localhost
|
||||
CHARACTER_SET_CLIENT latin1
|
||||
COLLATION_CONNECTION latin1_swedish_ci
|
||||
DATABASE_COLLATION latin1_swedish_ci
|
||||
SPECIFIC_NAME sp_1
|
||||
ROUTINE_CATALOG NULL
|
||||
ROUTINE_SCHEMA db_storedproc
|
||||
@@ -525,6 +603,9 @@ LAST_ALTERED <created>
|
||||
SQL_MODE
|
||||
ROUTINE_COMMENT new comment, SP changed to INVOKER
|
||||
DEFINER root@localhost
|
||||
CHARACTER_SET_CLIENT latin1
|
||||
COLLATION_CONNECTION latin1_swedish_ci
|
||||
DATABASE_COLLATION latin1_swedish_ci
|
||||
SPECIFIC_NAME sp_2
|
||||
ROUTINE_CATALOG NULL
|
||||
ROUTINE_SCHEMA db_storedproc
|
||||
@@ -547,6 +628,9 @@ LAST_ALTERED <created>
|
||||
SQL_MODE
|
||||
ROUTINE_COMMENT SP changed to DEFINER
|
||||
DEFINER root@localhost
|
||||
CHARACTER_SET_CLIENT latin1
|
||||
COLLATION_CONNECTION latin1_swedish_ci
|
||||
DATABASE_COLLATION latin1_swedish_ci
|
||||
SHOW CREATE FUNCTION fn_1;
|
||||
Function fn_1
|
||||
sql_mode
|
||||
@@ -559,6 +643,9 @@ set @x=i1;
|
||||
set @y=@x;
|
||||
return i4;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW CREATE FUNCTION fn_2;
|
||||
Function fn_2
|
||||
sql_mode
|
||||
@@ -569,6 +656,9 @@ set @x=i1;
|
||||
set @y=@x;
|
||||
return i4;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW CREATE PROCEDURE sp_1;
|
||||
Procedure sp_1
|
||||
sql_mode
|
||||
@@ -578,6 +668,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
|
||||
BEGIN
|
||||
set @x=i1;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW CREATE PROCEDURE sp_2;
|
||||
Procedure sp_2
|
||||
sql_mode
|
||||
@@ -587,6 +680,9 @@ Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
|
||||
BEGIN
|
||||
set @x=i1;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW FUNCTION STATUS LIKE 'fn_%';
|
||||
Db db_storedproc
|
||||
Name fn_1
|
||||
@@ -596,6 +692,9 @@ Modified <modified>
|
||||
Created <created>
|
||||
Security_type INVOKER
|
||||
Comment new comment, FN changed to INVOKER
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
Db db_storedproc
|
||||
Name fn_2
|
||||
Type FUNCTION
|
||||
@@ -604,6 +703,9 @@ Modified <modified>
|
||||
Created <created>
|
||||
Security_type DEFINER
|
||||
Comment FN changed to DEFINER
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SHOW PROCEDURE STATUS LIKE 'sp_%';
|
||||
Db db_storedproc
|
||||
Name sp_1
|
||||
@@ -613,6 +715,9 @@ Modified <modified>
|
||||
Created <created>
|
||||
Security_type INVOKER
|
||||
Comment new comment, SP changed to INVOKER
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
Db db_storedproc
|
||||
Name sp_2
|
||||
Type PROCEDURE
|
||||
@@ -621,6 +726,9 @@ Modified <modified>
|
||||
Created <created>
|
||||
Security_type DEFINER
|
||||
Comment SP changed to DEFINER
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
|
||||
... cleanup
|
||||
-----------
|
||||
|
||||
@@ -65,7 +65,7 @@ Warnings:
|
||||
Note 1265 Data truncated for column 'f150' at row 1
|
||||
Note 1265 Data truncated for column 'f151' at row 1
|
||||
Note 1265 Data truncated for column 'f152' at row 1
|
||||
Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
Error 1475 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
|
||||
|
||||
Testcase: 3.5.1.1:
|
||||
@@ -243,7 +243,7 @@ create table t1 (f1 integer) engine = ndb;
|
||||
use test;
|
||||
CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
|
||||
for each row set @ret_trg6_2 = 5;
|
||||
ERROR HY000: Trigger in wrong schema
|
||||
ERROR 42S02: Table 'trig_db.tb3' doesn't exist
|
||||
use trig_db;
|
||||
CREATE TRIGGER trg6_3 AFTER INSERT on test.tb3
|
||||
for each row set @ret_trg6_3 = 18;
|
||||
|
||||
@@ -65,7 +65,7 @@ Warnings:
|
||||
Note 1265 Data truncated for column 'f150' at row 1
|
||||
Note 1265 Data truncated for column 'f151' at row 1
|
||||
Note 1265 Data truncated for column 'f152' at row 1
|
||||
Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
Error 1475 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
|
||||
|
||||
Testcase 3.5.3:
|
||||
|
||||
@@ -263,7 +263,7 @@ select current_user;
|
||||
current_user
|
||||
root@localhost
|
||||
show triggers;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
grant select, insert, update on priv_db.t1 to test_yesprivs@localhost;
|
||||
show grants for test_yesprivs@localhost;
|
||||
Grants for test_yesprivs@localhost
|
||||
@@ -296,7 +296,7 @@ select current_user;
|
||||
current_user
|
||||
root@localhost
|
||||
show triggers;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
show tables;
|
||||
Tables_in_priv_db
|
||||
t1
|
||||
@@ -317,7 +317,7 @@ select current_user;
|
||||
current_user
|
||||
test_yesprivs@localhost
|
||||
show triggers;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
create trigger trg1_2 before INSERT on t1 for each row
|
||||
set new.f1 = 'trig 1_2-yes';
|
||||
select current_user;
|
||||
@@ -453,9 +453,9 @@ ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for tabl
|
||||
create trigger trg1_4 before UPDATE on t1 for each row
|
||||
set new.f1 = 'trig 1_4-yes';
|
||||
show triggers;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost
|
||||
trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
select current_user;
|
||||
current_user
|
||||
test_noprivs@localhost
|
||||
@@ -570,11 +570,11 @@ current_user
|
||||
test_yesprivs@localhost
|
||||
use priv_db;
|
||||
show triggers;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
trg1_1 INSERT t1 set new.f1 = 'trig 1_1-yes' BEFORE NULL test_yesprivs@localhost
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
trg1_1 INSERT t1 set new.f1 = 'trig 1_1-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
select * from information_schema.triggers;
|
||||
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER
|
||||
NULL priv_db trg1_1 INSERT NULL priv_db t1 0 NULL set new.f1 = 'trig 1_1-yes' ROW BEFORE NULL NULL OLD NEW NULL test_yesprivs@localhost
|
||||
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
|
||||
NULL priv_db trg1_1 INSERT NULL priv_db t1 0 NULL set new.f1 = 'trig 1_1-yes' ROW BEFORE NULL NULL OLD NEW NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
drop trigger trg1_1;
|
||||
ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
|
||||
select current_user;
|
||||
@@ -863,7 +863,7 @@ select current_user;
|
||||
current_user
|
||||
root@localhost
|
||||
show triggers;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
grant TRIGGER on priv1_db.t1 to test_yesprivs@localhost;
|
||||
show grants for test_yesprivs@localhost;
|
||||
Grants for test_yesprivs@localhost
|
||||
@@ -878,7 +878,7 @@ select current_user;
|
||||
current_user
|
||||
test_yesprivs@localhost
|
||||
show triggers;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
create trigger trg1_2 before INSERT on t1 for each row
|
||||
set new.f1 = 'trig 1_2-yes';
|
||||
create trigger trg2_1 before INSERT on t2 for each row
|
||||
@@ -990,7 +990,7 @@ select current_user;
|
||||
current_user
|
||||
root@localhost
|
||||
show triggers;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
|
||||
grant select, insert, update ,trigger
|
||||
on priv_db.t1 to test_yesprivs@localhost
|
||||
with grant option;
|
||||
|
||||
@@ -65,7 +65,7 @@ Warnings:
|
||||
Note 1265 Data truncated for column 'f150' at row 1
|
||||
Note 1265 Data truncated for column 'f151' at row 1
|
||||
Note 1265 Data truncated for column 'f152' at row 1
|
||||
Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
Error 1475 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
|
||||
|
||||
Testcase: 3.5:
|
||||
|
||||
@@ -65,7 +65,7 @@ Warnings:
|
||||
Note 1265 Data truncated for column 'f150' at row 1
|
||||
Note 1265 Data truncated for column 'f151' at row 1
|
||||
Note 1265 Data truncated for column 'f152' at row 1
|
||||
Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
Error 1475 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
|
||||
|
||||
Testcase: 3.5:
|
||||
@@ -493,9 +493,8 @@ BEGIN
|
||||
WHILE @counter1 < new.f136
|
||||
SET @counter1 = @counter1 + 1;
|
||||
END//
|
||||
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 'WHILE @counter1 < new.f136
|
||||
SET @counter1 = @counter1 + 1;
|
||||
END' at line 3
|
||||
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 'SET @counter1 = @counter1 + 1;
|
||||
END' at line 4
|
||||
delete from tb3 where f122='Test 3.5.8.5-while';
|
||||
drop trigger trg7;
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ Warnings:
|
||||
Note 1265 Data truncated for column 'f150' at row 1
|
||||
Note 1265 Data truncated for column 'f151' at row 1
|
||||
Note 1265 Data truncated for column 'f152' at row 1
|
||||
Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
Error 1475 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
|
||||
|
||||
Testcase 3.5.9.1/2:
|
||||
|
||||
@@ -65,7 +65,7 @@ Warnings:
|
||||
Note 1265 Data truncated for column 'f150' at row 1
|
||||
Note 1265 Data truncated for column 'f151' at row 1
|
||||
Note 1265 Data truncated for column 'f152' at row 1
|
||||
Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
Error 1475 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
|
||||
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ;
|
||||
|
||||
Testcase 3.5.10.1/2/3:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
36
mysql-test/suite/funcs_1/t/a_processlist_priv_no_prot.test
Normal file
36
mysql-test/suite/funcs_1/t/a_processlist_priv_no_prot.test
Normal file
@@ -0,0 +1,36 @@
|
||||
########## suite/funcs_1/t/a_processlist_priv_no_prot.test #############
|
||||
# #
|
||||
# Testing of privileges around #
|
||||
# SELECT ... PROCESSLIST/SHOW PROCESSLIST #
|
||||
# #
|
||||
# The prepared statement variant of this test is #
|
||||
# suite/funcs_1/t/b_processlist_priv_ps.test. #
|
||||
# #
|
||||
# There is important documentation within #
|
||||
# suite/funcs_1/datadict/processlist_priv.inc #
|
||||
# #
|
||||
# Note(mleich): #
|
||||
# The name "a_process..." with the unusual prefix "a_" is #
|
||||
# caused by the fact that this test should run as first test, that #
|
||||
# means direct after server startup. Otherwise the connection IDs #
|
||||
# within the processlist would differ. #
|
||||
# #
|
||||
# Creation: #
|
||||
# 2007-08-14 mleich Create this test as part of #
|
||||
# WL#3982 Test information_schema.processlist #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
# One subtest is skipped because of
|
||||
# Bug#30395 strange results after REVOKE PROCESS ON *.* FROM ...
|
||||
let $fixed_bug_30395= 0;
|
||||
|
||||
# The file with expected results fits only to a run without
|
||||
# ps-protocol/sp-protocol/cursor-protocol/view-protocol.
|
||||
if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL
|
||||
+ $VIEW_PROTOCOL > 0`)
|
||||
{
|
||||
--skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
|
||||
}
|
||||
|
||||
--source suite/funcs_1/datadict/processlist_priv.inc
|
||||
31
mysql-test/suite/funcs_1/t/a_processlist_val_no_prot.test
Normal file
31
mysql-test/suite/funcs_1/t/a_processlist_val_no_prot.test
Normal file
@@ -0,0 +1,31 @@
|
||||
########### suite/funcs_1/t/a_processlist_val_no_prot.test #############
|
||||
# #
|
||||
# Testing of values within INFORMATION_SCHEMA.PROCESSLIST #
|
||||
# #
|
||||
# The prepared statement variant of this test is #
|
||||
# suite/funcs_1/t/b_processlist_val_ps.test. #
|
||||
# #
|
||||
# There is important documentation within #
|
||||
# suite/funcs_1/datadict/processlist_val.inc #
|
||||
# #
|
||||
# Note(mleich): #
|
||||
# The name "a_process..." with the unusual prefix "a_" is #
|
||||
# caused by the fact that this test should run as second test, that #
|
||||
# means direct after server startup and a_processlist_priv_no_prot. #
|
||||
# Otherwise the connection IDs within the processlist would differ. #
|
||||
# #
|
||||
# Creation: #
|
||||
# 2007-08-09 mleich Implement this test as part of #
|
||||
# WL#3982 Test information_schema.processlist #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
# The file with expected results fits only to a run without
|
||||
# ps-protocol/sp-protocol/cursor-protocol/view-protocol.
|
||||
if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL
|
||||
+ $VIEW_PROTOCOL > 0`)
|
||||
{
|
||||
--skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
|
||||
}
|
||||
|
||||
--source suite/funcs_1/datadict/processlist_val.inc
|
||||
35
mysql-test/suite/funcs_1/t/b_processlist_priv_ps.test
Normal file
35
mysql-test/suite/funcs_1/t/b_processlist_priv_ps.test
Normal file
@@ -0,0 +1,35 @@
|
||||
########### suite/funcs_1/t/b_processlist_priv_ps.test #################
|
||||
# #
|
||||
# Testing of privileges around #
|
||||
# SELECT ... PROCESSLIST/SHOW PROCESSLIST #
|
||||
# #
|
||||
# The no (ps/sp/view/cursor) protocol variant of this test is #
|
||||
# suite/funcs_1/t/a_processlist_priv_no_prot.test. #
|
||||
# #
|
||||
# There is important documentation within #
|
||||
# suite/funcs_1/datadict/processlist_priv.inc #
|
||||
# #
|
||||
# Note(mleich): #
|
||||
# The name "b_process..." with the unusual prefix "b_" is #
|
||||
# caused by the fact that this test should run as first test, that #
|
||||
# means direct after server startup. Otherwise the connection IDs #
|
||||
# within the processlist would differ. #
|
||||
# #
|
||||
# Creation: #
|
||||
# 2007-08-14 mleich Create this test as part of #
|
||||
# WL#3982 Test information_schema.processlist #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
# One subtest is skipped because of
|
||||
# Bug#30395 strange results after REVOKE PROCESS ON *.* FROM ...
|
||||
let $fixed_bug_30395= 0;
|
||||
|
||||
# The file with expected results fits only to a run with "--ps-protocol".
|
||||
if (`SELECT $SP_PROTOCOL + $CURSOR_PROTOCOL + $VIEW_PROTOCOL > 0
|
||||
OR $PS_PROTOCOL = 0`)
|
||||
{
|
||||
--skip Test requires: ps-protocol enabled, other protocols disabled
|
||||
}
|
||||
|
||||
--source suite/funcs_1/datadict/processlist_priv.inc
|
||||
30
mysql-test/suite/funcs_1/t/b_processlist_val_ps.test
Normal file
30
mysql-test/suite/funcs_1/t/b_processlist_val_ps.test
Normal file
@@ -0,0 +1,30 @@
|
||||
############## suite/funcs_1/t/b_processlist_val_ps.test ###############
|
||||
# #
|
||||
# Testing of values within INFORMATION_SCHEMA.PROCESSLIST #
|
||||
# #
|
||||
# The no (ps/sp/view/cursor) protocol variant of this test is #
|
||||
# suite/funcs_1/t/a_processlist_val_no_prot.test. #
|
||||
# #
|
||||
# There is important documentation within #
|
||||
# suite/funcs_1/datadict/processlist_val.inc #
|
||||
# #
|
||||
# Note(mleich): #
|
||||
# The name "b_process..." with the unusual prefix "b_" is #
|
||||
# caused by the fact that this test should run as second test, that #
|
||||
# means direct after server startup and b_processlist_priv_ps. #
|
||||
# Otherwise the connection IDs within the processlist would differ. #
|
||||
# #
|
||||
# Creation: #
|
||||
# 2007-08-09 mleich Implement this test as part of #
|
||||
# WL#3982 Test information_schema.processlist #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
# The file with expected results fits only to a run with "--ps-protocol".
|
||||
if (`SELECT $SP_PROTOCOL + $CURSOR_PROTOCOL + $VIEW_PROTOCOL > 0
|
||||
OR $PS_PROTOCOL = 0`)
|
||||
{
|
||||
--skip Test requires: ps-protocol enabled, other protocols disabled
|
||||
}
|
||||
|
||||
--source suite/funcs_1/datadict/processlist_val.inc
|
||||
@@ -145,33 +145,33 @@ Insert into t1 values (500,9866);
|
||||
--enable_warnings
|
||||
CREATE VIEW v1 AS select f59,f60,f61
|
||||
FROM test.tb2 where f59=250;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f60,f61 limit 0,10;
|
||||
|
||||
#(02)
|
||||
Drop view if exists v1 ;
|
||||
CREATE VIEW v1 AS select f59,f60,f61
|
||||
FROM test.tb2 limit 100;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f59,f60,f61 limit 0,10;
|
||||
|
||||
#(03)
|
||||
CREATE or REPLACE VIEW v1 AS select f59,f60,f61
|
||||
FROM test.tb2 limit 4,3;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f59,f60,f61 limit 0,10;
|
||||
|
||||
#(04)
|
||||
CREATE or REPLACE VIEW v1 AS select distinct f59
|
||||
FROM test.tb2 limit 4,3;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f59 limit 0,10;
|
||||
|
||||
#(05)
|
||||
ALTER VIEW v1 AS select f59
|
||||
FROM test.tb2 limit 6,2;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f59 limit 0,10;
|
||||
|
||||
#(06)
|
||||
CREATE or REPLACE VIEW v1 AS select f59
|
||||
from tb2 order by f59 limit 100;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f59 limit 0,10;
|
||||
|
||||
#(07)
|
||||
CREATE or REPLACE VIEW v1 AS select f59
|
||||
@@ -186,32 +186,32 @@ Insert into t1 values (500,9866);
|
||||
#(09)
|
||||
CREATE or REPLACE VIEW v1 AS select f59
|
||||
from tb2 group by f59 limit 100;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f59 limit 0,10;
|
||||
|
||||
#(10)
|
||||
CREATE or REPLACE VIEW v1 AS select f59
|
||||
from tb2 group by f59 asc limit 100;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f59 limit 0,10;
|
||||
|
||||
#(11)
|
||||
CREATE or REPLACE VIEW v1 AS select f59
|
||||
from tb2 group by f59 desc limit 100;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f59 limit 0,10;
|
||||
|
||||
#(12)
|
||||
CREATE or REPLACE VIEW v1 AS (select f59 from tb2)
|
||||
union (select f59 from t1) limit 100;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f59 limit 0,10;
|
||||
|
||||
#(13)
|
||||
CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
|
||||
UNION DISTINCT(select f59 FROM t1) ;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f59 limit 0,10;
|
||||
|
||||
#(14)
|
||||
CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
|
||||
UNION ALL(select f59 FROM t1) ;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f59 limit 0,10;
|
||||
|
||||
#(15)
|
||||
if ($have_bug_11589)
|
||||
@@ -220,24 +220,24 @@ if ($have_bug_11589)
|
||||
}
|
||||
CREATE or REPLACE VIEW v1 AS select *
|
||||
FROM test.tb2 WITH LOCAL CHECK OPTION ;
|
||||
select * FROM v1 limit 0,50;
|
||||
select * FROM v1 order by f59,f60,f61,f62,f63,f64 limit 0,50;
|
||||
|
||||
#(16)
|
||||
CREATE or REPLACE VIEW v1 AS select *
|
||||
FROM test.tb2 WITH CASCADED CHECK OPTION ;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f59,f60,f61,f62,f63,f64 limit 0,10;
|
||||
--enable_ps_protocol
|
||||
|
||||
#(17)
|
||||
CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 WITH CASCADED CHECK OPTION;
|
||||
SELECT * FROM v1 limit 0,10;
|
||||
SELECT * FROM v1 order by f59,f60 limit 0,10;
|
||||
|
||||
|
||||
#(18)
|
||||
CREATE or REPLACE VIEW v1 AS select f59, f60
|
||||
from test.tb2 where f59=3330 ;
|
||||
select * FROM v1 limit 0,10;
|
||||
select * FROM v1 order by f60 limit 0,10;
|
||||
|
||||
DROP VIEW v1 ;
|
||||
DROP TABLE t1 ;
|
||||
@@ -816,18 +816,18 @@ AS SELECT * FROM t1 limit 2;
|
||||
SHOW CREATE VIEW test.v1;
|
||||
SELECT * FROM test.v1;
|
||||
# Switch the base table
|
||||
CREATE OR REPLACE VIEW test.v1 AS SELECT * FROM tb2 limit 2;
|
||||
CREATE OR REPLACE VIEW test.v1 AS SELECT * FROM tb2 order by f59 limit 2;
|
||||
SHOW CREATE VIEW test.v1;
|
||||
if ($have_bug_11589)
|
||||
{
|
||||
--disable_ps_protocol
|
||||
}
|
||||
SELECT * FROM test.v1 ;
|
||||
SELECT * FROM test.v1 order by f59,f60,f61,f62,f63,f64,f65;
|
||||
--enable_ps_protocol
|
||||
# Switch the SELECT but not the base table
|
||||
CREATE OR REPLACE VIEW test.v1 AS SELECT F59 FROM tb2 limit 10,100;
|
||||
SHOW CREATE VIEW test.v1;
|
||||
SELECT * FROM test.v1;
|
||||
SELECT * FROM test.v1 order by F59;
|
||||
Drop table test.t1 ;
|
||||
Drop view test.v1 ;
|
||||
|
||||
@@ -1020,7 +1020,7 @@ let $message= Testcase 3.3.1.21 ;
|
||||
DROP VIEW IF EXISTS v1;
|
||||
--enable_warnings
|
||||
CREATE VIEW test.v1( F59, F60 ) AS SELECT F59, F60 From tb2 LIMIT 2;
|
||||
SELECT * FROM test.v1;
|
||||
SELECT * FROM test.v1 order by F59, F60 desc;
|
||||
Drop view if exists test.v1 ;
|
||||
|
||||
|
||||
@@ -1175,7 +1175,7 @@ Drop VIEW IF EXISTS test.v1_1 ;
|
||||
--enable_warnings
|
||||
Create view test.v1 AS Select * from test.tb2 limit 2 ;
|
||||
Create view test.v1_1 AS Select F59 from test.v1 ;
|
||||
Select * from test.v1_1 limit 20 ;
|
||||
Select * from test.v1_1 order by F59 limit 20 ;
|
||||
Drop view test.v1 ;
|
||||
Drop view test.v1_1 ;
|
||||
|
||||
@@ -1197,7 +1197,7 @@ if ($have_bug_11589)
|
||||
{
|
||||
--disable_ps_protocol
|
||||
}
|
||||
Select * from v1 ;
|
||||
Select * from v1 order by f59,f60,f61,f62,f63,f64,f65;
|
||||
--enable_ps_protocol
|
||||
Select * from test2.v2 ;
|
||||
Drop view if exists test2.v1 ;
|
||||
@@ -1287,7 +1287,7 @@ CREATE VIEW test.v1
|
||||
AS SELECT test.v1_firstview.f59, test.v1_firstview.f60
|
||||
FROM test.v1_firstview INNER JOIN test.v1_secondview
|
||||
ON test.v1_firstview.f59 = test.v1_secondview.f59 ;
|
||||
SELECT * FROM test.v1 limit 0,10;
|
||||
SELECT * FROM test.v1 order by f59,f60 limit 0,10;
|
||||
Drop view if exists test.v1_firstview ;
|
||||
Drop view if exists test.v1_secondview ;
|
||||
Drop view if exists test.v1 ;
|
||||
@@ -1314,7 +1314,7 @@ CREATE VIEW v1
|
||||
AS SELECT test.v1_firstview.F59, test.v1_firstview.F60
|
||||
FROM test.v1_firstview INNER JOIN test.v1_secondview
|
||||
ON test.v1_firstview.f59 = test.v1_secondview.f59 ;
|
||||
SELECT * FROM v1 limit 0,10;
|
||||
SELECT * FROM v1 order by f59,f60 limit 0,10;
|
||||
Drop view v1 ;
|
||||
Drop view test.v1_firstview ;
|
||||
Drop view test.v1_secondview ;
|
||||
@@ -1339,7 +1339,7 @@ CREATE VIEW test.v1
|
||||
AS SELECT test.v1_firstview.f59, test.v1_firstview.f60
|
||||
FROM test.v1_firstview INNER JOIN test.tb2
|
||||
ON test.v1_firstview.f59 = test.tb2.f59;
|
||||
SELECT * FROM test.v1 limit 0,10;
|
||||
SELECT * FROM test.v1 order by f59,f60 limit 0,10;
|
||||
Drop view test.v1 ;
|
||||
Drop view test.v1_firstview;
|
||||
|
||||
@@ -1360,7 +1360,7 @@ CREATE VIEW v1_firstview AS SELECT * FROM test.tb2 ;
|
||||
CREATE VIEW v1
|
||||
AS SELECT v1_firstview.f59, v1_firstview.f60
|
||||
FROM v1_firstview INNER JOIN test.tb2 ON v1_firstview.f59 = test.tb2.f59 ;
|
||||
SELECT * FROM v1 limit 0,10;
|
||||
SELECT * FROM v1 order by f59,f60 limit 0,10;
|
||||
|
||||
Drop database test2 ;
|
||||
|
||||
@@ -1385,7 +1385,7 @@ Drop view if exists test.v1_1 ;
|
||||
Drop view if exists test.v1_main ;
|
||||
--enable_warnings
|
||||
Create view test.v1 as Select f59, f60 FROM test.tb2;
|
||||
Select * from test.v1 limit 0,10;
|
||||
Select * from test.v1 order by f59,f60 limit 0,10;
|
||||
|
||||
Create table t1(f59 int, f60 int);
|
||||
Insert into t1 values (90,507) ;
|
||||
@@ -1396,7 +1396,7 @@ Select * from v1_1 ;
|
||||
Create view v1_main
|
||||
as SELECT test.tb2.f59 FROM test.tb2 JOIN test.v1
|
||||
ON test.tb2.f59 = test.v1.f59;
|
||||
Select * from v1_main limit 0,10;
|
||||
Select * from v1_main order by f59 limit 0,10;
|
||||
|
||||
Drop table t1;
|
||||
Drop view test.v1 ;
|
||||
@@ -1505,7 +1505,7 @@ Drop view if exists test1.v1_1 ;
|
||||
Drop database if exists test3 ;
|
||||
--enable_warnings
|
||||
Create view test.v1 as Select f59, f60 FROM test.tb2 limit 20 ;
|
||||
Select * from test.v1 ;
|
||||
Select * from test.v1 order by f59,f60;
|
||||
|
||||
Create table test1.t1 (f59 int,f60 int) ;
|
||||
Insert into test1.t1 values (199,507) ;
|
||||
@@ -1550,7 +1550,7 @@ Drop view if exists test.v1 ;
|
||||
CREATE VIEW test.v1
|
||||
AS Select f59 from (Select * FROM tb2 limit 20) tx ;
|
||||
--error 1146
|
||||
SELECT * FROM test.v1 ;
|
||||
SELECT * FROM test.v1 order by f59 ;
|
||||
--disable_warnings
|
||||
Drop view if exists test.v1 ;
|
||||
--enable_warnings
|
||||
@@ -1709,7 +1709,7 @@ CREATE VIEW test.v1 AS SELECT * FROM test.tb2 where f59 = 04;
|
||||
--enable_info
|
||||
UPDATE test.v1 SET f59 = 30 where F59 = 04 ;
|
||||
--disable_info
|
||||
SELECT * FROM test.v1 where f59 = 30 ;
|
||||
SELECT * FROM test.v1 where f59 = 30 order by f59;
|
||||
if ($have_bug_11589)
|
||||
{
|
||||
--disable_ps_protocol
|
||||
@@ -1726,7 +1726,7 @@ if ($have_bug_11589)
|
||||
}
|
||||
SELECT * FROM tb2 where f59 = 100 ;
|
||||
--enable_ps_protocol
|
||||
SELECT * FROM test.v1 ;
|
||||
SELECT * FROM test.v1 order by f59 ;
|
||||
|
||||
drop view if exists test.v1 ;
|
||||
|
||||
@@ -1821,7 +1821,7 @@ FROM test.tb2 where f59 = 195 WITH CHECK OPTION ;
|
||||
|
||||
--error 1369
|
||||
UPDATE test.v1 SET f59 = 198 where f59=195 ;
|
||||
SELECT * FROM test.v1 ;
|
||||
SELECT * FROM test.v1 order by f59 ;
|
||||
|
||||
drop view if exists test.v1 ;
|
||||
|
||||
@@ -1846,7 +1846,7 @@ CREATE VIEW test.v2 as SELECT * FROM test.v1 ;
|
||||
# This UPDATE violates the definition of VIEW test.v1.
|
||||
--error 1369
|
||||
UPDATE test.v1 SET F59 = 919 where f59 = 0987 ;
|
||||
SELECT * FROM test.v1 ;
|
||||
SELECT * FROM test.v1 order by f59 ;
|
||||
|
||||
# ML: This UPDATE violates the definition of VIEW test.v1, but this
|
||||
# does not count, because the UPDATE runs on test.v2, which
|
||||
@@ -2299,7 +2299,7 @@ if ($have_bug_11589)
|
||||
{
|
||||
--disable_ps_protocol
|
||||
}
|
||||
SELECT * FROM test.v1 ;
|
||||
SELECT * FROM test.v1 order by f59 ;
|
||||
--enable_ps_protocol
|
||||
drop view test.v1 ;
|
||||
###############################################################################
|
||||
@@ -2310,7 +2310,7 @@ drop view test.v1 ;
|
||||
# AS SELECT col1, col3 FROM <table name>.
|
||||
###############################################################################
|
||||
CREATE VIEW test.v1 AS SELECT F59,F61 FROM test.tb2 limit 50 ;
|
||||
SELECT * FROM test.v1 ;
|
||||
SELECT * FROM test.v1 order by F59, F61 ;
|
||||
drop view test.v1 ;
|
||||
###############################################################################
|
||||
# Testcase 3.3.1.52: Ensure that a view that is a subset of every column and
|
||||
@@ -2319,12 +2319,12 @@ drop view test.v1 ;
|
||||
# that is semantically equivalent to CREATE VIEW <view name>
|
||||
# AS SELECT * FROM <table name> WHERE ....
|
||||
###############################################################################
|
||||
CREATE VIEW test.v1 AS SELECT * FROM test.tb2 limit 20 ;
|
||||
CREATE VIEW test.v1 AS SELECT * FROM test.tb2 order by f59, f60, f61 limit 20 ;
|
||||
if ($have_bug_11589)
|
||||
{
|
||||
--disable_ps_protocol
|
||||
}
|
||||
SELECT * FROM test.v1;
|
||||
SELECT * FROM test.v1 order by f59,f60,f61 ;
|
||||
--enable_ps_protocol
|
||||
drop view test.v1 ;
|
||||
###############################################################################
|
||||
@@ -2335,7 +2335,7 @@ drop view test.v1 ;
|
||||
# <view name> AS SELECT col1, col3 FROM <table name> WHERE ..
|
||||
###############################################################################
|
||||
CREATE VIEW test.v1 AS SELECT F59,f61 FROM test.tb2 limit 20 ;
|
||||
SELECT * FROM test.v1 limit 50;
|
||||
SELECT * FROM test.v1 order by f59,f61 desc limit 50;
|
||||
drop view test.v1 ;
|
||||
|
||||
|
||||
@@ -2363,7 +2363,7 @@ Insert into t2 values (2,2000) ;
|
||||
Insert into t2 values (31,97) ;
|
||||
Create view test.v1 as select t1.f59, t1.f60
|
||||
from t1,t2 where t1.f59=t2.f59 ;
|
||||
Select * from test.v1 limit 50 ;
|
||||
Select * from test.v1 order by f59 limit 50 ;
|
||||
|
||||
drop table test.t1 ;
|
||||
drop table test.t2 ;
|
||||
@@ -2457,7 +2457,7 @@ create or replace view test.v1 as
|
||||
Select t1.f59 t1_f59, t2.f59 t2_f59, t1.f60 t1_f60, t2.f60 t2_f60,
|
||||
t1.f61 t1_f61, t2.f61 t2_f61
|
||||
from t1 inner join t2 where t1.f59 = t2.f59 ;
|
||||
select * from test.v1;
|
||||
select * from test.v1 order by t1_f59 ;
|
||||
Select t1.f59 t1_f59, t2.f59 t2_f59, t1.f60 t1_f60, t2.f60 t2_f60,
|
||||
t1.f61 t1_f61, t2.f61 t2_f61
|
||||
from t1 inner join t2 where t1.f59 = t2.f59;
|
||||
@@ -2466,7 +2466,7 @@ from t1 inner join t2 where t1.f59 = t2.f59;
|
||||
Create or replace view test.v1 as
|
||||
Select t1.f59 AS t1_f59, t2.f59 AS t2_f59
|
||||
FROM t2 cross join t1;
|
||||
Select * from v1;
|
||||
Select * from v1 order by t1_f59,t2_f59;
|
||||
Select t1.f59 AS t1_f59, t2.f59 AS t2_f59
|
||||
FROM t2 cross join t1;
|
||||
|
||||
@@ -2474,7 +2474,7 @@ FROM t2 cross join t1;
|
||||
Create or replace view test.v1 as
|
||||
Select straight_join t1.f59 AS t1_f59, t2.f59 AS t2_f59
|
||||
FROM t2,t1;
|
||||
Select * from v1;
|
||||
Select * from v1 order by t1_f59,t2_f59;
|
||||
Select straight_join t1.f59 AS t1_f59, t2.f59 AS t2_f59
|
||||
FROM t2,t1;
|
||||
|
||||
@@ -2482,7 +2482,7 @@ FROM t2,t1;
|
||||
Create or replace view test.v1 as
|
||||
Select f59, f60, f61, a, b
|
||||
FROM t2 natural join t1;
|
||||
Select * from v1;
|
||||
Select * from v1 order by f59;
|
||||
Select f59, f60, f61, a, b
|
||||
FROM t2 natural join t1;
|
||||
|
||||
@@ -2491,7 +2491,7 @@ Create or replace view test.v1 as
|
||||
Select t1.f59 t1_f59, t2.f59 t2_f59, t1.f60 t1_f60, t2.f60 t2_f60,
|
||||
t1.f61 t1_f61, t2.f61 t2_f61
|
||||
FROM t2 left outer join t1 on t2.f59=t1.f59;
|
||||
Select * from v1;
|
||||
Select * from v1 order by t1_f59;
|
||||
Select t1.f59 t1_f59, t2.f59 t2_f59, t1.f60 t1_f60, t2.f60 t2_f60,
|
||||
t1.f61 t1_f61, t2.f61 t2_f61
|
||||
FROM t2 left outer join t1 on t2.f59=t1.f59;
|
||||
@@ -2500,7 +2500,7 @@ FROM t2 left outer join t1 on t2.f59=t1.f59;
|
||||
Create or replace view test.v1 as
|
||||
Select f59, f60, f61, t1.a, t2.b
|
||||
FROM t2 natural left outer join t1;
|
||||
Select * from v1;
|
||||
Select * from v1 order by f59;
|
||||
Select f59, f60, f61, t1.a, t2.b
|
||||
FROM t2 natural left outer join t1;
|
||||
|
||||
@@ -2509,7 +2509,7 @@ Create or replace view test.v1 as
|
||||
Select t1.f59 t1_f59, t2.f59 t2_f59, t1.f60 t1_f60, t2.f60 t2_f60,
|
||||
t1.f61 t1_f61, t2.f61 t2_f61
|
||||
FROM t2 right outer join t1 on t2.f59=t1.f59;
|
||||
Select * from v1;
|
||||
Select * from v1 order by t1_f59;
|
||||
Select t1.f59 t1_f59, t2.f59 t2_f59, t1.f60 t1_f60, t2.f60 t2_f60,
|
||||
t1.f61 t1_f61, t2.f61 t2_f61
|
||||
FROM t2 right outer join t1 on t2.f59=t1.f59;
|
||||
@@ -2518,7 +2518,7 @@ FROM t2 right outer join t1 on t2.f59=t1.f59;
|
||||
Create or replace view test.v1 as
|
||||
Select f59, f60, a, b
|
||||
FROM t2 natural right outer join t1;
|
||||
Select * from v1;
|
||||
Select * from v1 order by f59 desc;
|
||||
Select f59, f60, a, b
|
||||
FROM t2 natural right outer join t1;
|
||||
|
||||
@@ -2551,7 +2551,7 @@ Insert into t1 values (901,801,401) ;
|
||||
|
||||
Create or replace view test.v1 as
|
||||
Select tb2.f59 FROM tb2 LEFT JOIN t1 on tb2.f59 = t1.f59 ;
|
||||
Select * from test.v1 limit 0,10;
|
||||
Select * from test.v1 order by f59 limit 0,10;
|
||||
Drop view if exists test.v1 ;
|
||||
|
||||
# Testcase 3.3.1.A2 ;
|
||||
@@ -2566,7 +2566,7 @@ Insert into t1 values (201,201,201) ;
|
||||
|
||||
Create or replace view test.v1
|
||||
as Select tb2.f59 FROM tb2 INNER JOIN t1 on tb2.f59 = t1.f59 ;
|
||||
Select * from test.v1 limit 0,10;
|
||||
Select * from test.v1 order by f59 limit 0,10;
|
||||
Drop view if exists test.v1 ;
|
||||
|
||||
# Testcase 3.3.1.A3 ;
|
||||
@@ -2581,7 +2581,7 @@ Insert into t1 values (21,21,21) ;
|
||||
|
||||
Create or replace view test.v1
|
||||
as Select tb2.f59 FROM tb2 CROSS JOIN t1 on tb2.f59 = t1.f59 ;
|
||||
Select * from test.v1 limit 0,10;
|
||||
Select * from test.v1 order by f59 limit 0,10;
|
||||
|
||||
Drop view test.v1 ;
|
||||
|
||||
@@ -2607,15 +2607,15 @@ Insert into t1 values (91,81,41) ;
|
||||
|
||||
Create or replace view test.v1 as (Select f59 FROM tb2 where f59=17 )
|
||||
Union ALL (Select f59 from t1 where f59=17 );
|
||||
Select * from test.v1 limit 0,10;
|
||||
Select * from test.v1 order by f59 limit 0,10;
|
||||
|
||||
Create or replace view test.v1 as (Select f59 FROM tb2 where f59=17 )
|
||||
Union (Select f59 from t1 where f59=17 );
|
||||
Select * from test.v1 limit 0,10;
|
||||
Select * from test.v1 order by f59 limit 0,10;
|
||||
|
||||
Create or replace view test.v1 as (Select f59 FROM tb2 where f59=17 )
|
||||
Union Distinct (Select f59 from t1 where f60=17 );
|
||||
Select * from test.v1 limit 0,10;
|
||||
Select * from test.v1 order by f59 limit 0,10;
|
||||
|
||||
Drop view test.v1 ;
|
||||
|
||||
@@ -2631,25 +2631,25 @@ insert into t1 values (901,801,401);
|
||||
|
||||
create or replace view test.v1 as
|
||||
select tb2.f59 from tb2 join t1 on tb2.f59 = t1.f59;
|
||||
select * from test.v1 limit 0,10;
|
||||
select * from test.v1 order by f59 limit 0,10;
|
||||
|
||||
create or replace view test.v1 as
|
||||
(select f59 from tb2 where f59=107 )
|
||||
union all
|
||||
(select f59 from t1 where f59=107 );
|
||||
select * from test.v1 limit 0,10;
|
||||
select * from test.v1 order by f59 limit 0,10;
|
||||
|
||||
create or replace view test.v1 as
|
||||
(select f59 from tb2 where f59=107 )
|
||||
union
|
||||
(select f59 from t1 where f59=107 );
|
||||
select * from test.v1 limit 0,10;
|
||||
select * from test.v1 order by f59 limit 0,10;
|
||||
|
||||
create or replace view test.v1 as
|
||||
(select f59 from tb2 where f59=107 )
|
||||
union distinct
|
||||
(select f59 from t1 where f59=107 );
|
||||
select * from test.v1 limit 0,10;
|
||||
select * from test.v1 order by f59 limit 0,10;
|
||||
|
||||
drop view if exists test.v1 ;
|
||||
drop table t1;
|
||||
@@ -2668,7 +2668,7 @@ Drop view if exists test.v1 ;
|
||||
CREATE VIEW test.v1 AS SELECT F59
|
||||
FROM test.tb2 where test.tb2.F59 = 109;
|
||||
|
||||
SELECT * FROM test.v1 limit 0,10;
|
||||
SELECT * FROM test.v1 order by f59 limit 0,10;
|
||||
|
||||
ALTER VIEW test.v1 AS SELECT *
|
||||
FROM test.tb2 WHERE test.tb2.f59 = 242 ;
|
||||
@@ -2676,7 +2676,7 @@ if ($have_bug_11589)
|
||||
{
|
||||
--disable_ps_protocol
|
||||
}
|
||||
SELECT * FROM test.v1 limit 0,10;
|
||||
SELECT * FROM test.v1 order by f59 limit 0,10;
|
||||
--enable_ps_protocol
|
||||
|
||||
Drop view test.v1 ;
|
||||
@@ -2899,10 +2899,14 @@ eval EXPLAIN SELECT * FROM test3.v$toplevel;
|
||||
# and OBN's box performs excessive paging.
|
||||
# (RAM: OBN ~384MB RAM, ML 1 GB)
|
||||
#++++++++++++++++++++++++++++++++++++++++++++++
|
||||
let $message= FIXME - Setting join_limit to 30 - hangs for higher values;
|
||||
let $message= FIXME - Setting join_limit to 28 - hangs for higher values;
|
||||
--source include/show_msg.inc
|
||||
# OBN - Reduced from 30 in 5.1.21 to avoid hitting the ndbcluster limit
|
||||
# of "ERROR HY000:RROR HY000: Got temporary error 4006 'Connect failure
|
||||
# - out of connection objects (increase MaxNoOfConcurrentTransactions)'
|
||||
# from NDBCLUSTER " to early;
|
||||
#SET @join_limit = 61;
|
||||
SET @join_limit = 30;
|
||||
SET @join_limit = 28; # OBN - see above
|
||||
SET @max_level = @join_limit - 1;
|
||||
--enable_query_log
|
||||
|
||||
@@ -3184,7 +3188,7 @@ if ($have_bug_11589)
|
||||
}
|
||||
SELECT * FROM tb2 where f59 = 8 and f60 = 105;
|
||||
--enable_ps_protocol
|
||||
SELECT f59,f60 FROM test.v1 where f59 = 8 and f60 = 105;
|
||||
SELECT f59,f60 FROM test.v1 where f59 = 8 and f60 = 105 ;
|
||||
|
||||
Drop view test.v1 ;
|
||||
|
||||
@@ -3212,7 +3216,7 @@ if ($have_bug_11589)
|
||||
}
|
||||
SELECT * FROM tb2 where f59 = 891 and f60 = 105;
|
||||
--enable_ps_protocol
|
||||
SELECT f59,f60 FROM test.v1 where f59 = 891 and f60 = 105;
|
||||
SELECT f59,f60 FROM test.v1 where f59 = 891 and f60 = 105 ;
|
||||
|
||||
Drop view test.v1 ;
|
||||
|
||||
@@ -3233,7 +3237,7 @@ CREATE VIEW test.v1 AS SELECT f59,f60,f61 FROM tb2 where f59 = 789 ;
|
||||
DELETE FROM test.v1 where f59 = 789 ;
|
||||
--disable_info
|
||||
SELECT * FROM tb2 where f59 = 789 ;
|
||||
SELECT f59,f60 FROM test.v1 where f59 = 789;
|
||||
SELECT f59,f60 FROM test.v1 where f59 = 789 order by f60 ;
|
||||
|
||||
Drop view test.v1 ;
|
||||
|
||||
@@ -3256,7 +3260,7 @@ DELETE FROM test.v1 where f59 = 711 ;
|
||||
--disable_info
|
||||
|
||||
SELECT * FROM tb2 where f59 = 711 ;
|
||||
SELECT f59,f60 FROM test.v1 where f59 = 711;
|
||||
SELECT f59,f60 FROM test.v1 where f59 = 711 order by f60 ;
|
||||
|
||||
Drop view test.v1 ;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ SET NAMES armscii8;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET armscii8 COLLATE armscii8_bin) ENGINE=NDB CHARACTER SET armscii8 COLLATE armscii8_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # armscii8_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # armscii8_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -233,7 +233,7 @@ SET NAMES armscii8;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET armscii8 COLLATE armscii8_general_ci) ENGINE=NDB CHARACTER SET armscii8 COLLATE armscii8_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # armscii8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # armscii8_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -463,7 +463,7 @@ SET NAMES ascii;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET ascii COLLATE ascii_bin) ENGINE=NDB CHARACTER SET ascii COLLATE ascii_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # ascii_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # ascii_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -693,7 +693,7 @@ SET NAMES ascii;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET ascii COLLATE ascii_general_ci) ENGINE=NDB CHARACTER SET ascii COLLATE ascii_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # ascii_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # ascii_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -923,7 +923,7 @@ SET NAMES big5;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET big5 COLLATE big5_bin) ENGINE=NDB CHARACTER SET big5 COLLATE big5_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # big5_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # big5_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -1027,7 +1027,7 @@ SET NAMES big5;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET big5 COLLATE big5_chinese_ci) ENGINE=NDB CHARACTER SET big5 COLLATE big5_chinese_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # big5_chinese_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # big5_chinese_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -1131,7 +1131,7 @@ SET NAMES binary;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET binary) ENGINE=NDB CHARACTER SET binary;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # binary # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # binary # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -1361,7 +1361,7 @@ SET NAMES cp1250;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1250 COLLATE cp1250_bin) ENGINE=NDB CHARACTER SET cp1250 COLLATE cp1250_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1250_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1250_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -1591,7 +1591,7 @@ SET NAMES cp1250;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1250 COLLATE cp1250_croatian_ci) ENGINE=NDB CHARACTER SET cp1250 COLLATE cp1250_croatian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1250_croatian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1250_croatian_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -1821,7 +1821,7 @@ SET NAMES cp1250;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1250 COLLATE cp1250_czech_cs) ENGINE=NDB CHARACTER SET cp1250 COLLATE cp1250_czech_cs;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1250_czech_cs # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1250_czech_cs # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
7F 1
|
||||
@@ -2051,7 +2051,7 @@ SET NAMES cp1250;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1250 COLLATE cp1250_general_ci) ENGINE=NDB CHARACTER SET cp1250 COLLATE cp1250_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1250_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1250_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
A0 1
|
||||
@@ -2281,7 +2281,7 @@ SET NAMES cp1251;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1251 COLLATE cp1251_bin) ENGINE=NDB CHARACTER SET cp1251 COLLATE cp1251_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1251_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1251_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -2511,7 +2511,7 @@ SET NAMES cp1251;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1251 COLLATE cp1251_bulgarian_ci) ENGINE=NDB CHARACTER SET cp1251 COLLATE cp1251_bulgarian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1251_bulgarian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1251_bulgarian_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -2741,7 +2741,7 @@ SET NAMES cp1251;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1251 COLLATE cp1251_general_ci) ENGINE=NDB CHARACTER SET cp1251 COLLATE cp1251_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1251_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1251_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -2971,7 +2971,7 @@ SET NAMES cp1251;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1251 COLLATE cp1251_general_cs) ENGINE=NDB CHARACTER SET cp1251 COLLATE cp1251_general_cs;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1251_general_cs # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1251_general_cs # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -3201,7 +3201,7 @@ SET NAMES cp1251;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1251 COLLATE cp1251_ukrainian_ci) ENGINE=NDB CHARACTER SET cp1251 COLLATE cp1251_ukrainian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1251_ukrainian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1251_ukrainian_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
60 1
|
||||
@@ -3431,7 +3431,7 @@ SET NAMES cp1256;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1256 COLLATE cp1256_bin) ENGINE=NDB CHARACTER SET cp1256 COLLATE cp1256_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1256_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1256_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -3661,7 +3661,7 @@ SET NAMES cp1256;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1256 COLLATE cp1256_general_ci) ENGINE=NDB CHARACTER SET cp1256 COLLATE cp1256_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1256_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1256_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -3891,7 +3891,7 @@ SET NAMES cp1257;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1257 COLLATE cp1257_bin) ENGINE=NDB CHARACTER SET cp1257 COLLATE cp1257_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1257_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1257_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -4121,7 +4121,7 @@ SET NAMES cp1257;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1257 COLLATE cp1257_general_ci) ENGINE=NDB CHARACTER SET cp1257 COLLATE cp1257_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1257_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1257_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -4351,7 +4351,7 @@ SET NAMES cp1257;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1257 COLLATE cp1257_lithuanian_ci) ENGINE=NDB CHARACTER SET cp1257 COLLATE cp1257_lithuanian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp1257_lithuanian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp1257_lithuanian_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -4581,7 +4581,7 @@ SET NAMES cp850;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp850 COLLATE cp850_bin) ENGINE=NDB CHARACTER SET cp850 COLLATE cp850_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp850_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp850_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -4811,7 +4811,7 @@ SET NAMES cp850;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp850 COLLATE cp850_general_ci) ENGINE=NDB CHARACTER SET cp850 COLLATE cp850_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp850_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp850_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -5041,7 +5041,7 @@ SET NAMES cp852;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp852 COLLATE cp852_bin) ENGINE=NDB CHARACTER SET cp852 COLLATE cp852_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp852_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp852_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -5271,7 +5271,7 @@ SET NAMES cp852;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp852 COLLATE cp852_general_ci) ENGINE=NDB CHARACTER SET cp852 COLLATE cp852_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp852_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp852_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -5501,7 +5501,7 @@ SET NAMES cp866;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp866 COLLATE cp866_bin) ENGINE=NDB CHARACTER SET cp866 COLLATE cp866_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp866_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp866_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -5731,7 +5731,7 @@ SET NAMES cp866;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp866 COLLATE cp866_general_ci) ENGINE=NDB CHARACTER SET cp866 COLLATE cp866_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp866_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp866_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -5961,7 +5961,7 @@ SET NAMES cp932;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp932 COLLATE cp932_bin) ENGINE=NDB CHARACTER SET cp932 COLLATE cp932_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp932_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp932_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -6128,7 +6128,7 @@ SET NAMES cp932;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp932 COLLATE cp932_japanese_ci) ENGINE=NDB CHARACTER SET cp932 COLLATE cp932_japanese_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # cp932_japanese_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # cp932_japanese_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -6295,7 +6295,7 @@ SET NAMES dec8;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET dec8 COLLATE dec8_bin) ENGINE=NDB CHARACTER SET dec8 COLLATE dec8_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # dec8_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # dec8_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -6525,7 +6525,7 @@ SET NAMES dec8;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET dec8 COLLATE dec8_swedish_ci) ENGINE=NDB CHARACTER SET dec8 COLLATE dec8_swedish_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # dec8_swedish_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # dec8_swedish_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -6755,7 +6755,7 @@ SET NAMES eucjpms;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET eucjpms COLLATE eucjpms_bin) ENGINE=NDB CHARACTER SET eucjpms COLLATE eucjpms_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # eucjpms_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # eucjpms_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -6859,7 +6859,7 @@ SET NAMES eucjpms;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET eucjpms COLLATE eucjpms_japanese_ci) ENGINE=NDB CHARACTER SET eucjpms COLLATE eucjpms_japanese_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # eucjpms_japanese_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # eucjpms_japanese_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -6963,7 +6963,7 @@ SET NAMES euckr;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET euckr COLLATE euckr_bin) ENGINE=NDB CHARACTER SET euckr COLLATE euckr_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # euckr_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # euckr_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -7067,7 +7067,7 @@ SET NAMES euckr;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET euckr COLLATE euckr_korean_ci) ENGINE=NDB CHARACTER SET euckr COLLATE euckr_korean_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # euckr_korean_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # euckr_korean_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -7171,7 +7171,7 @@ SET NAMES gb2312;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET gb2312 COLLATE gb2312_bin) ENGINE=NDB CHARACTER SET gb2312 COLLATE gb2312_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # gb2312_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # gb2312_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -7275,7 +7275,7 @@ SET NAMES gb2312;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci) ENGINE=NDB CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # gb2312_chinese_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # gb2312_chinese_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -7379,7 +7379,7 @@ SET NAMES gbk;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET gbk COLLATE gbk_bin) ENGINE=NDB CHARACTER SET gbk COLLATE gbk_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # gbk_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # gbk_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -7483,7 +7483,7 @@ SET NAMES gbk;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET gbk COLLATE gbk_chinese_ci) ENGINE=NDB CHARACTER SET gbk COLLATE gbk_chinese_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # gbk_chinese_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # gbk_chinese_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -7587,7 +7587,7 @@ SET NAMES geostd8;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET geostd8 COLLATE geostd8_bin) ENGINE=NDB CHARACTER SET geostd8 COLLATE geostd8_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # geostd8_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # geostd8_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -7817,7 +7817,7 @@ SET NAMES geostd8;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET geostd8 COLLATE geostd8_general_ci) ENGINE=NDB CHARACTER SET geostd8 COLLATE geostd8_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # geostd8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # geostd8_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -8047,7 +8047,7 @@ SET NAMES greek;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET greek COLLATE greek_bin) ENGINE=NDB CHARACTER SET greek COLLATE greek_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # greek_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # greek_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -8277,7 +8277,7 @@ SET NAMES greek;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET greek COLLATE greek_general_ci) ENGINE=NDB CHARACTER SET greek COLLATE greek_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # greek_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # greek_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -8507,7 +8507,7 @@ SET NAMES hebrew;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET hebrew COLLATE hebrew_bin) ENGINE=NDB CHARACTER SET hebrew COLLATE hebrew_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # hebrew_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # hebrew_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -8737,7 +8737,7 @@ SET NAMES hebrew;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET hebrew COLLATE hebrew_general_ci) ENGINE=NDB CHARACTER SET hebrew COLLATE hebrew_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # hebrew_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # hebrew_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -8967,7 +8967,7 @@ SET NAMES hp8;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET hp8 COLLATE hp8_bin) ENGINE=NDB CHARACTER SET hp8 COLLATE hp8_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # hp8_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # hp8_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -9197,7 +9197,7 @@ SET NAMES hp8;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET hp8 COLLATE hp8_english_ci) ENGINE=NDB CHARACTER SET hp8 COLLATE hp8_english_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # hp8_english_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # hp8_english_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -9427,7 +9427,7 @@ SET NAMES keybcs2;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET keybcs2 COLLATE keybcs2_bin) ENGINE=NDB CHARACTER SET keybcs2 COLLATE keybcs2_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # keybcs2_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # keybcs2_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -9657,7 +9657,7 @@ SET NAMES keybcs2;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET keybcs2 COLLATE keybcs2_general_ci) ENGINE=NDB CHARACTER SET keybcs2 COLLATE keybcs2_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # keybcs2_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # keybcs2_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -9887,7 +9887,7 @@ SET NAMES koi8r;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET koi8r COLLATE koi8r_bin) ENGINE=NDB CHARACTER SET koi8r COLLATE koi8r_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # koi8r_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # koi8r_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -10117,7 +10117,7 @@ SET NAMES koi8r;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET koi8r COLLATE koi8r_general_ci) ENGINE=NDB CHARACTER SET koi8r COLLATE koi8r_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # koi8r_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # koi8r_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -10347,7 +10347,7 @@ SET NAMES koi8u;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET koi8u COLLATE koi8u_bin) ENGINE=NDB CHARACTER SET koi8u COLLATE koi8u_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # koi8u_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # koi8u_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -10577,7 +10577,7 @@ SET NAMES koi8u;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET koi8u COLLATE koi8u_general_ci) ENGINE=NDB CHARACTER SET koi8u COLLATE koi8u_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # koi8u_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # koi8u_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
60 1
|
||||
@@ -10807,7 +10807,7 @@ SET NAMES latin1;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_bin) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin1_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin1_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -11037,7 +11037,7 @@ SET NAMES latin1;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_danish_ci) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_danish_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin1_danish_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin1_danish_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -11267,7 +11267,7 @@ SET NAMES latin1;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_general_ci) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin1_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin1_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -11497,7 +11497,7 @@ SET NAMES latin1;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_general_cs) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_general_cs;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin1_general_cs # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin1_general_cs # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -11727,7 +11727,7 @@ SET NAMES latin1;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_german1_ci) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_german1_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin1_german1_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin1_german1_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -11957,7 +11957,7 @@ SET NAMES latin1;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_german2_ci) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_german2_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin1_german2_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin1_german2_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -12187,7 +12187,7 @@ SET NAMES latin1;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_spanish_ci) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_spanish_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin1_spanish_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin1_spanish_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -12417,7 +12417,7 @@ SET NAMES latin1;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_swedish_ci) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_swedish_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin1_swedish_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin1_swedish_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -12647,7 +12647,7 @@ SET NAMES latin2;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin2 COLLATE latin2_bin) ENGINE=NDB CHARACTER SET latin2 COLLATE latin2_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin2_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin2_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -12877,7 +12877,7 @@ SET NAMES latin2;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin2 COLLATE latin2_croatian_ci) ENGINE=NDB CHARACTER SET latin2 COLLATE latin2_croatian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin2_croatian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin2_croatian_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -13107,7 +13107,7 @@ SET NAMES latin2;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin2 COLLATE latin2_czech_cs) ENGINE=NDB CHARACTER SET latin2 COLLATE latin2_czech_cs;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin2_czech_cs # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin2_czech_cs # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
2E 1
|
||||
@@ -13337,7 +13337,7 @@ SET NAMES latin2;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin2 COLLATE latin2_general_ci) ENGINE=NDB CHARACTER SET latin2 COLLATE latin2_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin2_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin2_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -13567,7 +13567,7 @@ SET NAMES latin2;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin2 COLLATE latin2_hungarian_ci) ENGINE=NDB CHARACTER SET latin2 COLLATE latin2_hungarian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin2_hungarian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin2_hungarian_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
7F 1
|
||||
@@ -13797,7 +13797,7 @@ SET NAMES latin5;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin5 COLLATE latin5_bin) ENGINE=NDB CHARACTER SET latin5 COLLATE latin5_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin5_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin5_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -14027,7 +14027,7 @@ SET NAMES latin5;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin5 COLLATE latin5_turkish_ci) ENGINE=NDB CHARACTER SET latin5 COLLATE latin5_turkish_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin5_turkish_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin5_turkish_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -14257,7 +14257,7 @@ SET NAMES latin7;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin7 COLLATE latin7_bin) ENGINE=NDB CHARACTER SET latin7 COLLATE latin7_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin7_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin7_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -14487,7 +14487,7 @@ SET NAMES latin7;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin7 COLLATE latin7_estonian_cs) ENGINE=NDB CHARACTER SET latin7 COLLATE latin7_estonian_cs;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin7_estonian_cs # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin7_estonian_cs # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
80 1
|
||||
@@ -14717,7 +14717,7 @@ SET NAMES latin7;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin7 COLLATE latin7_general_ci) ENGINE=NDB CHARACTER SET latin7 COLLATE latin7_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin7_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin7_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
7F 1
|
||||
@@ -14947,7 +14947,7 @@ SET NAMES latin7;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin7 COLLATE latin7_general_cs) ENGINE=NDB CHARACTER SET latin7 COLLATE latin7_general_cs;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # latin7_general_cs # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # latin7_general_cs # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
7F 1
|
||||
@@ -15177,7 +15177,7 @@ SET NAMES macce;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET macce COLLATE macce_bin) ENGINE=NDB CHARACTER SET macce COLLATE macce_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # macce_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # macce_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -15407,7 +15407,7 @@ SET NAMES macce;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET macce COLLATE macce_general_ci) ENGINE=NDB CHARACTER SET macce COLLATE macce_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # macce_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # macce_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -15637,7 +15637,7 @@ SET NAMES macroman;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET macroman COLLATE macroman_bin) ENGINE=NDB CHARACTER SET macroman COLLATE macroman_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # macroman_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # macroman_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -15867,7 +15867,7 @@ SET NAMES macroman;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET macroman COLLATE macroman_general_ci) ENGINE=NDB CHARACTER SET macroman COLLATE macroman_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # macroman_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # macroman_general_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -16097,7 +16097,7 @@ SET NAMES sjis;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET sjis COLLATE sjis_bin) ENGINE=NDB CHARACTER SET sjis COLLATE sjis_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # sjis_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # sjis_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -16264,7 +16264,7 @@ SET NAMES sjis;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET sjis COLLATE sjis_japanese_ci) ENGINE=NDB CHARACTER SET sjis COLLATE sjis_japanese_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # sjis_japanese_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # sjis_japanese_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -16431,7 +16431,7 @@ SET NAMES swe7;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET swe7 COLLATE swe7_bin) ENGINE=NDB CHARACTER SET swe7 COLLATE swe7_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # swe7_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # swe7_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -16661,7 +16661,7 @@ SET NAMES swe7;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET swe7 COLLATE swe7_swedish_ci) ENGINE=NDB CHARACTER SET swe7 COLLATE swe7_swedish_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # swe7_swedish_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # swe7_swedish_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -16891,7 +16891,7 @@ SET NAMES tis620;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET tis620 COLLATE tis620_bin) ENGINE=NDB CHARACTER SET tis620 COLLATE tis620_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # tis620_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # tis620_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -17121,7 +17121,7 @@ SET NAMES tis620;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET tis620 COLLATE tis620_thai_ci) ENGINE=NDB CHARACTER SET tis620 COLLATE tis620_thai_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # tis620_thai_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # tis620_thai_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -17351,7 +17351,7 @@ SET NAMES ujis;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET ujis COLLATE ujis_bin) ENGINE=NDB CHARACTER SET ujis COLLATE ujis_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # ujis_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # ujis_bin # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -17455,7 +17455,7 @@ SET NAMES ujis;
|
||||
CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET ujis COLLATE ujis_japanese_ci) ENGINE=NDB CHARACTER SET ujis COLLATE ujis_japanese_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # ujis_japanese_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # ujis_japanese_ci # # #
|
||||
SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
|
||||
a_ascii a_len
|
||||
21 1
|
||||
@@ -17562,7 +17562,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_bin;
|
||||
@@ -20103,7 +20103,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_czech_ci;
|
||||
@@ -22644,7 +22644,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_danish_ci;
|
||||
@@ -25185,7 +25185,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_estonian_ci;
|
||||
@@ -27726,7 +27726,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_general_ci;
|
||||
@@ -30267,7 +30267,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_hungarian_ci;
|
||||
@@ -32808,7 +32808,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_icelandic_ci;
|
||||
@@ -35349,7 +35349,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_latvian_ci;
|
||||
@@ -37890,7 +37890,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_lithuanian_ci;
|
||||
@@ -40431,7 +40431,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_persian_ci;
|
||||
@@ -42972,7 +42972,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_polish_ci;
|
||||
@@ -45513,7 +45513,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_roman_ci;
|
||||
@@ -48054,7 +48054,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_romanian_ci;
|
||||
@@ -50595,7 +50595,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_slovak_ci;
|
||||
@@ -53136,7 +53136,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_slovenian_ci;
|
||||
@@ -55677,7 +55677,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_spanish2_ci;
|
||||
@@ -58218,7 +58218,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_spanish_ci;
|
||||
@@ -60759,7 +60759,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_swedish_ci;
|
||||
@@ -63300,7 +63300,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_turkish_ci;
|
||||
@@ -65841,7 +65841,7 @@ SET NAMES utf8;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_unicode_ci;
|
||||
@@ -68381,7 +68381,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_bin) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_bin;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_bin # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_bin # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -70920,7 +70920,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_czech_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_czech_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_czech_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_czech_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -73459,7 +73459,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_danish_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_danish_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_danish_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_danish_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -75998,7 +75998,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_estonian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_estonian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_estonian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_estonian_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -78537,7 +78537,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_general_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_general_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_general_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -81076,7 +81076,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_hungarian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_hungarian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_hungarian_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -83615,7 +83615,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_icelandic_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_icelandic_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_icelandic_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_icelandic_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -86154,7 +86154,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_latvian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_latvian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_latvian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_latvian_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -88693,7 +88693,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_lithuanian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_lithuanian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_lithuanian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_lithuanian_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -91232,7 +91232,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_persian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_persian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_persian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_persian_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -93771,7 +93771,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_polish_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_polish_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_polish_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_polish_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -96310,7 +96310,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_roman_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_roman_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_roman_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_roman_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -98849,7 +98849,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_romanian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_romanian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_romanian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_romanian_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -101388,7 +101388,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_slovak_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_slovak_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_slovak_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_slovak_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -103927,7 +103927,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_slovenian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_slovenian_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_slovenian_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_slovenian_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -106466,7 +106466,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_spanish2_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_spanish2_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_spanish2_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_spanish2_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -109005,7 +109005,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_spanish_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_spanish_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_spanish_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_spanish_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -111544,7 +111544,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_swedish_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_swedish_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_swedish_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_swedish_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -114083,7 +114083,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_turkish_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_turkish_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_turkish_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_turkish_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
@@ -116622,7 +116622,7 @@ USE test;
|
||||
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_unicode_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_unicode_ci;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 NDBCLUSTER # # # # # # # # # # # # utf8_unicode_ci # # #
|
||||
t1 ndbcluster # # # # # # # # # # # # utf8_unicode_ci # # #
|
||||
LOAD DATA INFILE
|
||||
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
|
||||
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
|
||||
|
||||
20
mysql-test/suite/im/t/disabled.def
Normal file
20
mysql-test/suite/im/t/disabled.def
Normal file
@@ -0,0 +1,20 @@
|
||||
##############################################################################
|
||||
#
|
||||
# List the test cases that are to be disabled temporarily.
|
||||
#
|
||||
# Separate the test case name and the comment with ':'.
|
||||
#
|
||||
# <testcasename> : BUG#<xxxx> <date disabled> <disabler> <comment>
|
||||
#
|
||||
# Do not use any TAB characters for whitespace.
|
||||
#
|
||||
##############################################################################
|
||||
im_options : Bug#20294 2006-07-24 stewart Instance manager test im_options fails randomly
|
||||
im_daemon_life_cycle : Bug#20294 2007-05-14 alik Instance manager tests fail randomly
|
||||
im_cmd_line : Bug#20294 2007-05-14 alik Instance manager tests fail randomly
|
||||
im_utils : Bug#20294 2007-05-30 alik Instance manager tests fail randomly
|
||||
im_instance_conf : Bug#20294 2007-05-30 alik Instance manager tests fail randomly
|
||||
im_life_cycle : BUG#27851 Instance manager dies on ASSERT in ~Thread_registry() or from not being able to close a mysqld instance.
|
||||
im_instance_conf : BUG#28743 Instance manager generates warnings in test suite
|
||||
im_utils : BUG#28743 Instance manager generates warnings in test suite
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user