mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			191 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			191 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
drop table if exists t1,t2;
 | 
						|
create table t1(n int);
 | 
						|
insert into t1 values (1);
 | 
						|
lock tables t1 write;
 | 
						|
update low_priority t1 set n = 4;
 | 
						|
select n from t1;
 | 
						|
unlock tables;
 | 
						|
n
 | 
						|
4
 | 
						|
drop table t1;
 | 
						|
create table t1(n int);
 | 
						|
insert into t1 values (1);
 | 
						|
lock tables t1 read;
 | 
						|
update low_priority t1 set n = 4;
 | 
						|
select n from t1;
 | 
						|
n
 | 
						|
1
 | 
						|
unlock tables;
 | 
						|
drop table t1;
 | 
						|
create table t1 (a int, b int);
 | 
						|
create table t2 (c int, d int);
 | 
						|
insert into t1 values(1,1);
 | 
						|
insert into t1 values(2,2);
 | 
						|
insert into t2 values(1,2);
 | 
						|
lock table t1 read;
 | 
						|
update t1,t2 set c=a where b=d;
 | 
						|
select c from t2;
 | 
						|
c
 | 
						|
2
 | 
						|
drop table t1;
 | 
						|
drop table t2;
 | 
						|
create table t1 (a int);
 | 
						|
create table t2 (a int);
 | 
						|
lock table t1 write, t2 write;
 | 
						|
insert t1 select * from t2;
 | 
						|
drop table t2;
 | 
						|
ERROR 42S02: Table 'test.t2' doesn't exist
 | 
						|
drop table t1;
 | 
						|
create table t1 (a int);
 | 
						|
create table t2 (a int);
 | 
						|
lock table t1 write, t2 write, t1 as t1_2 write, t2 as t2_2 write;
 | 
						|
insert t1 select * from t2;
 | 
						|
drop table t2;
 | 
						|
ERROR 42S02: Table 'test.t2' doesn't exist
 | 
						|
drop table t1;
 | 
						|
End of 4.1 tests
 | 
						|
create table t1(a int);
 | 
						|
lock tables t1 write;
 | 
						|
show columns from t1;
 | 
						|
Field	Type	Null	Key	Default	Extra
 | 
						|
a	int(11)	YES		NULL	
 | 
						|
unlock tables;
 | 
						|
drop table t1;
 | 
						|
use mysql;
 | 
						|
LOCK TABLES columns_priv WRITE, db WRITE, host WRITE, user WRITE;
 | 
						|
FLUSH TABLES;
 | 
						|
use mysql;
 | 
						|
SELECT user.Select_priv FROM user, db WHERE user.user = db.user LIMIT 1;
 | 
						|
OPTIMIZE TABLES columns_priv, db, host, user;
 | 
						|
Table	Op	Msg_type	Msg_text
 | 
						|
mysql.columns_priv	optimize	status	OK
 | 
						|
mysql.db	optimize	status	OK
 | 
						|
mysql.host	optimize	status	OK
 | 
						|
mysql.user	optimize	status	OK
 | 
						|
UNLOCK TABLES;
 | 
						|
Select_priv
 | 
						|
N
 | 
						|
use test;
 | 
						|
use test;
 | 
						|
CREATE TABLE t1 (c1 int);
 | 
						|
LOCK TABLE t1 WRITE;
 | 
						|
FLUSH TABLES WITH READ LOCK;
 | 
						|
CREATE TABLE t2 (c1 int);
 | 
						|
UNLOCK TABLES;
 | 
						|
UNLOCK TABLES;
 | 
						|
DROP TABLE t1, t2;
 | 
						|
CREATE TABLE t1 (c1 int);
 | 
						|
LOCK TABLE t1 WRITE;
 | 
						|
FLUSH TABLES WITH READ LOCK;
 | 
						|
CREATE TABLE t2 AS SELECT * FROM t1;
 | 
						|
ERROR HY000: Table 't2' was not locked with LOCK TABLES
 | 
						|
UNLOCK TABLES;
 | 
						|
UNLOCK TABLES;
 | 
						|
DROP TABLE t1;
 | 
						|
CREATE DATABASE mysqltest_1;
 | 
						|
FLUSH TABLES WITH READ LOCK;
 | 
						|
DROP DATABASE mysqltest_1;
 | 
						|
DROP DATABASE mysqltest_1;
 | 
						|
ERROR HY000: Can't execute the query because you have a conflicting read lock
 | 
						|
UNLOCK TABLES;
 | 
						|
DROP DATABASE mysqltest_1;
 | 
						|
ERROR HY000: Can't drop database 'mysqltest_1'; database doesn't exist
 | 
						|
create table t1 (f1 int(12) unsigned not null auto_increment, primary key(f1)) engine=innodb;
 | 
						|
lock tables t1 write;
 | 
						|
alter table t1 auto_increment=0;
 | 
						|
alter table t1 auto_increment=0;
 | 
						|
unlock tables;
 | 
						|
drop table t1;
 | 
						|
CREATE TABLE t1 (
 | 
						|
a int(11) unsigned default NULL,
 | 
						|
b varchar(255) default NULL,
 | 
						|
UNIQUE KEY a (a),
 | 
						|
KEY b (b)
 | 
						|
);
 | 
						|
INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3);
 | 
						|
CREATE TABLE t2 SELECT * FROM t1;
 | 
						|
CREATE TABLE t3 SELECT * FROM t1;
 | 
						|
# test altering of columns that multiupdate doesn't use
 | 
						|
# normal mode
 | 
						|
# PS mode
 | 
						|
# test altering of columns that multiupdate uses
 | 
						|
# normal mode
 | 
						|
# PS mode
 | 
						|
DROP TABLE t1, t2, t3;
 | 
						|
CREATE TABLE t1( a INT, b INT );
 | 
						|
INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3), (4, 4);
 | 
						|
# 1. test regular tables
 | 
						|
# 1.1. test altering of columns that multiupdate doesn't use
 | 
						|
# 1.1.1. normal mode
 | 
						|
# 1.1.2. PS mode
 | 
						|
# 1.2. test altering of columns that multiupdate uses
 | 
						|
# 1.2.1. normal mode
 | 
						|
# 1.2.2. PS mode
 | 
						|
ALTER TABLE t1 ADD COLUMN a INT;
 | 
						|
# 2. test UNIONs
 | 
						|
# 2.1. test altering of columns that multiupdate doesn't use
 | 
						|
# 2.1.1. normal mode
 | 
						|
# 2.1.2. PS mode
 | 
						|
# 2.2. test altering of columns that multiupdate uses
 | 
						|
# 2.2.1. normal mode
 | 
						|
# 2.2.2. PS mode
 | 
						|
DROP TABLE t1;
 | 
						|
End of 5.0 tests
 | 
						|
create table t1 (i int);
 | 
						|
lock table t1 read;
 | 
						|
update t1 set i= 10;;
 | 
						|
select * from t1;;
 | 
						|
kill query ID;
 | 
						|
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;
 | 
						|
drop table if exists t1;
 | 
						|
create table t1 (i int);
 | 
						|
connection: default
 | 
						|
lock tables t1 write;
 | 
						|
connection: flush
 | 
						|
flush tables with read lock;;
 | 
						|
connection: default
 | 
						|
alter table t1 add column j int;
 | 
						|
connection: insert
 | 
						|
insert into t1 values (1,2);;
 | 
						|
connection: default
 | 
						|
unlock tables;
 | 
						|
connection: flush
 | 
						|
select * from t1;
 | 
						|
i	j
 | 
						|
unlock tables;
 | 
						|
select * from t1;
 | 
						|
i	j
 | 
						|
1	2
 | 
						|
drop table t1;
 | 
						|
drop table if exists t1;
 | 
						|
create table t1 (i int);
 | 
						|
connection: default
 | 
						|
lock tables t1 write;
 | 
						|
connection: flush
 | 
						|
flush tables with read lock;;
 | 
						|
connection: default
 | 
						|
flush tables;
 | 
						|
unlock tables;
 | 
						|
drop table t1;
 | 
						|
drop table if exists t1,t2;
 | 
						|
create table t1 (a int);
 | 
						|
flush status;
 | 
						|
lock tables t1 read;
 | 
						|
insert into t1 values(1);;
 | 
						|
unlock tables;
 | 
						|
drop table t1;
 | 
						|
select @tlwa < @tlwb;
 | 
						|
@tlwa < @tlwb
 | 
						|
1
 | 
						|
End of 5.1 tests
 |