Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
32bef0bc
Commit
32bef0bc
authored
Feb 09, 2009
by
Matthias Leich
Browse files
Options
Browse Files
Download
Plain Diff
Merge of ifx into GCA tree
no conflicts
parents
67bd15a5
a63c2e5c
Changes
22
Show whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
864 additions
and
633 deletions
+864
-633
mysql-test/r/backup.result
mysql-test/r/backup.result
+1
-1
mysql-test/r/check.result
mysql-test/r/check.result
+2
-1
mysql-test/r/grant.result
mysql-test/r/grant.result
+16
-16
mysql-test/r/information_schema.result
mysql-test/r/information_schema.result
+11
-11
mysql-test/r/multi_update.result
mysql-test/r/multi_update.result
+5
-5
mysql-test/r/packet.result
mysql-test/r/packet.result
+4
-0
mysql-test/r/query_cache_notembedded.result
mysql-test/r/query_cache_notembedded.result
+16
-0
mysql-test/r/subselect.result
mysql-test/r/subselect.result
+109
-109
mysql-test/r/synchronization.result
mysql-test/r/synchronization.result
+22
-22
mysql-test/t/backup.test
mysql-test/t/backup.test
+13
-2
mysql-test/t/check.test
mysql-test/t/check.test
+17
-7
mysql-test/t/compress.test
mysql-test/t/compress.test
+11
-0
mysql-test/t/grant.test
mysql-test/t/grant.test
+84
-95
mysql-test/t/information_schema.test
mysql-test/t/information_schema.test
+77
-67
mysql-test/t/multi_update.test
mysql-test/t/multi_update.test
+34
-21
mysql-test/t/overflow.test
mysql-test/t/overflow.test
+9
-1
mysql-test/t/packet.test
mysql-test/t/packet.test
+18
-2
mysql-test/t/query_cache_notembedded.test
mysql-test/t/query_cache_notembedded.test
+43
-4
mysql-test/t/sp-threads.test
mysql-test/t/sp-threads.test
+21
-8
mysql-test/t/subselect.test
mysql-test/t/subselect.test
+310
-239
mysql-test/t/synchronization.test
mysql-test/t/synchronization.test
+16
-6
mysql-test/t/timezone_grant.test
mysql-test/t/timezone_grant.test
+25
-16
No files found.
mysql-test/r/backup.result
View file @
32bef0bc
set SQL_LOG_BIN=0;
drop table if exists t1, t2, t3;
drop table if exists t1, t2, t3
, t4
;
create table t4(n int);
backup table t4 to '../bogus';
Table Op Msg_type Msg_text
...
...
mysql-test/r/check.result
View file @
32bef0bc
drop table if exists t1;
drop table if exists t1,t2;
drop view if exists v1;
create table t1(n int not null, key(n), key(n), key(n), key(n));
check table t1 extended;
insert into t1 values (200000);
...
...
mysql-test/r/grant.result
View file @
32bef0bc
...
...
@@ -262,7 +262,7 @@ drop user mysqltest_1@localhost;
SET NAMES koi8r;
CREATE DATABASE ;
USE ;
CREATE TABLE (
int
);
CREATE TABLE (
INT
);
GRANT SELECT ON .* TO @localhost;
SHOW GRANTS FOR @localhost;
Grants for @localhost
...
...
@@ -383,7 +383,7 @@ grant select (c) on mysqltest_2.t1 to mysqltest_3@localhost;
grant update (d) on mysqltest_2.t2 to mysqltest_3@localhost;
SELECT * FROM INFORMATION_SCHEMA.COLUMN_PRIVILEGES
WHERE GRANTEE = '''mysqltest_3''@''localhost'''
ORDER BY TABLE_NAME,COLUMN_NAME,PRIVILEGE_TYPE;
ORDER BY TABLE_NAME,COLUMN_NAME,PRIVILEGE_TYPE;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
'mysqltest_3'@'localhost' NULL mysqltest_1 t1 a UPDATE NO
'mysqltest_3'@'localhost' NULL mysqltest_2 t1 c SELECT NO
...
...
@@ -391,11 +391,11 @@ GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRAN
'mysqltest_3'@'localhost' NULL mysqltest_2 t2 d UPDATE NO
SELECT * FROM INFORMATION_SCHEMA.TABLE_PRIVILEGES
WHERE GRANTEE = '''mysqltest_3''@''localhost'''
ORDER BY TABLE_NAME,PRIVILEGE_TYPE;
ORDER BY TABLE_NAME,PRIVILEGE_TYPE;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
SELECT * from INFORMATION_SCHEMA.SCHEMA_PRIVILEGES
WHERE GRANTEE = '''mysqltest_3''@''localhost'''
ORDER BY TABLE_SCHEMA,PRIVILEGE_TYPE;
ORDER BY TABLE_SCHEMA,PRIVILEGE_TYPE;
GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
SELECT * from INFORMATION_SCHEMA.USER_PRIVILEGES
WHERE GRANTEE = '''mysqltest_3''@''localhost'''
...
...
@@ -880,11 +880,11 @@ flush privileges;
drop table t2;
drop table t1;
CREATE DATABASE mysqltest3;
use
mysqltest3;
USE
mysqltest3;
CREATE TABLE t_nn (c1 INT);
CREATE VIEW v_nn AS SELECT * FROM t_nn;
CREATE DATABASE mysqltest2;
use
mysqltest2;
USE
mysqltest2;
CREATE TABLE t_nn (c1 INT);
CREATE VIEW v_nn AS SELECT * FROM t_nn;
CREATE VIEW v_yn AS SELECT * FROM t_nn;
...
...
@@ -954,7 +954,7 @@ DROP TABLE mysqltest3.t_nn;
DROP DATABASE mysqltest3;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'mysqltest_1'@'localhost';
DROP USER 'mysqltest_1'@'localhost';
use
test;
USE
test;
create user mysqltest1_thisisreallytoolong;
ERROR HY000: String 'mysqltest1_thisisreallytoolong' is too long for user name (should be no longer than 16)
GRANT CREATE ON mysqltest.* TO 1234567890abcdefGHIKL@localhost;
...
...
@@ -1106,16 +1106,16 @@ DROP DATABASE mysqltest1;
DROP DATABASE mysqltest2;
DROP USER mysqltest_1@localhost;
DROP USER mysqltest_2@localhost;
use
test;
USE
test;
CREATE TABLE t1 (f1 int, f2 int);
INSERT INTO t1 VALUES(1,1), (2,2);
CREATE DATABASE db27878;
GRANT UPDATE(f1) ON t1 TO 'mysqltest_1'@'localhost';
GRANT SELECT ON `test`.* TO 'mysqltest_1'@'localhost';
GRANT ALL ON db27878.* TO 'mysqltest_1'@'localhost';
use
db27878;
USE
db27878;
CREATE SQL SECURITY INVOKER VIEW db27878.v1 AS SELECT * FROM test.t1;
use
db27878;
USE
db27878;
UPDATE v1 SET f2 = 4;
ERROR HY000: View 'db27878.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
SELECT * FROM test.t1;
...
...
@@ -1127,7 +1127,7 @@ REVOKE SELECT ON `test`.* FROM 'mysqltest_1'@'localhost';
REVOKE ALL ON db27878.* FROM 'mysqltest_1'@'localhost';
DROP USER mysqltest_1@localhost;
DROP DATABASE db27878;
use
test;
USE
test;
DROP TABLE t1;
drop table if exists test;
Warnings:
...
...
mysql-test/r/information_schema.result
View file @
32bef0bc
mysql-test/r/multi_update.result
View file @
32bef0bc
mysql-test/r/packet.result
View file @
32bef0bc
set @max_allowed_packet=@@global.max_allowed_packet;
set @net_buffer_length=@@global.net_buffer_length;
set global max_allowed_packet=100;
Warnings:
Warning 1292 Truncated incorrect max_allowed_packet value: '100'
...
...
@@ -33,3 +35,5 @@ len
select length(repeat('a',2000));
length(repeat('a',2000))
2000
set global max_allowed_packet=@max_allowed_packet;
set global net_buffer_length=@net_buffer_length;
mysql-test/r/query_cache_notembedded.result
View file @
32bef0bc
...
...
@@ -345,3 +345,19 @@ id
drop table t1;
drop function f1;
set GLOBAL query_cache_size=0;
DROP TABLE IF EXISTS t1;
FLUSH STATUS;
SET GLOBAL query_cache_size=1048576;
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
SHOW STATUS LIKE 'Qcache_queries_in_cache';
Variable_name Value
Qcache_queries_in_cache 0
LOCK TABLES t1 WRITE;
SELECT * FROM t1;
UNLOCK TABLES;
SHOW STATUS LIKE 'Qcache_queries_in_cache';
Variable_name Value
Qcache_queries_in_cache 0
DROP TABLE t1;
SET GLOBAL query_cache_size= default;
mysql-test/r/subselect.result
View file @
32bef0bc
...
...
@@ -2945,26 +2945,26 @@ create table t2 (a int primary key, b varchar(32), c int, unique key b(c, b));
insert into t2(a, c, b) values (1,10,'359'), (2,10,'35988'), (3,10,'35989');
explain SELECT sql_no_cache t1.a, r.a, r.b FROM t1 LEFT JOIN t2 r
ON r.a = (SELECT t2.a FROM t2 WHERE t2.c = t1.a AND t2.b <= '359899'
ORDER BY t2.c DESC, t2.b DESC LIMIT 1) WHERE t1.a = 10;
ORDER BY t2.c DESC, t2.b DESC LIMIT 1) WHERE t1.a = 10;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 system PRIMARY NULL NULL NULL 1
1 PRIMARY r const PRIMARY PRIMARY 4 const 1
2 DEPENDENT SUBQUERY t2 range b b 40 NULL 2 Using where
SELECT sql_no_cache t1.a, r.a, r.b FROM t1 LEFT JOIN t2 r
ON r.a = (SELECT t2.a FROM t2 WHERE t2.c = t1.a AND t2.b <= '359899'
ORDER BY t2.c DESC, t2.b DESC LIMIT 1) WHERE t1.a = 10;
ORDER BY t2.c DESC, t2.b DESC LIMIT 1) WHERE t1.a = 10;
a a b
10 3 35989
explain SELECT sql_no_cache t1.a, r.a, r.b FROM t1 LEFT JOIN t2 r
ON r.a = (SELECT t2.a FROM t2 WHERE t2.c = t1.a AND t2.b <= '359899'
ORDER BY t2.c, t2.b LIMIT 1) WHERE t1.a = 10;
ORDER BY t2.c, t2.b LIMIT 1) WHERE t1.a = 10;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 system PRIMARY NULL NULL NULL 1
1 PRIMARY r const PRIMARY PRIMARY 4 const 1
2 DEPENDENT SUBQUERY t2 range b b 40 NULL 2 Using where
SELECT sql_no_cache t1.a, r.a, r.b FROM t1 LEFT JOIN t2 r
ON r.a = (SELECT t2.a FROM t2 WHERE t2.c = t1.a AND t2.b <= '359899'
ORDER BY t2.c, t2.b LIMIT 1) WHERE t1.a = 10;
ORDER BY t2.c, t2.b LIMIT 1) WHERE t1.a = 10;
a a b
10 1 359
drop table t1,t2;
...
...
mysql-test/r/synchronization.result
View file @
32bef0bc
drop table if exists t1
;
CREATE TABLE t1 (x1
int
);
ALTER TABLE t1 CHANGE x1 x2
int
;
DROP TABLE IF EXISTS t1,t2
;
CREATE TABLE t1 (x1
INT
);
ALTER TABLE t1 CHANGE x1 x2
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -8,7 +8,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1
int
;
ALTER TABLE t1 CHANGE x2 x1
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -16,7 +16,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2
int
;
ALTER TABLE t1 CHANGE x1 x2
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -24,7 +24,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1
int
;
ALTER TABLE t1 CHANGE x2 x1
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -32,7 +32,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2
int
;
ALTER TABLE t1 CHANGE x1 x2
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -40,7 +40,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1
int
;
ALTER TABLE t1 CHANGE x2 x1
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -48,7 +48,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2
int
;
ALTER TABLE t1 CHANGE x1 x2
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -56,7 +56,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1
int
;
ALTER TABLE t1 CHANGE x2 x1
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -64,7 +64,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2
int
;
ALTER TABLE t1 CHANGE x1 x2
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -72,7 +72,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1
int
;
ALTER TABLE t1 CHANGE x2 x1
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -80,7 +80,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2
int
;
ALTER TABLE t1 CHANGE x1 x2
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -88,7 +88,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1
int
;
ALTER TABLE t1 CHANGE x2 x1
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -96,7 +96,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2
int
;
ALTER TABLE t1 CHANGE x1 x2
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -104,7 +104,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1
int
;
ALTER TABLE t1 CHANGE x2 x1
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -112,7 +112,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2
int
;
ALTER TABLE t1 CHANGE x1 x2
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -120,7 +120,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1
int
;
ALTER TABLE t1 CHANGE x2 x1
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -128,7 +128,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2
int
;
ALTER TABLE t1 CHANGE x1 x2
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -136,7 +136,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1
int
;
ALTER TABLE t1 CHANGE x2 x1
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -144,7 +144,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2
int
;
ALTER TABLE t1 CHANGE x1 x2
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
@@ -152,7 +152,7 @@ t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1
int
;
ALTER TABLE t1 CHANGE x2 x1
INT
;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
...
...
mysql-test/t/backup.test
View file @
32bef0bc
# The server need to be started in $MYSQLTEST_VARDIR since it
# uses ../std_data_ln/
--
source
include
/
uses_vardir
.
inc
--
source
include
/
uses_vardir
.
inc
# Save the initial number of concurrent sessions
--
source
include
/
count_sessions
.
inc
#
# This test is a bit tricky as we can't use backup table to overwrite an old
...
...
@@ -12,7 +15,7 @@ connect (con2,localhost,root,,);
connection
con1
;
set
SQL_LOG_BIN
=
0
;
--
disable_warnings
drop
table
if
exists
t1
,
t2
,
t3
;
drop
table
if
exists
t1
,
t2
,
t3
,
t4
;
--
enable_warnings
create
table
t4
(
n
int
);
--
replace_result
": 1"
": X"
": 2"
": X"
": 22"
": X"
": 23"
": X"
$MYSQLTEST_VARDIR
MYSQLTEST_VARDIR
...
...
@@ -57,6 +60,9 @@ unlock tables;
connection
con1
;
reap
;
drop
table
t5
;
connection
default
;
disconnect
con1
;
disconnect
con2
;
remove_file
$MYSQLTEST_VARDIR
/
tmp
/
t1
.
MYD
;
remove_file
$MYSQLTEST_VARDIR
/
tmp
/
t2
.
MYD
;
remove_file
$MYSQLTEST_VARDIR
/
tmp
/
t3
.
MYD
;
...
...
@@ -68,4 +74,9 @@ remove_file $MYSQLTEST_VARDIR/tmp/t3.frm;
remove_file
$MYSQLTEST_VARDIR
/
tmp
/
t4
.
frm
;
remove_file
$MYSQLTEST_VARDIR
/
tmp
/
t5
.
frm
;
# End of 4.1 tests
# Wait till all disconnects are completed
--
source
include
/
wait_until_count_sessions
.
inc
mysql-test/t/check.test
View file @
32bef0bc
# Save the initial number of concurrent sessions
--
source
include
/
count_sessions
.
inc
connect
(
con1
,
localhost
,
root
,,);
connect
(
con2
,
localhost
,
root
,,);
connection
con1
;
--
disable_warnings
drop
table
if
exists
t1
;
drop
table
if
exists
t1
,
t2
;
drop
view
if
exists
v1
;
--
enable_warnings
# Add a lot of keys to slow down check
...
...
@@ -20,16 +24,18 @@ connection con2;
insert
into
t1
values
(
200000
);
connection
con1
;
reap
;
connection
default
;
disconnect
con1
;
disconnect
con2
;
drop
table
t1
;
# End of 4.1 tests
#
# Bug
#9897 Views: 'Check Table' crashes MySQL, with a view and a table
# Bug
#9897 Views: 'Check Table' crashes MySQL, with a view and a table
# in the statement
#
connection
default
;
Create
table
t1
(
f1
int
);
Create
table
t2
(
f1
int
);
Create
view
v1
as
Select
*
from
t1
;
...
...
@@ -37,11 +43,15 @@ Check Table v1,t2;
drop
view
v1
;
drop
table
t1
,
t2
;
#
# BUG#26325 - TEMPORARY TABLE "corrupt" after first read, according to CHECK
# TABLE
# Bug#26325 TEMPORARY TABLE "corrupt" after first read, according to CHECK TABLE
#
CREATE
TEMPORARY
TABLE
t1
(
a
INT
);
CHECK
TABLE
t1
;
REPAIR
TABLE
t1
;
DROP
TABLE
t1
;
# Wait till we reached the initial number of concurrent sessions
--
source
include
/
wait_until_count_sessions
.
inc
mysql-test/t/compress.test
View file @
32bef0bc
...
...
@@ -6,6 +6,10 @@
--
source
include
/
have_compress
.
inc
# Save the initial number of concurrent sessions
--
source
include
/
count_sessions
.
inc
connect
(
comp_con
,
localhost
,
root
,,,,,
COMPRESS
);
# Check compression turned on
...
...
@@ -16,3 +20,10 @@ SHOW STATUS LIKE 'Compression';
# Check compression turned on
SHOW
STATUS
LIKE
'Compression'
;
connection
default
;
disconnect
comp_con
;
# Wait till all disconnects are completed
--
source
include
/
wait_until_count_sessions
.
inc
mysql-test/t/grant.test
View file @
32bef0bc
...
...
@@ -3,6 +3,9 @@
# Grant tests not performed with embedded server
--
source
include
/
not_embedded
.
inc
# Save the initial number of concurrent sessions
--
source
include
/
count_sessions
.
inc
# Cleanup
--
disable_warnings
drop
table
if
exists
t1
;
...
...
@@ -78,7 +81,7 @@ delete from mysql.db where user='mysqltest_1';
delete
from
mysql
.
tables_priv
where
user
=
'mysqltest_1'
;
delete
from
mysql
.
columns_priv
where
user
=
'mysqltest_1'
;
flush
privileges
;
--
error
1141
--
error
ER_NONEXISTING_GRANT
show
grants
for
mysqltest_1
@
localhost
;
#
...
...
@@ -116,12 +119,12 @@ drop table t1;
#
# Test some error conditions
#
--
error
1221
--
error
ER_WRONG_USAGE
GRANT
FILE
on
mysqltest
.*
to
mysqltest_1
@
localhost
;
select
1
;
# To test that the previous command didn't cause problems
#
# Bug
#4898:
User privileges depending on ORDER BY Settings of table db
# Bug
#4898
User privileges depending on ORDER BY Settings of table db
#
insert
into
mysql
.
user
(
host
,
user
)
values
(
'localhost'
,
'test11'
);
insert
into
mysql
.
db
(
host
,
db
,
user
,
select_priv
)
values
...
...
@@ -136,7 +139,7 @@ delete from mysql.user where user='test11';
delete
from
mysql
.
db
where
user
=
'test11'
;
#
# Bug#6123
:
GRANT USAGE inserts useless Db row
# Bug#6123 GRANT USAGE inserts useless Db row
#
create
database
mysqltest1
;
grant
usage
on
mysqltest1
.*
to
test6123
identified
by
'magic123'
;
...
...
@@ -160,7 +163,7 @@ grant select(a) on test.t1 to drop_user@localhost;
show
grants
for
drop_user
@
localhost
;
#
# Bug
3086
# Bug
#3086 SHOW GRANTS doesn't follow ANSI_QUOTES
#
set
sql_mode
=
ansi_quotes
;
show
grants
for
drop_user
@
localhost
;
...
...
@@ -178,7 +181,7 @@ show grants for drop_user@localhost;
revoke
all
privileges
,
grant
option
from
drop_user
@
localhost
;
show
grants
for
drop_user
@
localhost
;
drop
user
drop_user
@
localhost
;
--
error
1269
--
error
ER_REVOKE_GRANTS
revoke
all
privileges
,
grant
option
from
drop_user
@
localhost
;
grant
select
(
a
)
on
test
.
t1
to
drop_user1
@
localhost
;
...
...
@@ -188,10 +191,10 @@ grant select on *.* to drop_user4@localhost;
# Drop user now implicitly revokes all privileges.
drop
user
drop_user1
@
localhost
,
drop_user2
@
localhost
,
drop_user3
@
localhost
,
drop_user4
@
localhost
;
--
error
1269
--
error
ER_REVOKE_GRANTS
revoke
all
privileges
,
grant
option
from
drop_user1
@
localhost
,
drop_user2
@
localhost
,
drop_user3
@
localhost
,
drop_user4
@
localhost
;
--
error
1396
--
error
ER_CANNOT_USER
drop
user
drop_user1
@
localhost
,
drop_user2
@
localhost
,
drop_user3
@
localhost
,
drop_user4
@
localhost
;
drop
table
t1
;
...
...
@@ -201,12 +204,12 @@ show grants for mysqltest_1@localhost;
drop
user
mysqltest_1
@
localhost
;
#
# Bug
#3403 Wrong encodin in SHOW GRANTS
output
# Bug
#3403 Wrong encoding in SHOW GRANTS, EPLAIN SELECT
output
#
SET
NAMES
koi8r
;
CREATE
DATABASE
;
USE
;
CREATE
TABLE
(
int
);
CREATE
TABLE
(
INT
);
GRANT
SELECT
ON
.*
TO
@
localhost
;
SHOW
GRANTS
FOR
@
localhost
;
...
...
@@ -227,7 +230,7 @@ DROP DATABASE
SET
NAMES
latin1
;
#
# Bug
#5831:
REVOKE ALL PRIVILEGES, GRANT OPTION does not revoke everything
# Bug
#5831
REVOKE ALL PRIVILEGES, GRANT OPTION does not revoke everything
#
USE
test
;
CREATE
TABLE
t1
(
a
int
);
...
...
@@ -296,7 +299,7 @@ DROP DATABASE testdb9;
DROP
DATABASE
testdb10
;
#
# Bug
#6932:
a problem with 'revoke ALL PRIVILEGES'
# Bug
#6932
a problem with 'revoke ALL PRIVILEGES'
#
create
table
t1
(
a
int
,
b
int
,
c
int
,
d
int
);
...
...
@@ -310,7 +313,7 @@ drop user grant_user@localhost;
drop
table
t1
;
#
# Bug#7391
:
Cross-database multi-table UPDATE security problem
# Bug#7391 Cross-database multi-table UPDATE security problem
#
create
database
mysqltest_1
;
create
database
mysqltest_2
;
...
...
@@ -319,7 +322,7 @@ create table mysqltest_1.t2 select 1 b, 2 r;
create
table
mysqltest_2
.
t1
select
1
c
,
2
s
;
create
table
mysqltest_2
.
t2
select
1
d
,
2
t
;
#test the column privileges
#
test the column privileges
grant
update
(
a
)
on
mysqltest_1
.
t1
to
mysqltest_3
@
localhost
;
grant
select
(
b
)
on
mysqltest_1
.
t2
to
mysqltest_3
@
localhost
;
grant
select
(
c
)
on
mysqltest_2
.
t1
to
mysqltest_3
@
localhost
;
...
...
@@ -338,17 +341,17 @@ SELECT * from INFORMATION_SCHEMA.SCHEMA_PRIVILEGES
SELECT
*
from
INFORMATION_SCHEMA
.
USER_PRIVILEGES
WHERE
GRANTEE
=
'''mysqltest_3''@''localhost'''
ORDER
BY
TABLE_CATALOG
,
PRIVILEGE_TYPE
;
--
error
1143
--
error
ER_COLUMNACCESS_DENIED_ERROR
update
mysqltest_1
.
t1
,
mysqltest_1
.
t2
set
q
=
10
where
b
=
1
;
--
error
1143
--
error
ER_COLUMNACCESS_DENIED_ERROR
update
mysqltest_1
.
t2
,
mysqltest_2
.
t2
set
d
=
20
where
d
=
1
;
--
error
1142
--
error
ER_TABLEACCESS_DENIED_ERROR
update
mysqltest_1
.
t1
,
mysqltest_2
.
t2
set
d
=
20
where
d
=
1
;
--
error
1142
--
error
ER_TABLEACCESS_DENIED_ERROR
update
mysqltest_2
.
t1
,
mysqltest_1
.
t2
set
c
=
20
where
b
=
1
;
--
error
1143
--
error
ER_COLUMNACCESS_DENIED_ERROR
update
mysqltest_2
.
t1
,
mysqltest_2
.
t2
set
d
=
10
where
s
=
2
;
#the following two should work
#
the following two should work
update
mysqltest_1
.
t1
,
mysqltest_2
.
t2
set
a
=
10
,
d
=
10
;
update
mysqltest_1
.
t1
,
mysqltest_2
.
t1
set
a
=
20
where
c
=
20
;
connection
master
;
...
...
@@ -359,7 +362,7 @@ revoke all on mysqltest_1.t2 from mysqltest_3@localhost;
revoke
all
on
mysqltest_2
.
t1
from
mysqltest_3
@
localhost
;
revoke
all
on
mysqltest_2
.
t2
from
mysqltest_3
@
localhost
;
#test the db/table level privileges
#
test the db/table level privileges
grant
all
on
mysqltest_2
.*
to
mysqltest_3
@
localhost
;
grant
select
on
*.*
to
mysqltest_3
@
localhost
;
# Next grant is needed to trigger bug#7391. Do not optimize!
...
...
@@ -371,15 +374,15 @@ connection conn2;
use
mysqltest_1
;
update
mysqltest_2
.
t1
,
mysqltest_2
.
t2
set
c
=
500
,
d
=
600
;
# the following failed before, should fail now.
--
error
1142
--
error
ER_TABLEACCESS_DENIED_ERROR
update
mysqltest_1
.
t1
,
mysqltest_1
.
t2
set
a
=
100
,
b
=
200
;
use
mysqltest_2
;
#the following used to succeed, it must fail now.
--
error
1142
#
the following used to succeed, it must fail now.
--
error
ER_TABLEACCESS_DENIED_ERROR
update
mysqltest_1
.
t1
,
mysqltest_1
.
t2
set
a
=
100
,
b
=
200
;
--
error
1142
--
error
ER_TABLEACCESS_DENIED_ERROR
update
mysqltest_2
.
t1
,
mysqltest_1
.
t2
set
c
=
100
,
b
=
200
;
--
error
1142
--
error
ER_TABLEACCESS_DENIED_ERROR
update
mysqltest_1
.
t1
,
mysqltest_2
.
t2
set
a
=
100
,
d
=
200
;
#lets see the result
connection
master
;
...
...
@@ -393,6 +396,7 @@ delete from mysql.columns_priv where user="mysqltest_3";
flush
privileges
;
drop
database
mysqltest_1
;
drop
database
mysqltest_2
;
disconnect
conn2
;
#
# just SHOW PRIVILEGES test
...
...
@@ -400,7 +404,7 @@ drop database mysqltest_2;
SHOW
PRIVILEGES
;
#
# Rights for renaming test (Bug
#3270)
# Rights for renaming test (Bug#3270)
#
connect
(
root
,
localhost
,
root
,,
test
,
$MASTER_MYPORT
,
$MASTER_MYSOCK
);
connection
root
;
...
...
@@ -411,16 +415,18 @@ create table mysqltest.t1 (a int,b int,c int);
grant
all
on
mysqltest
.
t1
to
mysqltest_1
@
localhost
;
connect
(
user1
,
localhost
,
mysqltest_1
,,
mysqltest
,
$MASTER_MYPORT
,
$MASTER_MYSOCK
);
connection
user1
;
--
error
1142
--
error
ER_TABLEACCESS_DENIED_ERROR
alter
table
t1
rename
t2
;
disconnect
user1
;
connection
root
;
revoke
all
privileges
on
mysqltest
.
t1
from
mysqltest_1
@
localhost
;
delete
from
mysql
.
user
where
user
=
_binary
'mysqltest_1'
;
drop
database
mysqltest
;
connection
default
;
disconnect
root
;
#
# check all new table priv
e
leges
# check all new table priv
i
leges
#
CREATE
USER
dummy
@
localhost
;
CREATE
DATABASE
mysqltest
;
...
...
@@ -485,7 +491,7 @@ REVOKE ALL PRIVILEGES, GRANT OPTION FROM dummy@localhost;
DROP
USER
dummy
@
localhost
;
DROP
DATABASE
mysqltest
;
#
# Bug
#11330:
Entry in tables_priv with host = '' causes crash
# Bug
#11330
Entry in tables_priv with host = '' causes crash
#
connection
default
;
use
mysql
;
...
...
@@ -496,7 +502,7 @@ flush privileges;
use
test
;
#
# Bug
#10892 user variables not auto cast for comparisons
# Bug#10892 user variables not auto cast for comparisons
# Check that we don't get illegal mix of collations
#
set
@
user123
=
"non-existent"
;
...
...
@@ -515,18 +521,18 @@ show grants for root@localhost;
set
names
latin1
;
#
# Bug
#15598 Server crashes in specific case during setting new password
# Bug#15598 Server crashes in specific case during setting new password
# - Caused by a user with host ''
#
create
user
mysqltest_7
@
;
set
password
for
mysqltest_7
@
=
password
(
'systpass'
);
show
grants
for
mysqltest_7
@
;
drop
user
mysqltest_7
@
;
--
error
1141
--
error
ER_NONEXISTING_GRANT
show
grants
for
mysqltest_7
@
;
#
# Bug#14385
:
GRANT and mapping to correct user account problems
# Bug#14385 GRANT and mapping to correct user account problems
#
create
database
mysqltest
;
use
mysqltest
;
...
...
@@ -542,7 +548,7 @@ flush privileges;
drop
database
mysqltest
;
#
# Bug
#27515:
DROP previlege is not required for RENAME TABLE
# Bug
#27515
DROP previlege is not required for RENAME TABLE
#
connection
master
;
create
database
db27515
;
...
...
@@ -553,7 +559,7 @@ grant insert, create on db27515.t2 to user27515@localhost;
connect
(
conn27515
,
localhost
,
user27515
,
,
db27515
);
connection
conn27515
;
--
error
1142
--
error
ER_TABLEACCESS_DENIED_ERROR
rename
table
t1
to
t2
;
disconnect
conn27515
;
...
...
@@ -565,7 +571,7 @@ drop database db27515;
--
echo
End
of
4.1
tests
#
# Bug
#16297 In memory grant tables not flushed when users's hostname is ""
# Bug#16297 In memory grant tables not flushed when users's hostname is ""
#
use
test
;
create
table
t1
(
a
int
);
...
...
@@ -582,11 +588,11 @@ create user mysqltest_8;
create
user
mysqltest_8
@
host8
;
# Try to create them again
--
error
1396
--
error
ER_CANNOT_USER
create
user
mysqltest_8
@
''
;
--
error
1396
--
error
ER_CANNOT_USER
create
user
mysqltest_8
;
--
error
1396
--
error
ER_CANNOT_USER
create
user
mysqltest_8
@
host8
;
select
user
,
QUOTE
(
host
)
from
mysql
.
user
where
user
=
"mysqltest_8"
;
...
...
@@ -681,44 +687,43 @@ flush privileges;
show
grants
for
mysqltest_8
@
''
;
show
grants
for
mysqltest_8
;
drop
user
mysqltest_8
@
''
;
--
error
1141
--
error
ER_NONEXISTING_GRANT
show
grants
for
mysqltest_8
@
''
;
show
grants
for
mysqltest_8
;
select
*
from
information_schema
.
user_privileges
where
grantee
like
"'mysqltest_8'%"
;
drop
user
mysqltest_8
;
--
replace_result
$MASTER_MYSOCK
MASTER_SOCKET
$MASTER_MYPORT
MASTER_PORT
--
error
1045
--
error
ER_ACCESS_DENIED_ERROR
connect
(
conn6
,
localhost
,
mysqltest_8
,,);
connection
master
;
--
error
1141
--
error
ER_NONEXISTING_GRANT
show
grants
for
mysqltest_8
;
drop
user
mysqltest_8
@
host8
;
--
error
1141
--
error
ER_NONEXISTING_GRANT
show
grants
for
mysqltest_8
@
host8
;
# Restore the anonymous users.
insert
into
mysql
.
user
select
*
from
t2
;
flush
privileges
;
drop
table
t2
;
drop
table
t1
;
#
# Bug#20214
:
Incorrect error when user calls SHOW CREATE VIEW on non
# Bug#20214 Incorrect error when user calls SHOW CREATE VIEW on non
# privileged view
#
connection
master
;
CREATE
DATABASE
mysqltest3
;
use
mysqltest3
;
USE
mysqltest3
;
CREATE
TABLE
t_nn
(
c1
INT
);
CREATE
VIEW
v_nn
AS
SELECT
*
FROM
t_nn
;
CREATE
DATABASE
mysqltest2
;
use
mysqltest2
;
USE
mysqltest2
;
CREATE
TABLE
t_nn
(
c1
INT
);
CREATE
VIEW
v_nn
AS
SELECT
*
FROM
t_nn
;
...
...
@@ -740,24 +745,18 @@ SHOW CREATE VIEW mysqltest2.v_nn;
--
error
ER_TABLEACCESS_DENIED_ERROR
SHOW
CREATE
TABLE
mysqltest2
.
v_nn
;
# fail because of missing SHOW VIEW
--
error
ER_TABLEACCESS_DENIED_ERROR
SHOW
CREATE
VIEW
mysqltest2
.
v_yn
;
--
error
ER_TABLEACCESS_DENIED_ERROR
SHOW
CREATE
TABLE
mysqltest2
.
v_yn
;
# succeed (despite of missing SELECT, having SHOW VIEW bails us out)
SHOW
CREATE
TABLE
mysqltest2
.
v_ny
;
# succeed (despite of missing SELECT, having SHOW VIEW bails us out)
SHOW
CREATE
VIEW
mysqltest2
.
v_ny
;
# fail because of missing (specific or generic) SELECT
--
error
ER_TABLEACCESS_DENIED_ERROR
SHOW
CREATE
TABLE
mysqltest3
.
t_nn
;
...
...
@@ -766,16 +765,12 @@ SHOW CREATE TABLE mysqltest3.t_nn;
--
error
ER_TABLEACCESS_DENIED_ERROR
SHOW
CREATE
VIEW
mysqltest3
.
t_nn
;
# fail because of missing missing (specific or generic) SELECT (and SHOW VIEW)
--
error
ER_TABLEACCESS_DENIED_ERROR
SHOW
CREATE
VIEW
mysqltest3
.
v_nn
;
--
error
ER_TABLEACCESS_DENIED_ERROR
SHOW
CREATE
TABLE
mysqltest3
.
v_nn
;
# succeed thanks to generic SELECT
SHOW
CREATE
TABLE
mysqltest2
.
t_nn
;
...
...
@@ -783,8 +778,6 @@ SHOW CREATE TABLE mysqltest2.t_nn;
--
error
ER_WRONG_OBJECT
SHOW
CREATE
VIEW
mysqltest2
.
t_nn
;
# succeed, have SELECT and SHOW VIEW
SHOW
CREATE
VIEW
mysqltest2
.
v_yy
;
...
...
@@ -792,8 +785,7 @@ SHOW CREATE VIEW mysqltest2.v_yy;
SHOW
CREATE
TABLE
mysqltest2
.
v_yy
;
#clean-up
# clean-up
connection
master
;
# succeed, we're root
...
...
@@ -806,38 +798,30 @@ SHOW CREATE TABLE mysqltest2.t_nn;
--
error
ER_WRONG_OBJECT
SHOW
CREATE
VIEW
mysqltest2
.
t_nn
;
DROP
VIEW
mysqltest2
.
v_nn
;
DROP
VIEW
mysqltest2
.
v_yn
;
DROP
VIEW
mysqltest2
.
v_ny
;
DROP
VIEW
mysqltest2
.
v_yy
;
DROP
TABLE
mysqltest2
.
t_nn
;
DROP
DATABASE
mysqltest2
;
DROP
VIEW
mysqltest3
.
v_nn
;
DROP
TABLE
mysqltest3
.
t_nn
;
DROP
DATABASE
mysqltest3
;
disconnect
mysqltest_1
;
REVOKE
ALL
PRIVILEGES
,
GRANT
OPTION
FROM
'mysqltest_1'
@
'localhost'
;
DROP
USER
'mysqltest_1'
@
'localhost'
;
# restore the original database
use
test
;
USE
test
;
#
# Bug
#10668:
CREATE USER does not enforce username length limit
# Bug
#10668
CREATE USER does not enforce username length limit
#
--
error
ER_WRONG_STRING_LENGTH
create
user
mysqltest1_thisisreallytoolong
;
#
# Test for B
UG#16899:
Possible buffer overflow in handling of DEFINER-clause.
# Test for B
ug#16899
Possible buffer overflow in handling of DEFINER-clause.
#
# These checks are intended to ensure that appropriate errors are risen when
# illegal user name or hostname is specified in user-clause of GRANT/REVOKE
...
...
@@ -887,7 +871,7 @@ REVOKE EXECUTE ON PROCEDURE p1 FROM 1234567890abcdefGHIKL@localhost;
REVOKE
EXECUTE
ON
PROCEDURE
t1
FROM
some_user_name
@
1234567890
abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
;
#
# Bug
#6774:
Replication fails with Wrong usage of DB GRANT and GLOBAL PRIVILEGES
# Bug
#6774
Replication fails with Wrong usage of DB GRANT and GLOBAL PRIVILEGES
#
# Check if GRANT ... ON * ... fails when no database is selected
connect
(
con1
,
localhost
,
root
,,
*
NO
-
ONE
*
);
...
...
@@ -899,7 +883,7 @@ connection default;
#
# B
UG#9504:
Stored procedures: execute privilege doesn't make 'use database'
# B
ug#9504
Stored procedures: execute privilege doesn't make 'use database'
# okay.
#
...
...
@@ -981,7 +965,7 @@ DROP USER mysqltest_1@localhost;
#
# B
UG#27337:
Privileges are not restored properly.
# B
ug#27337
Privileges are not restored properly.
#
# Actually, the patch for this bugs fixes two problems. So, here are two test
# cases.
...
...
@@ -1043,7 +1027,7 @@ DROP DATABASE mysqltest2;
DROP
USER
mysqltest_1
@
localhost
;
# Test case 2: priv
e
leges are not checked properly for prepared statements.
# Test case 2: priv
i
leges are not checked properly for prepared statements.
# Prepare.
...
...
@@ -1116,6 +1100,7 @@ EXECUTE stmt2;
--
echo
--
echo
--->
connection
:
default
--
disconnect
bug27337_con1
--
disconnect
bug27337_con2
DROP
DATABASE
mysqltest1
;
...
...
@@ -1125,21 +1110,21 @@ DROP USER mysqltest_1@localhost;
DROP
USER
mysqltest_2
@
localhost
;
#
# Bug#27878
: Unchecked privileges on a view referring to a table from another
# Bug#27878
Unchecked privileges on a view referring to a table from another
# database.
#
use
test
;
USE
test
;
CREATE
TABLE
t1
(
f1
int
,
f2
int
);
INSERT
INTO
t1
VALUES
(
1
,
1
),
(
2
,
2
);
CREATE
DATABASE
db27878
;
GRANT
UPDATE
(
f1
)
ON
t1
TO
'mysqltest_1'
@
'localhost'
;
GRANT
SELECT
ON
`test`
.*
TO
'mysqltest_1'
@
'localhost'
;
GRANT
ALL
ON
db27878
.*
TO
'mysqltest_1'
@
'localhost'
;
use
db27878
;
USE
db27878
;
CREATE
SQL
SECURITY
INVOKER
VIEW
db27878
.
v1
AS
SELECT
*
FROM
test
.
t1
;
connect
(
user1
,
localhost
,
mysqltest_1
,,
test
);
connection
user1
;
use
db27878
;
USE
db27878
;
--
error
1356
UPDATE
v1
SET
f2
=
4
;
SELECT
*
FROM
test
.
t1
;
...
...
@@ -1150,11 +1135,11 @@ REVOKE SELECT ON `test`.* FROM 'mysqltest_1'@'localhost';
REVOKE
ALL
ON
db27878
.*
FROM
'mysqltest_1'
@
'localhost'
;
DROP
USER
mysqltest_1
@
localhost
;
DROP
DATABASE
db27878
;
use
test
;
USE
test
;
DROP
TABLE
t1
;
#
# Bug
#33201 Crash occurs when granting update privilege on one column of a view
# Bug#33201 Crash occurs when granting update privilege on one column of a view
#
drop
table
if
exists
test
;
drop
function
if
exists
test_function
;
...
...
@@ -1183,3 +1168,7 @@ SET PASSWORD FOR CURRENT_USER() = PASSWORD("admin");
SET
PASSWORD
FOR
CURRENT_USER
()
=
PASSWORD
(
""
);
--
echo
End
of
5.0
tests
disconnect
master
;
# Wait till we reached the initial number of concurrent sessions
--
source
include
/
wait_until_count_sessions
.
inc
mysql-test/t/information_schema.test
View file @
32bef0bc
...
...
@@ -77,6 +77,7 @@ connection user4;
select
table_name
,
column_name
,
privileges
from
information_schema
.
columns
where
table_schema
=
'mysqltest'
and
table_name
=
'v1'
;
connection
default
;
disconnect
user4
;
drop
view
v1
,
mysqltest
.
v1
;
drop
tables
mysqltest
.
t4
,
mysqltest
.
t1
,
t2
,
t3
,
t5
;
...
...
@@ -153,7 +154,7 @@ drop view v1;
connect
(
user1
,
localhost
,
mysqltest_1
,,);
connection
user1
;
select
ROUTINE_NAME
,
ROUTINE_DEFINITION
from
information_schema
.
ROUTINES
;
--
error
1305
--
error
ER_SP_DOES_NOT_EXIST
show
create
function
sub1
;
connection
user3
;
select
ROUTINE_NAME
,
ROUTINE_DEFINITION
from
information_schema
.
ROUTINES
;
...
...
@@ -172,6 +173,7 @@ show create function sub2;
show
function
status
like
"sub2"
;
connection
default
;
disconnect
user1
;
disconnect
user3
;
drop
function
sub2
;
show
create
procedure
sel2
;
...
...
@@ -324,7 +326,7 @@ drop table t115;
delimiter
//;
create
procedure
p108
()
begin
declare
c
cursor
for
select
data_type
from
information_schema
.
columns
;
open
c
;
open
c
;
end
;
//
--
error
1325
--
error
ER_SP_CURSOR_ALREADY_OPEN
call
p108
()
//
delimiter
;
//
drop
procedure
p108
;
...
...
@@ -347,11 +349,11 @@ from information_schema.tables
where
table_schema
=
'information_schema'
limit
2
;
show
tables
from
information_schema
like
"T%"
;
--
error
1044
--
error
ER_DBACCESS_DENIED_ERROR
create
database
information_schema
;
use
information_schema
;
show
full
tables
like
"T%"
;
--
error
1109
--
error
ER_UNKNOWN_TABLE
create
table
t1
(
a
int
);
use
test
;
show
tables
;
...
...
@@ -359,15 +361,15 @@ use information_schema;
show
tables
like
"T%"
;
#
# Bug#7210
:
information_schema: can't access when table-name = reserved word
# Bug#7210 information_schema: can't access when table-name = reserved word
#
select
table_name
from
tables
where
table_name
=
'user'
;
select
column_name
,
privileges
from
columns
where
table_name
=
'user'
and
column_name
like
'%o%'
;
#
# Bug#7212
:
information_schema: "Can't find file" errors if storage engine gone
# Bug#7211
:
information_schema: crash if bad view
# Bug#7212 information_schema: "Can't find file" errors if storage engine gone
# Bug#7211 information_schema: crash if bad view
#
use
test
;
create
function
sub1
(
i
int
)
returns
int
...
...
@@ -394,9 +396,9 @@ drop view v3;
drop
table
t4
;
#
# Bug#7213
:
information_schema: redundant non-standard TABLE_NAMES table
# Bug#7213 information_schema: redundant non-standard TABLE_NAMES table
#
--
error
1109
--
error
ER_UNKNOWN_TABLE
select
*
from
information_schema
.
table_names
;
#
...
...
@@ -422,14 +424,14 @@ show status where variable_name like "%database%";
show
variables
where
variable_name
like
"skip_show_databas"
;
#
# Bug
#7981:
SHOW GLOBAL STATUS crashes server
# Bug
#7981
SHOW GLOBAL STATUS crashes server
#
# We don't actually care about the value, just that it doesn't crash.
--
replace_column
2
#
show
global
status
like
"Threads_running"
;
#
# Bug
#7915 crash,JOIN VIEW, subquery,
# Bug
#7915 crash,JOIN VIEW, subquery,
# SELECT .. FROM INFORMATION_SCHEMA.COLUMNS
#
create
table
t1
(
f1
int
);
...
...
@@ -440,7 +442,7 @@ drop view v1;
drop
table
t1
,
t2
;
#
# Bug
#7476:
crash on SELECT * FROM INFORMATION_SCHEMA.TABLES
# Bug
#7476
crash on SELECT * FROM INFORMATION_SCHEMA.TABLES
#
CREATE
TABLE
t_crashme
(
f1
BIGINT
);
...
...
@@ -468,8 +470,8 @@ drop view a2, a1;
drop
table
t_crashme
;
#
# Bug
#7215
information_schema: columns are longtext instead of varchar
# Bug
#7217
information_schema: columns are varbinary() instead of timestamp
# Bug
#7215
information_schema: columns are longtext instead of varchar
# Bug
#7217
information_schema: columns are varbinary() instead of timestamp
#
select
table_schema
,
table_name
,
column_name
from
information_schema
.
columns
...
...
@@ -478,7 +480,7 @@ select table_name, column_name, data_type from information_schema.columns
where
data_type
=
'datetime'
;
#
# Bug
#8164
subquery with INFORMATION_SCHEMA.COLUMNS, 100 % CPU
# Bug
#8164
subquery with INFORMATION_SCHEMA.COLUMNS, 100 % CPU
#
SELECT
COUNT
(
*
)
FROM
INFORMATION_SCHEMA
.
TABLES
A
WHERE
NOT
EXISTS
...
...
@@ -487,7 +489,7 @@ WHERE NOT EXISTS
AND
A
.
TABLE_NAME
=
B
.
TABLE_NAME
);
#
# Bug
#9344
INFORMATION_SCHEMA, wrong content, numeric columns
# Bug
#9344
INFORMATION_SCHEMA, wrong content, numeric columns
#
create
table
t1
...
...
@@ -514,12 +516,13 @@ connection user10261;
SELECT
TABLE_NAME
,
COLUMN_NAME
,
PRIVILEGES
FROM
INFORMATION_SCHEMA
.
COLUMNS
where
COLUMN_NAME
=
'TABLE_NAME'
;
connection
default
;
disconnect
user10261
;
delete
from
mysql
.
user
where
user
=
'mysqltest_4'
;
delete
from
mysql
.
db
where
user
=
'mysqltest_4'
;
flush
privileges
;
#
# Bug
#9404
information_schema: Weird error messages
# Bug
#9404
information_schema: Weird error messages
# with SELECT SUM() ... GROUP BY queries
#
SELECT
table_schema
,
count
(
*
)
FROM
information_schema
.
TABLES
GROUP
BY
TABLE_SCHEMA
;
...
...
@@ -560,7 +563,7 @@ drop table t1;
#
# Bug
#10964
Information Schema:Authorization check on privilege tables is improper
# Bug
#10964
Information Schema:Authorization check on privilege tables is improper
#
create
database
mysqltest
;
...
...
@@ -604,12 +607,16 @@ select * from information_schema.user_privileges where grantee like '%user%'
order
by
grantee
;
show
grants
;
connection
default
;
disconnect
con1
;
disconnect
con2
;
disconnect
con3
;
disconnect
con4
;
drop
user
user1
@
localhost
,
user2
@
localhost
,
user3
@
localhost
,
user4
@
localhost
;
use
test
;
drop
database
mysqltest
;
#
# Bug
#11055 information_schema: routines.sql_data_access has wrong value
# Bug#11055 information_schema: routines.sql_data_access has wrong value
#
--
disable_warnings
drop
procedure
if
exists
p1
;
...
...
@@ -624,13 +631,13 @@ drop procedure p1;
drop
procedure
p2
;
#
# Bug
#9434 SHOW CREATE DATABASE information_schema;
# Bug#9434 SHOW CREATE DATABASE information_schema;
#
show
create
database
information_schema
;
#
# Bug
#11057 information_schema: columns table has some questionable contents
# Bug
#12301 information_schema: NUMERIC_SCALE must be 0 for integer columns
# Bug#11057 information_schema: columns table has some questionable contents
# Bug#12301 information_schema: NUMERIC_SCALE must be 0 for integer columns
#
create
table
t1
(
f1
LONGBLOB
,
f2
LONGTEXT
);
select
column_name
,
data_type
,
CHARACTER_OCTET_LENGTH
,
...
...
@@ -646,7 +653,7 @@ where table_name='t1';
drop
table
t1
;
#
# Bug
#12127 triggers do not show in info_schema before they are used if set to the database
# Bug#12127 triggers do not show in info_schema before they are used if set to the database
#
create
table
t1
(
f1
integer
);
create
trigger
tr1
after
insert
on
t1
for
each
row
set
@
test_var
=
42
;
...
...
@@ -668,7 +675,7 @@ show columns from t1;
drop
table
t1
;
#
# Bug
#12636:
SHOW TABLE STATUS with where condition containing a subquery
# Bug
#12636
SHOW TABLE STATUS with where condition containing a subquery
# over information schema
#
...
...
@@ -683,7 +690,7 @@ SHOW TABLE STATUS FROM test
DROP
TABLE
t1
,
t2
;
#
# Bug
#12905 show fields from view behaving erratically with current database
# Bug#12905 show fields from view behaving erratically with current database
#
create
table
t1
(
f1
int
);
create
view
v1
(
c
)
as
select
f1
from
t1
;
...
...
@@ -691,28 +698,29 @@ connect (con5,localhost,root,,*NO-ONE*);
select
database
();
show
fields
from
test
.
v1
;
connection
default
;
disconnect
con5
;
drop
view
v1
;
drop
table
t1
;
#
# Bug
#9846 Inappropriate error displayed while dropping table from 'INFORMATION_SCHEMA'
# Bug#9846 Inappropriate error displayed while dropping table from 'INFORMATION_SCHEMA'
#
--
error
ER_PARSE_ERROR
alter
database
information_schema
;
--
error
1044
--
error
ER_DBACCESS_DENIED_ERROR
drop
database
information_schema
;
--
error
1044
--
error
ER_DBACCESS_DENIED_ERROR
drop
table
information_schema
.
tables
;
--
error
1044
--
error
ER_DBACCESS_DENIED_ERROR
alter
table
information_schema
.
tables
;
#
# Bug
#9683 INFORMATION_SCH: Creation of temporary table allowed in Information_schema DB
# Bug#9683 INFORMATION_SCH: Creation of temporary table allowed in Information_schema DB
#
use
information_schema
;
--
error
1044
--
error
ER_DBACCESS_DENIED_ERROR
create
temporary
table
schemata
(
f1
char
(
10
));
#
# Bug
#10708 SP's can use INFORMATION_SCHEMA as ROUTINE_SCHEMA
# Bug#10708 SP's can use INFORMATION_SCHEMA as ROUTINE_SCHEMA
#
delimiter
|
;
--
error
ER_BAD_DB_ERROR
...
...
@@ -723,11 +731,11 @@ END |
delimiter
;
|
select
ROUTINE_NAME
from
routines
;
#
# Bug
#10734 Grant of privileges other than 'select' and 'create view' should fail on schema
# Bug#10734 Grant of privileges other than 'select' and 'create view' should fail on schema
#
--
error
1044
--
error
ER_DBACCESS_DENIED_ERROR
grant
all
on
information_schema
.*
to
'user1'
@
'localhost'
;
--
error
1044
--
error
ER_DBACCESS_DENIED_ERROR
grant
select
on
information_schema
.*
to
'user1'
@
'localhost'
;
#
...
...
@@ -753,9 +761,9 @@ where table_name="v1";
drop
view
v1
;
#
# Bug
#14387 SHOW COLUMNS doesn't work on temporary tables
# Bug
#15224 SHOW INDEX from temporary table doesn't work
# Bug
#12770 DESC cannot display the info. about temporary table
# Bug#14387 SHOW COLUMNS doesn't work on temporary tables
# Bug#15224 SHOW INDEX from temporary table doesn't work
# Bug#12770 DESC cannot display the info. about temporary table
#
create
temporary
table
t1
(
f1
int
,
index
(
f1
));
show
columns
from
t1
;
...
...
@@ -839,6 +847,7 @@ connection con16681;
select
*
from
information_schema
.
views
where
table_name
=
'v1'
or
table_name
=
'v2'
;
connection
default
;
disconnect
con16681
;
drop
view
v1
,
v2
;
drop
table
t1
;
drop
user
mysqltest_1
@
localhost
;
...
...
@@ -855,7 +864,7 @@ drop table t1,t2;
#
# Bug#20230
:
routine_definition is not null
# Bug#20230 routine_definition is not null
#
--
disable_warnings
DROP
PROCEDURE
IF
EXISTS
p1
;
...
...
@@ -888,7 +897,7 @@ DROP PROCEDURE p1;
DROP
USER
mysql_bug20230
@
localhost
;
#
# Bug#18925
: subqueries with MIN/MAX functions on INFORMARTION_SCHEMA
# Bug#18925
subqueries with MIN/MAX functions on INFORMARTION_SCHEMA
#
SELECT
t
.
table_name
,
c1
.
column_name
...
...
@@ -921,7 +930,7 @@ SELECT t.table_name, c1.column_name
);
#
# Bug#2123
1:
query with a simple non-correlated subquery over
# Bug#2123 query with a simple non-correlated subquery over
# INFORMARTION_SCHEMA.TABLES
#
...
...
@@ -931,7 +940,7 @@ SELECT table_name from information_schema.tables
FROM
information_schema
.
tables
);
#
# Bug
#23037:
Bug in field "Default" of query "SHOW COLUMNS FROM table"
# Bug
#23037
Bug in field "Default" of query "SHOW COLUMNS FROM table"
#
# Note, MyISAM/InnoDB can't take more that 65532 chars, because the row
# size is limited to 65535 bytes (BLOBs not counted)
...
...
@@ -975,7 +984,7 @@ DROP FUNCTION get_value;
#
# Bug#22413
:
EXPLAIN SELECT FROM view with ORDER BY yield server crash
# Bug#22413 EXPLAIN SELECT FROM view with ORDER BY yield server crash
#
create
view
v1
as
select
table_schema
as
object_schema
,
...
...
@@ -1068,6 +1077,7 @@ show triggers;
select
trigger_name
from
information_schema
.
triggers
where
event_object_table
=
't1'
;
connection
default
;
disconnect
con27629
;
drop
user
mysqltest_1
@
localhost
;
drop
database
mysqltest
;
...
...
@@ -1111,13 +1121,13 @@ select * from `information_schema`.`VIEWS` where `TABLE_NAME` = NULL;
#
# Bug#30079 A check for "hidden" I_S tables is flawed
#
--
error
1109
--
error
ER_UNKNOWN_TABLE
show
fields
from
information_schema
.
table_names
;
--
error
1109
--
error
ER_UNKNOWN_TABLE
show
keys
from
information_schema
.
table_names
;
#
# Bug#34529
:
Crash on complex Falcon I_S select after ALTER .. PARTITION BY
# Bug#34529 Crash on complex Falcon I_S select after ALTER .. PARTITION BY
#
USE
information_schema
;
SET
max_heap_table_size
=
16384
;
...
...
mysql-test/t/multi_update.test
View file @
32bef0bc
...
...
@@ -379,6 +379,9 @@ revoke all privileges on mysqltest.t1 from mysqltest_1@localhost;
revoke
all
privileges
on
mysqltest
.*
from
mysqltest_1
@
localhost
;
delete
from
mysql
.
user
where
user
=
_binary
'mysqltest_1'
;
drop
database
mysqltest
;
connection
default
;
disconnect
user1
;
disconnect
root
;
#
# multi delete wrong table check
...
...
@@ -401,7 +404,7 @@ update t1,t2 set t1.col1 = (select max(col1) from t1) where t1.col1 = t2.col1;
delete
t1
from
t1
,
t2
where
t1
.
col1
<
(
select
max
(
col1
)
from
t1
)
and
t1
.
col1
=
t2
.
col1
;
drop
table
t1
,
t2
;
# Test for B
UG#5837 -
delete with outer join and const tables
# Test for B
ug#5837
delete with outer join and const tables
--
disable_warnings
create
table
t1
(
aclid
bigint
not
null
primary
key
,
...
...
@@ -418,7 +421,7 @@ delete t2, t1 from t2 left join t1 on (t2.aclid=t1.aclid) where t2.refid='1';
drop
table
t1
,
t2
;
#
# Bug#19225
:
unchecked error leads to server crash
# Bug#19225 unchecked error leads to server crash
#
create
table
t1
(
a
int
);
create
table
t2
(
a
int
);
...
...
@@ -428,7 +431,7 @@ drop table t1, t2;
# End of 4.1 tests
#
# Test for
bug
#1980.
# Test for
Bug
#1980.
#
--
disable_warnings
create
table
t1
(
c
char
(
8
)
not
null
)
engine
=
innodb
;
...
...
@@ -484,9 +487,12 @@ send alter table t1 add column c int default 100 after a;
connect
(
updater
,
localhost
,
root
,,
test
);
connection
updater
;
# Wait till "alter table t1 ..." is in work.
sleep
2
;
send
update
t1
,
v1
set
t1
.
b
=
t1
.
a
+
t1
.
b
+
v1
.
b
where
t1
.
a
=
v1
.
a
;
connection
locker
;
# Wait till "update t1, v1 ..." is in work.
sleep
2
;
unlock
tables
;
...
...
@@ -500,6 +506,12 @@ select * from t2;
drop
view
v1
;
drop
table
t1
,
t2
;
connection
default
;
disconnect
locker
;
disconnect
changer
;
disconnect
updater
;
#
# Bug#27716 multi-update did partially and has not binlogged
#
...
...
@@ -536,11 +548,12 @@ reset master;
UPDATE
t2
,
t1
SET
t2
.
a
=
t2
.
b
where
t2
.
a
=
t1
.
a
;
show
master
status
/* there must be the UPDATE query event */
;
# cleanup
bug#27716
# cleanup
drop
table
t1
,
t2
;
#
# Bug
#29136 erred multi-delete on trans table does not rollback
# Bug
#29136 erred multi-delete on trans table does not rollback
#
# prepare
...
...
@@ -569,7 +582,7 @@ select count(*) from t3 /* must be 1 */;
# the query must be in binlog (no surprise though)
source
include
/
show_binlog_events
.
inc
;
# cleanup
bug#29136
# cleanup
drop
table
t1
,
t2
,
t3
;
...
...
mysql-test/t/overflow.test
View file @
32bef0bc
# Save the initial number of concurrent sessions
--
source
include
/
count_sessions
.
inc
connect
(
con1
,
localhost
,
root
,,);
connection
con1
;
--
error
1064
,
1102
,
1280
--
error
ER_PARSE_ERROR
,
ER_WRONG_DB_NAME
,
ER_WRONG_NAME_FOR_INDEX
drop
database
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
;
connection
default
;
disconnect
con1
;
# End of 4.1 tests
# Wait till we reached the initial number of concurrent sessions
--
source
include
/
wait_until_count_sessions
.
inc
mysql-test/t/packet.test
View file @
32bef0bc
...
...
@@ -4,12 +4,18 @@
# swallowing them and returning an error
--
source
include
/
not_windows
.
inc
# Save the initial number of concurrent sessions
--
source
include
/
count_sessions
.
inc
#
# Check protocol handling
#
connect
(
con1
,
localhost
,
root
,,);
set
@
max_allowed_packet
=@@
global
.
max_allowed_packet
;
set
@
net_buffer_length
=@@
global
.
net_buffer_length
;
connect
(
con1
,
localhost
,
root
,,);
connection
con1
;
set
global
max_allowed_packet
=
100
;
set
max_allowed_packet
=
100
;
...
...
@@ -19,6 +25,8 @@ set net_buffer_length=100;
SELECT
length
(
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
)
as
len
;
# Should return NULL as 2000 is bigger than max_allowed_packet
select
repeat
(
'a'
,
2000
);
connection
default
;
disconnect
con1
;
#
# Connection 2 should get error for too big packets
...
...
@@ -26,7 +34,7 @@ select repeat('a',2000);
connect
(
con2
,
localhost
,
root
,,);
connection
con2
;
select
@@
net_buffer_length
,
@@
max_allowed_packet
;
--
error
1153
--
error
ER_NET_PACKET_TOO_LARGE
SELECT
length
(
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
)
as
len
;
set
global
max_allowed_packet
=
default
;
set
max_allowed_packet
=
default
;
...
...
@@ -34,5 +42,13 @@ set global net_buffer_length=default;
set
net_buffer_length
=
default
;
SELECT
length
(
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
)
as
len
;
select
length
(
repeat
(
'a'
,
2000
));
connection
default
;
disconnect
con2
;
set
global
max_allowed_packet
=@
max_allowed_packet
;
set
global
net_buffer_length
=@
net_buffer_length
;
# End of 4.1 tests
# Wait till we reached the initial number of concurrent sessions
--
source
include
/
wait_until_count_sessions
.
inc
mysql-test/t/query_cache_notembedded.test
View file @
32bef0bc
--
source
include
/
have_query_cache
.
inc
--
source
include
/
not_embedded
.
inc
# Save the initial number of concurrent sessions
--
source
include
/
count_sessions
.
inc
#
# Tests with query cache
#
...
...
@@ -79,7 +83,7 @@ show status like "Qcache_free_blocks";
drop
table
t1
,
t2
,
t3
,
t11
,
t21
;
#
# do not use QC if tables locked (B
UG
#12385)
# do not use QC if tables locked (B
ug
#12385)
#
connect
(
root
,
localhost
,
root
,,
test
,
$MASTER_MYPORT
,
$MASTER_MYSOCK
);
connection
root
;
...
...
@@ -96,10 +100,13 @@ SELECT * FROM t1;
connection
root
;
SELECT
*
FROM
t1
;
drop
table
t1
;
connection
default
;
disconnect
root
;
disconnect
root2
;
#
# query in QC from normal execution and SP (B
UG
#6897)
# improved to also test B
UG#3583 and BUG
#12990
# query in QC from normal execution and SP (B
ug
#6897)
# improved to also test B
ug#3583 and Bug
#12990
#
flush
query
cache
;
reset
query
cache
;
...
...
@@ -181,7 +188,7 @@ drop procedure f4;
drop
table
t1
;
#
#
bug#14767:
INSERT in SF + concurrent SELECT with query cache
#
Bug#14767
INSERT in SF + concurrent SELECT with query cache
#
reset
query
cache
;
--
disable_warnings
...
...
@@ -223,4 +230,36 @@ connection default;
set
GLOBAL
query_cache_size
=
0
;
#
# Bug#40264: Aborted cached query causes query to hang indefinitely on next cache hit
#
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
FLUSH
STATUS
;
SET
GLOBAL
query_cache_size
=
1048576
;
CREATE
TABLE
t1
(
a
INT
);
INSERT
INTO
t1
VALUES
(
1
),(
2
),(
3
),(
4
),(
5
);
SHOW
STATUS
LIKE
'Qcache_queries_in_cache'
;
LOCK
TABLES
t1
WRITE
;
connect
(
con1
,
localhost
,
root
,,);
--
send
SELECT
*
FROM
t1
connection
default
;
let
$show_type
=
open
tables
where
`table`
=
't1'
and
in_use
=
2
;
let
$show_pattern
=
'%t1%2%'
;
--
source
include
/
wait_show_pattern
.
inc
dirty_close
con1
;
UNLOCK
TABLES
;
let
$show_type
=
open
tables
where
`table`
=
't1'
and
in_use
=
0
;
let
$show_pattern
=
'%t1%0%'
;
--
source
include
/
wait_show_pattern
.
inc
SHOW
STATUS
LIKE
'Qcache_queries_in_cache'
;
DROP
TABLE
t1
;
SET
GLOBAL
query_cache_size
=
default
;
# End of 5.0 tests
# Wait till we reached the initial number of concurrent sessions
#--source include/wait_until_count_sessions.inc
mysql-test/t/sp-threads.test
View file @
32bef0bc
...
...
@@ -5,6 +5,9 @@
# except security/privilege tests, they go to sp-security.test
#
# Save the initial number of concurrent sessions
--
source
include
/
count_sessions
.
inc
connect
(
con1root
,
localhost
,
root
,,);
connect
(
con2root
,
localhost
,
root
,,);
connect
(
con3root
,
localhost
,
root
,,);
...
...
@@ -58,7 +61,7 @@ drop procedure bug4934;
#
# B
UG #9486 "Can't perform multi-update in stored procedure"
# B
ug#9486 Can't perform multi-update in stored procedure
#
--
disable_warnings
drop
procedure
if
exists
bug9486
;
...
...
@@ -87,8 +90,9 @@ reap;
drop
procedure
bug9486
;
drop
table
t1
,
t2
;
#
# B
UG#11158:
Can't perform multi-delete in stored procedure
# B
ug#11158
Can't perform multi-delete in stored procedure
#
--
disable_warnings
drop
procedure
if
exists
bug11158
;
...
...
@@ -114,8 +118,9 @@ connection con1root;
drop
procedure
bug11158
;
drop
table
t1
,
t2
;
#
# B
UG#11554:
Server crashes on statement indirectly using non-cached function
# B
ug#11554
Server crashes on statement indirectly using non-cached function
#
--
disable_warnings
drop
function
if
exists
bug11554
;
...
...
@@ -134,7 +139,7 @@ drop table t1;
drop
view
v1
;
# B
UG#12228
# B
ug#12228 Crash happens during calling specific SP in multithread environment
--
disable_warnings
drop
procedure
if
exists
p1
;
drop
procedure
if
exists
p2
;
...
...
@@ -168,18 +173,26 @@ connection con2root;
unlock
tables
;
connection
con1root
;
# Crash will be here if we hit B
UG#12228
# Crash will be here if we hit B
ug#12228
reap
;
drop
procedure
p1
;
drop
procedure
p2
;
drop
table
t1
;
#
# B
UG#NNNN:
New bug synopsis
# B
ug#NNNN
New bug synopsis
#
#--disable_warnings
#drop procedure if exists bugNNNN;
#--enable_warnings
#create procedure bugNNNN...
connection
default
;
disconnect
con1root
;
disconnect
con2root
;
disconnect
con3root
;
# Wait till we reached the initial number of concurrent sessions
--
source
include
/
wait_until_count_sessions
.
inc
mysql-test/t/subselect.test
View file @
32bef0bc
...
...
@@ -1035,8 +1035,9 @@ INSERT INTO t1 VALUES (1),(1),(1),(1),(1),(2),(3),(4),(5);
SELECT
DISTINCT
(
SELECT
a
)
FROM
t1
LIMIT
100
;
DROP
TABLE
t1
;
#
# Bug
2198
# Bug
#2198 SELECT INTO OUTFILE (with Sub-Select) Problem
#
create
table
t1
(
a
int
,
b
decimal
(
13
,
3
));
...
...
@@ -1051,8 +1052,9 @@ load data infile "subselect.out.file.1" into table t1;
select
*
from
t1
;
drop
table
t1
;
#
# Bug
2479
# Bug
#2479 dependant subquery with limit crash
#
CREATE
TABLE
`t1`
(
...
...
@@ -1090,8 +1092,9 @@ select 2 in (select * from t1);
SET
SQL_SELECT_LIMIT
=
default
;
drop
table
t1
;
#
# Bug
#3118:
subselect + order by
# Bug
#3118
subselect + order by
#
CREATE
TABLE
t1
(
a
int
,
b
int
,
INDEX
(
a
));
...
...
@@ -1130,8 +1133,9 @@ insert into t1 values (1);
explain
select
benchmark
(
1000
,
(
select
a
from
t1
where
a
=
sha
(
rand
())));
drop
table
t1
;
#
#
bug 3188
#
Bug#3188 Ambiguous Column in Subselect crashes server
#
create
table
t1
(
id
int
);
create
table
t2
(
id
int
);
...
...
@@ -1140,8 +1144,9 @@ create table t3(flag int);
select
(
select
*
from
t3
where
id
not
null
)
from
t1
,
t2
;
drop
table
t1
,
t2
,
t3
;
#
# aggregate functions (Bug
#3505
)
# aggregate functions (Bug
#3505 Wrong results on use of ORDER BY with subqueries
)
#
CREATE
TABLE
t1
(
id
INT
);
CREATE
TABLE
t2
(
id
INT
);
...
...
@@ -1332,8 +1337,9 @@ select * from t1 up where exists (select * from t1 where t1.a=up.a);
explain
extended
select
*
from
t1
up
where
exists
(
select
*
from
t1
where
t1
.
a
=
up
.
a
);
drop
table
t1
;
#
# Bug
#4102:
subselect in HAVING
# Bug
#4102
subselect in HAVING
#
CREATE
TABLE
t1
(
t1_a
int
);
...
...
@@ -1344,8 +1350,10 @@ SELECT * FROM t1, t2 table2 WHERE t1_a = 1 AND table2.t2_a = 1
HAVING
table2
.
t2_b
=
(
SELECT
MAX
(
t2_b
)
FROM
t2
WHERE
t2_a
=
table2
.
t2_a
);
DROP
TABLE
t1
,
t2
;
#
# Test problem with NULL and derived tables (Bug #4097)
# Test problem with NULL and derived tables
# (Bug#4097 JOIN with subquery causes entire column to report NULL)
#
CREATE
TABLE
t1
(
id
int
(
11
)
default
NULL
,
name
varchar
(
10
)
default
NULL
);
...
...
@@ -1355,6 +1363,7 @@ INSERT INTO t2 VALUES (1,'Fido'),(2,'Spot'),(3,'Felix');
SELECT
a
.*
,
b
.*
FROM
(
SELECT
*
FROM
t1
)
AS
a
JOIN
t2
as
b
on
a
.
id
=
b
.
id
;
drop
table
t1
,
t2
;
#
# outer fields resolving in INSERT/REPLACE and CRETE with SELECT
#
...
...
@@ -1390,8 +1399,9 @@ insert into t2 values (1,2);
select
t000
.
a
,
count
(
*
)
`C`
FROM
t1
t000
GROUP
BY
t000
.
a
HAVING
count
(
*
)
>
ALL
(
SELECT
count
(
*
)
FROM
t2
t001
WHERE
t001
.
a
=
1
);
drop
table
t1
,
t2
;
#
# B
UG
#4769 - fulltext in subselect
# B
ug
#4769 - fulltext in subselect
#
create
table
t1
(
a
int
not
null
auto_increment
primary
key
,
b
varchar
(
40
),
fulltext
(
b
));
insert
into
t1
(
b
)
values
(
'ball'
),(
'ball games'
),
(
'games'
),
(
'foo'
),
(
'foobar'
),
(
'Serg'
),
(
'Sergei'
),(
'Georg'
),
(
'Patrik'
),(
'Hakan'
);
...
...
@@ -1401,8 +1411,9 @@ select a,b from t1 where match(b) against ('Ball') > 0;
select
a
from
t2
where
a
in
(
select
a
from
t1
where
match
(
b
)
against
(
'Ball'
)
>
0
);
drop
table
t1
,
t2
;
#
# B
UG
#5003 - like in subselect
# B
ug
#5003 - like in subselect
#
CREATE
TABLE
t1
(
`IZAVORGANG_ID`
VARCHAR
(
11
)
CHARACTER
SET
latin1
COLLATE
latin1_bin
,
`KUERZEL`
VARCHAR
(
10
)
CHARACTER
SET
latin1
COLLATE
latin1_bin
,
`IZAANALYSEART_ID`
VARCHAR
(
11
)
CHARACTER
SET
latin1
COLLATE
latin1_bin
,
`IZAPMKZ_ID`
VARCHAR
(
11
)
CHARACTER
SET
latin1
COLLATE
latin1_bin
);
CREATE
INDEX
AK01IZAVORGANG
ON
t1
(
izaAnalyseart_id
,
Kuerzel
);
...
...
@@ -1459,10 +1470,10 @@ SELECT b.sc FROM (SELECT (SELECT a.access FROM t1 a WHERE a.map = op.map AND a.s
SELECT
b
.
ac
FROM
(
SELECT
(
SELECT
a
.
access
FROM
t1
a
WHERE
a
.
map
=
op
.
map
AND
a
.
slave
=
op
.
pid
AND
a
.
master
=
1
)
ac
FROM
t2
op
WHERE
op
.
id
=
12
AND
op
.
map
=
0
)
b
;
drop
tables
t1
,
t2
;
#
# Test for bug #6462. "Same request on same data returns different
# results." a.k.a. "Proper cleanup of subqueries is missing for
# SET and DO statements".
# Test for Bug#6462 Same request on same data returns different results
# a.k.a. "Proper cleanup of subqueries is missing for SET and DO statements".
#
create
table
t1
(
a
int
not
null
,
b
int
not
null
,
c
int
,
primary
key
(
a
,
b
));
insert
into
t1
values
(
1
,
1
,
1
),
(
2
,
2
,
2
),
(
3
,
3
,
3
);
...
...
@@ -1484,9 +1495,11 @@ drop table t1;
connect
(
root
,
localhost
,
root
,,
test
,
$MASTER_MYPORT
,
$MASTER_MYSOCK
);
connection
root
;
set
@
got_val
=
(
SELECT
1
FROM
(
SELECT
'A'
as
my_col
)
as
T1
)
;
connection
default
;
disconnect
root
;
#
# primary query with temporary table and subquery with group
p
ing
# primary query with temporary table and subquery with grouping
#
create
table
t1
(
a
int
,
b
int
);
create
table
t2
(
a
int
,
b
int
);
...
...
@@ -1552,8 +1565,9 @@ SELECT DISTINCT Continent AS c FROM t1 outr WHERE
Population
<
200
);
drop
table
t1
;
#
# Test for B
UG#7885:
Server crash when 'any' subselect compared to
# Test for B
ug#7885
Server crash when 'any' subselect compared to
# non-existant field.
#
create
table
t1
(
a1
int
);
...
...
@@ -1603,8 +1617,9 @@ select 1 = ALL (select 1 from t1 where 1 = xx ), 1 as xx;
select
1
=
ALL
(
select
1
from
t1
where
1
=
xx
),
1
as
xx
from
DUAL
;
drop
table
t1
;
#
# Test for B
UG#8218
# Test for B
ug#8218 Join does not pass string from right table
#
CREATE
TABLE
t1
(
categoryId
int
(
11
)
NOT
NULL
,
...
...
@@ -1704,8 +1719,9 @@ group by
drop
table
t1
,
t2
,
t3
,
t4
,
t5
;
#
# Transformation in left expression of subquery (B
UG
#8888)
# Transformation in left expression of subquery (B
ug
#8888)
#
create
table
t1
(
a
int
);
insert
into
t1
values
(
1
),
(
2
),
(
3
);
...
...
@@ -1750,8 +1766,9 @@ select (1,2,3) = (select * from t1);
select
(
select
*
from
t1
)
=
(
1
,
2
,
3
);
drop
table
t1
;
#
# Item_int_with_ref check (B
UG
#10020)
# Item_int_with_ref check (B
ug
#10020)
#
CREATE
TABLE
`t1`
(
`itemid`
bigint
(
20
)
unsigned
NOT
NULL
auto_increment
,
...
...
@@ -1774,15 +1791,16 @@ INSERT INTO `t2` VALUES (1, 1, 1, '10.10.10.1');
SELECT
s
.
ip
,
count
(
e
.
itemid
)
FROM
`t1`
e
JOIN
t2
s
ON
s
.
sessionid
=
e
.
sessionid
WHERE
e
.
sessionid
=
(
SELECT
sessionid
FROM
t2
ORDER
BY
sessionid
DESC
LIMIT
1
)
GROUP
BY
s
.
ip
HAVING
count
(
e
.
itemid
)
>
0
LIMIT
0
,
30
;
drop
tables
t1
,
t2
;
# BUG#11821 : Select from subselect using aggregate function on an enum
#
segfaults:
#
Bug#11821 Select from subselect using aggregate function on an enum segfaults
create
table
t1
(
fld
enum
(
'0'
,
'1'
));
insert
into
t1
values
(
'1'
);
select
*
from
(
select
max
(
fld
)
from
t1
)
as
foo
;
drop
table
t1
;
#
# Bug
#11867:
queries with ROW(,elems>) IN (SELECT DISTINCT <cols> FROM ...)
# Bug
#11867
queries with ROW(,elems>) IN (SELECT DISTINCT <cols> FROM ...)
#
CREATE
TABLE
t1
(
one
int
,
two
int
,
flag
char
(
1
));
...
...
@@ -1812,8 +1830,9 @@ explain extended SELECT one,two from t1 where ROW(one,two) IN (SELECT one,two FR
explain
extended
SELECT
one
,
two
,
ROW
(
one
,
two
)
IN
(
SELECT
one
,
two
FROM
t2
WHERE
flag
=
'0'
group
by
one
,
two
)
as
'test'
from
t1
;
DROP
TABLE
t1
,
t2
;
#
# Bug
#12392: where cond with IN predicate for rows and NULL values in table
# Bug
#12392 where cond with IN predicate for rows and NULL values in table
#
CREATE
TABLE
t1
(
a
char
(
5
),
b
char
(
5
));
...
...
@@ -1823,8 +1842,9 @@ SELECT * FROM t1 WHERE (a,b) IN (('aaa','aaa'), ('aaa','bbb'));
DROP
TABLE
t1
;
#
# Bug
#11479: subquery over left join with an empty inner table
# Bug
#11479 subquery over left join with an empty inner table
#
CREATE
TABLE
t1
(
a
int
);
...
...
@@ -1841,8 +1861,9 @@ SELECT * FROM t1
DROP
TABLE
t1
,
t2
,
t3
;
#
# Bug#18503
:
Queries with a quantified subquery returning empty set may
# Bug#18503 Queries with a quantified subquery returning empty set may
# return a wrong result.
#
CREATE
TABLE
t1
(
f1
INT
);
...
...
@@ -1855,8 +1876,9 @@ INSERT INTO t2 VALUES (2);
SELECT
*
FROM
t1
WHERE
f1
>
ALL
(
SELECT
f2
FROM
t2
WHERE
f2
=
0
);
DROP
TABLE
t1
,
t2
;
#
# Bug#16302
:
Quantified subquery without any tables gives wrong results
# Bug#16302 Quantified subquery without any tables gives wrong results
#
select
1
from
dual
where
1
<
any
(
select
2
);
select
1
from
dual
where
1
<
all
(
select
2
);
...
...
@@ -1865,7 +1887,8 @@ select 1 from dual where 2 > all (select 1);
select
1
from
dual
where
1
<
any
(
select
2
from
dual
);
select
1
from
dual
where
1
<
all
(
select
2
from
dual
where
1
!=
1
);
# BUG#20975 Wrong query results for subqueries within NOT
# Bug#20975 Wrong query results for subqueries within NOT
create
table
t1
(
s1
char
);
insert
into
t1
values
(
1
),(
2
);
...
...
@@ -1882,8 +1905,9 @@ select * from t1 where (s1 = ALL (select s1/s1 from t1));
select
*
from
t1
where
NOT
(
s1
=
ALL
(
select
s1
/
s1
from
t1
));
drop
table
t1
;
#
# Bug
#16255:
Subquery in where
# Bug
#16255
Subquery in where
#
create
table
t1
(
retailerID
varchar
(
8
)
NOT
NULL
,
...
...
@@ -1905,8 +1929,9 @@ select * from t1 r1
group
by
r2
.
retailerId
);
drop
table
t1
;
#
# Bug
#21180: Subselect with index for both WHERE and ORDER BY
# Bug
#21180 Subselect with index for both WHERE and ORDER BY
# produces empty result
#
create
table
t1
(
a
int
,
primary
key
(
a
));
...
...
@@ -1931,8 +1956,9 @@ SELECT sql_no_cache t1.a, r.a, r.b FROM t1 LEFT JOIN t2 r
drop
table
t1
,
t2
;
#
# Bug
#21853:
assert failure for a grouping query with
# Bug
#21853
assert failure for a grouping query with
# an ALL/ANY quantified subquery in HAVING
#
...
...
@@ -1968,8 +1994,9 @@ SELECT field1, field2
DROP
TABLE
t1
,
t2
;
#
# Bug
#23478:
not top-level IN subquery returning a non-empty result set
# Bug
#23478
not top-level IN subquery returning a non-empty result set
# with possible NULL values by index access from the outer query
#
...
...
@@ -1985,8 +2012,9 @@ SELECT a, a IN (SELECT a FROM t1) FROM t2;
DROP
TABLE
t1
,
t2
;
#
# Bug
#11302:
getObject() returns a String for a sub-query of type datetime
# Bug
#11302
getObject() returns a String for a sub-query of type datetime
#
CREATE
TABLE
t1
(
a
DATETIME
);
INSERT
INTO
t1
VALUES
(
'1998-09-23'
),
(
'2003-03-25'
);
...
...
@@ -2001,8 +2029,9 @@ SHOW CREATE TABLE t3;
DROP
TABLE
t1
,
t2
,
t3
;
#
# Bug
24670:
subquery witout tables but with a WHERE clause
# Bug
24670
subquery witout tables but with a WHERE clause
#
CREATE
TABLE
t1
(
a
int
);
...
...
@@ -2014,8 +2043,9 @@ EXPLAIN SELECT a FROM t1 WHERE (SELECT 1 FROM DUAL WHERE 1=0) IS NULL;
DROP
TABLE
t1
;
#
# Bug
24653:
sorting by expressions containing subselects
# Bug
#24653
sorting by expressions containing subselects
# that return more than one row
#
...
...
@@ -2099,8 +2129,9 @@ select * from t1;
select
min
(
a
)
from
t1
group
by
grp
;
drop
table
t1
;
#
# Test for
bug #9338: lame substitution of c1 instead of c2
# Test for
Bug#9338 lame substitution of c1 instead of c2
#
CREATE
table
t1
(
c1
integer
);
...
...
@@ -2120,8 +2151,9 @@ SELECT * FROM t1 LEFT JOIN t2 ON c1 = c2
DROP
TABLE
t1
,
t2
;
#
# Test for
bug #9516: wrong evaluation of not_null_tables attribute in SQ
# Test for
Bug#9516 wrong evaluation of not_null_tables attribute in SQ
#
CREATE
TABLE
t1
(
c1
integer
);
INSERT
INTO
t1
VALUES
(
1
);
...
...
@@ -2144,8 +2176,9 @@ SELECT c1,c2 FROM t1 LEFT JOIN t2 ON c1 = c2
DROP
TABLE
t1
,
t2
,
t3
;
#
# Item_int_with_ref check (B
UG
#10020)
# Item_int_with_ref check (B
ug
#10020)
#
CREATE
TABLE
`t1`
(
`itemid`
bigint
(
20
)
unsigned
NOT
NULL
auto_increment
,
...
...
@@ -2168,9 +2201,10 @@ INSERT INTO `t2` VALUES (1, 1, 1, '10.10.10.1');
SELECT
s
.
ip
,
count
(
e
.
itemid
)
FROM
`t1`
e
JOIN
t2
s
ON
s
.
sessionid
=
e
.
sessionid
WHERE
e
.
sessionid
=
(
SELECT
sessionid
FROM
t2
ORDER
BY
sessionid
DESC
LIMIT
1
)
GROUP
BY
s
.
ip
HAVING
count
(
e
.
itemid
)
>
0
LIMIT
0
,
30
;
drop
tables
t1
,
t2
;
#
# Correct building of equal fields list (do not include outer
# fields) (B
UG
#6384)
# fields) (B
ug
#6384)
#
CREATE
TABLE
t1
(
EMPNUM
CHAR
(
3
));
CREATE
TABLE
t2
(
EMPNUM
CHAR
(
3
)
);
...
...
@@ -2184,8 +2218,9 @@ WHERE t1.EMPNUM NOT IN
select
*
from
t1
;
DROP
TABLE
t1
,
t2
;
#
# Test for
bug #11487:
range access in a subquery
# Test for
Bug#11487
range access in a subquery
#
CREATE
TABLE
t1
(
select_id
BIGINT
,
values_id
BIGINT
);
...
...
@@ -2206,15 +2241,16 @@ WHERE values_id IN (SELECT values_id FROM t2
DROP
TABLE
t1
,
t2
;
# BUG#11821 : Select from subselect using aggregate function on an enum
#
segfaults:
#
Bug#11821 Select from subselect using aggregate function on an enum segfaults
create
table
t1
(
fld
enum
(
'0'
,
'1'
));
insert
into
t1
values
(
'1'
);
select
*
from
(
select
max
(
fld
)
from
t1
)
as
foo
;
drop
table
t1
;
#
# Test for
bug #11762:
subquery with an aggregate function in HAVING
# Test for
Bug#11762
subquery with an aggregate function in HAVING
#
CREATE
TABLE
t1
(
a
int
,
b
int
);
...
...
@@ -2297,8 +2333,9 @@ SELECT t1.a, SUM(b) AS sum FROM t1 GROUP BY t1.a
DROP
TABLE
t1
,
t2
,
t3
;
#
# Test for
bug #16603: GROUP BY in a row subquery with a quantifier
# Test for
Bug#16603 GROUP BY in a row subquery with a quantifier
# when an index is defined on the grouping field
CREATE
TABLE
t1
(
a
varchar
(
5
),
b
varchar
(
10
));
...
...
@@ -2318,16 +2355,18 @@ SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
DROP
TABLE
t1
;
#
# Bug#17366
:
Unchecked Item_int results in server crash
# Bug#17366 Unchecked Item_int results in server crash
#
create
table
t1
(
f1
int
,
f2
int
);
insert
into
t1
values
(
1
,
1
),(
2
,
2
);
select
tt
.
t
from
(
select
'crash1'
as
t
,
f2
from
t1
)
as
tt
left
join
t1
on
tt
.
t
=
'crash2'
and
tt
.
f2
=
t1
.
f2
where
tt
.
t
=
'crash1'
;
drop
table
t1
;
#
# Bug
#18306:
server crash on delete using subquery.
# Bug
#18306
server crash on delete using subquery.
#
create
table
t1
(
c
int
,
key
(
c
));
...
...
@@ -2337,8 +2376,9 @@ insert into t2 values (2, 1), (1, 0);
delete
from
t1
where
c
<=
1140006215
and
(
select
b
from
t2
where
a
=
2
)
=
1
;
drop
table
t1
,
t2
;
#
# Bug
#7549:
Missing error message for invalid view selection with subquery
# Bug
#7549
Missing error message for invalid view selection with subquery
#
CREATE
TABLE
t1
(
a
INT
);
...
...
@@ -2352,16 +2392,18 @@ SELECT * FROM t1 WHERE no_such_column = ANY (SELECT 1);
DROP
TABLE
t1
;
#
# Bug#19077
:
A nested materialized derived table is used before being populated.
# Bug#19077 A nested materialized derived table is used before being populated.
#
create
table
t1
(
i
int
,
j
bigint
);
insert
into
t1
values
(
1
,
2
),
(
2
,
2
),
(
3
,
2
);
select
*
from
(
select
min
(
i
)
from
t1
where
j
=
(
select
*
from
(
select
min
(
j
)
from
t1
)
t2
))
t3
;
drop
table
t1
;
#
# Bug#19700
:
subselect returning BIGINT always returned it as SIGNED
# Bug#19700 subselect returning BIGINT always returned it as SIGNED
#
CREATE
TABLE
t1
(
i
BIGINT
UNSIGNED
);
INSERT
INTO
t1
VALUES
(
10000000000000000000
);
# > MAX SIGNED BIGINT 9323372036854775807
...
...
@@ -2383,8 +2425,9 @@ SELECT t1.i FROM t1 WHERE t1.i = CAST((SELECT MAX(i) FROM t2) AS UNSIGNED);
DROP
TABLE
t1
;
DROP
TABLE
t2
;
#
# Bug#20519
:
subselect with LIMIT M, N
# Bug#20519 subselect with LIMIT M, N
#
CREATE
TABLE
t1
(
...
...
@@ -2423,8 +2466,9 @@ SELECT *,
FROM
t1
;
DROP
TABLE
t1
,
t2
;
#
# Bug#20869
:
subselect with range access by DESC
# Bug#20869 subselect with range access by DESC
#
CREATE
TABLE
t1
(
...
...
@@ -2461,9 +2505,9 @@ SELECT * FROM t1,t2
DROP
TABLE
t1
,
t2
;
#
# Bug#14654 : Cannot select from the same table twice within a UNION
# statement
# Bug#14654 Cannot select from the same table twice within a UNION statement
#
CREATE
TABLE
t1
(
i
INT
);
...
...
@@ -2493,8 +2537,9 @@ explain select * from t1 where not exists
DROP
TABLE
t1
;
#
# Bug#21798
: memory leak during query execution with subquery in column
# Bug#21798
memory leak during query execution with subquery in column
# list using a function
#
CREATE
TABLE
t1
(
a
VARCHAR
(
250
),
b
INT
auto_increment
,
PRIMARY
KEY
(
b
));
...
...
@@ -2519,8 +2564,9 @@ SELECT a,
FROM
t1
ORDER
BY
a
LIMIT
5
;
DROP
TABLE
t1
;
#
# Bug
#21540: Subqueries with no from and aggregate functions return
# Bug
#21540 Subqueries with no from and aggregate functions return
# wrong results
CREATE
TABLE
t1
(
a
INT
,
b
INT
);
CREATE
TABLE
t2
(
a
INT
);
...
...
@@ -2550,8 +2596,9 @@ FROM t1 t2
GROUP
BY
t2
.
a
;
DROP
TABLE
t1
,
t2
;
#
# Bug
#21727:
Correlated subquery that requires filesort:
# Bug
#21727
Correlated subquery that requires filesort:
# slow with big sort_buffer_size
#
...
...
@@ -2587,8 +2634,9 @@ SELECT SQL_NO_CACHE COUNT(*)
DROP
TABLE
t1
,
t2
;
#
# Bug
#25219:
EXIST subquery with UNION over a mix of
# Bug
#25219
EXIST subquery with UNION over a mix of
# correlated and uncorrelated selects
#
...
...
@@ -2621,8 +2669,9 @@ SELECT * FROM t1
DROP
TABLE
t1
,
t2
,
t3
;
#
# Bug#23800
: Outer fields in correlated subqueries is used in a temporary
# Bug#23800
Outer fields in correlated subqueries is used in a temporary
# table created for sorting.
#
CREATE
TABLE
t1
(
f1
int
);
...
...
@@ -2649,6 +2698,7 @@ SELECT a, MAX(b),
FROM
t1
GROUP
BY
a
;
DROP
TABLE
t1
;
#
# Bug#21904 (parser problem when using IN with a double "(())")
#
...
...
@@ -2748,8 +2798,9 @@ DROP TABLE t1;
DROP
TABLE
t2
;
DROP
TABLE
t1xt2
;
#
# Bug
#26728:
derived table with concatanation of literals in select list
# Bug
#26728
derived table with concatanation of literals in select list
#
CREATE
TABLE
t1
(
a
int
);
...
...
@@ -2760,8 +2811,9 @@ SELECT * FROM (SELECT 'this is ' 'a test.' AS col1, a AS t2 FROM t1) t;
DROP
table
t1
;
#
# Bug
#27257:
COUNT(*) aggregated in outer query
# Bug
#27257
COUNT(*) aggregated in outer query
#
CREATE
TABLE
t1
(
a
int
,
b
int
);
...
...
@@ -2783,8 +2835,9 @@ SELECT COUNT(*), a
DROP
TABLE
t1
,
t2
;
#
# Bug
#27229: GROUP_CONCAT in subselect with COUNT() as an argument
# Bug
#27229 GROUP_CONCAT in subselect with COUNT() as an argument
#
CREATE
TABLE
t1
(
a
int
,
b
int
);
...
...
@@ -2802,8 +2855,9 @@ SELECT COUNT(*) c, a,
DROP
table
t1
,
t2
;
#
# Bug#27321
:
Wrong subquery result in a grouping select
# Bug#27321 Wrong subquery result in a grouping select
#
CREATE
TABLE
t1
(
a
int
,
b
INT
,
d
INT
,
c
CHAR
(
10
)
NOT
NULL
,
PRIMARY
KEY
(
a
,
b
));
INSERT
INTO
t1
VALUES
(
1
,
1
,
0
,
'a'
),
(
1
,
2
,
0
,
'b'
),
(
1
,
3
,
0
,
'c'
),
(
1
,
4
,
0
,
'd'
),
...
...
@@ -2838,8 +2892,10 @@ SELECT tt.a, MAX(
FROM
t1
as
tt
GROUP
BY
tt
.
a
;
DROP
TABLE
t1
;
#
# Bug
#27348: SET FUNCTION used in a subquery from WHERE condition
# Bug
#27348 SET FUNCTION used in a subquery from WHERE condition
#
CREATE
TABLE
t1
(
a
int
,
b
int
);
...
...
@@ -2865,9 +2921,9 @@ SET @@sql_mode=default;
DROP
TABLE
t1
;
#
# Bug #27363: nested aggregates in outer, subquery / sum(select
# count(outer))
# Bug#27363 nested aggregates in outer, subquery / sum(select count(outer))
#
CREATE
TABLE
t1
(
a
INT
);
INSERT
INTO
t1
values
(
1
),(
1
),(
1
),(
1
);
CREATE
TABLE
t2
(
x
INT
);
INSERT
INTO
t1
values
(
1000
),(
1001
),(
1002
);
...
...
@@ -2893,16 +2949,18 @@ FROM t1;
DROP
TABLE
t1
,
t2
;
#
# Bug
#27807:
Server crash when executing subquery with EXPLAIN
# Bug
#27807
Server crash when executing subquery with EXPLAIN
#
CREATE
TABLE
t1
(
a
int
,
b
int
,
KEY
(
a
));
INSERT
INTO
t1
VALUES
(
1
,
1
),(
2
,
1
);
EXPLAIN
SELECT
1
FROM
t1
WHERE
a
=
(
SELECT
COUNT
(
*
)
FROM
t1
GROUP
BY
b
);
DROP
TABLE
t1
;
#
# Bug
#28377:
grouping query with a correlated subquery in WHERE condition
# Bug
#28377
grouping query with a correlated subquery in WHERE condition
#
CREATE
TABLE
t1
(
id
int
NOT
NULL
,
st
CHAR
(
2
),
INDEX
idx
(
id
));
...
...
@@ -2925,8 +2983,9 @@ SELECT id, st FROM t1
DROP
TABLE
t1
,
t2
;
#
# Bug
#28728:
crash with EXPLAIN EXTENDED for a query with a derived table
# Bug
#28728
crash with EXPLAIN EXTENDED for a query with a derived table
# over a grouping subselect
#
...
...
@@ -2939,8 +2998,9 @@ SELECT * FROM (SELECT count(*) FROM t1 GROUP BY a) as res;
DROP
TABLE
t1
;
#
# Bug
#28811: crash for query containing subquery with ORDER BY and LIMIT 1
# Bug
#28811 crash for query containing subquery with ORDER BY and LIMIT 1
#
CREATE
TABLE
t1
(
...
...
@@ -2973,7 +3033,7 @@ DROP TABLE t1,t2;
#
# Bug
#27333:
subquery grouped for aggregate of outer query / no aggregate
# Bug
#27333
subquery grouped for aggregate of outer query / no aggregate
# of subquery
#
CREATE
TABLE
t1
(
a
INTEGER
,
b
INTEGER
);
...
...
@@ -3013,8 +3073,9 @@ SELECT (SELECT SUM(t1.a) FROM t2 WHERE a!=0) FROM t1;
SELECT
(
SELECT
SUM
(
t1
.
a
)
FROM
t2
WHERE
a
=
1
)
FROM
t1
;
DROP
TABLE
t1
,
t2
;
#
# Bug31048
:
Many nested subqueries may cause server crash.
# Bug31048 Many nested subqueries may cause server crash.
#
create
table
t1
(
a
int
,
b
int
,
key
(
a
),
key
(
b
));
insert
into
t1
(
a
,
b
)
values
(
1
,
2
),(
2
,
1
),(
2
,
3
),(
3
,
4
),(
5
,
4
),(
5
,
5
),
...
...
@@ -3059,8 +3120,9 @@ while ($nesting)
--
enable_query_log
drop
table
t1
;
#
# Bug
#31884:
Assertion + crash in subquery in the SELECT clause.
# Bug
#31884
Assertion + crash in subquery in the SELECT clause.
#
CREATE
TABLE
t1
(
a1
INT
,
a2
INT
);
...
...
@@ -3075,7 +3137,7 @@ SELECT ((a1,a2) IN (SELECT * FROM t2 WHERE b2 > 0)) IS NULL FROM t1;
DROP
TABLE
t1
,
t2
;
#
# Bug
#28076:
inconsistent binary/varbinary comparison
# Bug
#28076
inconsistent binary/varbinary comparison
#
CREATE
TABLE
t1
(
s1
BINARY
(
5
),
s2
VARBINARY
(
5
));
...
...
@@ -3116,8 +3178,9 @@ SELECT LEFT(t1.a1,1) FROM t1,t3 WHERE t1.b1=t3.a3;
SELECT
a2
FROM
t2
WHERE
t2
.
a2
IN
(
SELECT
t1
.
a1
FROM
t1
,
t3
WHERE
t1
.
b1
=
t3
.
a3
);
DROP
TABLE
t1
,
t2
,
t3
;
#
# Bug
#30788:
Inconsistent retrieval of char/varchar
# Bug
#30788
Inconsistent retrieval of char/varchar
#
CREATE
TABLE
t1
(
a
CHAR
(
1
),
b
VARCHAR
(
10
));
...
...
@@ -3141,9 +3204,9 @@ SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1 WHERE LENGTH(a)<500);
DROP
TABLE
t1
,
t2
;
#
# Bug #32400: Complex SELECT query returns correct result only on some
# occasions
# Bug#32400 Complex SELECT query returns correct result only on some occasions
#
CREATE
TABLE
t1
(
a
INT
,
b
INT
);
...
...
@@ -3171,8 +3234,9 @@ GROUP BY a;
DROP
TABLE
t1
;
#
# Bug
#32036:
EXISTS within a WHERE clause with a UNION crashes MySQL 5.122
# Bug
#32036
EXISTS within a WHERE clause with a UNION crashes MySQL 5.122
#
CREATE
TABLE
t1
(
a
INT
);
...
...
@@ -3196,7 +3260,7 @@ DROP TABLE t1,t2;
#
# Bug#33675
:
Usage of an uninitialized memory by filesort in a subquery
# Bug#33675 Usage of an uninitialized memory by filesort in a subquery
# caused server crash.
#
create
table
t1
(
f11
int
,
f12
int
);
...
...
@@ -3218,8 +3282,9 @@ select count(*) from t1 where f12 =
drop
table
t1
,
t2
;
#
# B
UG
#33794 "MySQL crashes executing specific query on specific dump"
# B
ug
#33794 "MySQL crashes executing specific query on specific dump"
#
CREATE
TABLE
t4
(
f7
varchar
(
32
)
collate
utf8_bin
NOT
NULL
default
''
,
...
...
@@ -3272,8 +3337,9 @@ GROUP BY a4;
DROP
TABLE
t1
,
t2
,
t3
,
t4
;
#
# B
UG
#36139 "float, zerofill, crash with subquery"
# B
ug
#36139 "float, zerofill, crash with subquery"
#
create
table
t1
(
a
float
(
5
,
4
)
zerofill
);
create
table
t2
(
a
float
(
5
,
4
),
b
float
(
2
,
0
));
...
...
@@ -3284,8 +3350,9 @@ select t1.a from t1 where
drop
table
t1
,
t2
;
#
# Bug
#36011:
Server crash with explain extended on query with dependent
# Bug
#36011
Server crash with explain extended on query with dependent
# subqueries
#
...
...
@@ -3295,8 +3362,9 @@ EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 GROUP BY a);
EXPLAIN
EXTENDED
SELECT
1
FROM
t1
WHERE
1
IN
(
SELECT
1
FROM
t1
WHERE
a
>
3
GROUP
BY
a
);
DROP
TABLE
t1
;
#
# Bug
#38191:
Server crash with subquery containing DISTINCT and ORDER BY
# Bug
#38191
Server crash with subquery containing DISTINCT and ORDER BY
#
CREATE
TABLE
t1
(
pk
int
PRIMARY
KEY
,
a
int
,
INDEX
idx
(
a
));
...
...
@@ -3307,6 +3375,7 @@ SELECT * FROM t1
WHERE
EXISTS
(
SELECT
DISTINCT
a
FROM
t2
WHERE
t1
.
a
<
t2
.
a
ORDER
BY
b
);
DROP
TABLE
t1
,
t2
;
#
# Bug#20835 (literal string with =any values)
#
...
...
@@ -3315,6 +3384,7 @@ INSERT INTO t1 VALUES ('a');
SELECT
*
FROM
t1
WHERE
_utf8
'a'
=
ANY
(
SELECT
s1
FROM
t1
);
DROP
TABLE
t1
;
#
# Bug#40519 Subselect query using bigint fails
#
...
...
@@ -3325,6 +3395,7 @@ INSERT INTO t2 VALUES (2,1),(3,1);
SELECT
*
FROM
t1
i
WHERE
1
IN
(
SELECT
l
.
id2
FROM
t2
l
WHERE
i
.
id
=
l
.
id1
);
DROP
TABLE
t1
,
t2
;
#
# Bug#37460 Assertion failed:
# !table->file || table->file->inited == handler::NONE
...
...
@@ -3346,7 +3417,7 @@ CREATE VIEW v2 (a,b) AS
SELECT
t2
.
id
,
t2
.
c
AS
c
FROM
t1
,
t2
WHERE
t1
.
id
=
t2
.
id
AND
1
IN
(
SELECT
id
FROM
t1
)
WITH
CHECK
OPTION
;
--
error
1369
--
error
ER_VIEW_CHECK_FAILED
INSERT
INTO
v2
(
a
,
b
)
VALUES
(
2
,
2
);
INSERT
INTO
v2
(
a
,
b
)
VALUES
(
1
,
2
);
SELECT
*
FROM
v1
;
...
...
mysql-test/t/synchronization.test
View file @
32bef0bc
# Save the initial number of concurrent sessions
--
source
include
/
count_sessions
.
inc
#
# Test for Bug
#2385 CREATE TABLE LIKE lacks locking on source and destination
# Test for Bug#2385 CREATE TABLE LIKE lacks locking on source and destination
# table
#
--
disable_warnings
drop
table
if
exists
t1
;
DROP
TABLE
IF
EXISTS
t1
,
t2
;
--
enable_warnings
connect
(
con1
,
localhost
,
root
,,);
...
...
@@ -12,12 +15,12 @@ connect (con2,localhost,root,,);
# locking of source:
CREATE
TABLE
t1
(
x1
int
);
CREATE
TABLE
t1
(
x1
INT
);
let
$
1
=
10
;
while
(
$
1
)
{
connection
con1
;
send
ALTER
TABLE
t1
CHANGE
x1
x2
int
;
send
ALTER
TABLE
t1
CHANGE
x1
x2
INT
;
connection
con2
;
CREATE
TABLE
t2
LIKE
t1
;
replace_result
x1
xx
x2
xx
;
...
...
@@ -25,7 +28,7 @@ while ($1)
DROP
TABLE
t2
;
connection
con1
;
reap
;
send
ALTER
TABLE
t1
CHANGE
x2
x1
int
;
send
ALTER
TABLE
t1
CHANGE
x2
x1
INT
;
connection
con2
;
CREATE
TABLE
t2
LIKE
t1
;
replace_result
x1
xx
x2
xx
;
...
...
@@ -37,4 +40,11 @@ while ($1)
}
DROP
TABLE
t1
;
connection
default
;
disconnect
con1
;
disconnect
con2
;
# End of 4.1 tests
# Wait till we reached the initial number of concurrent sessions
--
source
include
/
wait_until_count_sessions
.
inc
mysql-test/t/timezone_grant.test
View file @
32bef0bc
# Embedded server testing does not support grants
--
source
include
/
not_embedded
.
inc
# Save the initial number of concurrent sessions
--
source
include
/
count_sessions
.
inc
--
disable_warnings
drop
tables
if
exists
t1
,
t2
;
drop
view
if
exists
v1
;
--
enable_warnings
#
# Test for
bug #6116 "SET time_zone := ... requires access to mysql.time_zone
#
tables". We should allow implicit access to time zone description tables
#
even for
unprivileged users.
# Test for
Bug#6116 SET time_zone := ... requires access to mysql.time_zone tables
#
We should allow implicit access to time zone description tables even for
# unprivileged users.
#
# Let us prepare playground
...
...
@@ -33,15 +36,17 @@ select convert_tz(b, 'Europe/Moscow', 'UTC') from t1;
update
t1
,
t2
set
t1
.
b
=
convert_tz
(
'2004-10-21 19:00:00'
,
'Europe/Moscow'
,
'UTC'
)
where
t1
.
a
=
t2
.
c
and
t2
.
d
=
(
select
max
(
d
)
from
t2
);
# But still these two statements should not work:
--
error
1142
--
error
ER_TABLEACCESS_DENIED_ERROR
select
*
from
mysql
.
time_zone_name
;
--
error
1142
--
error
ER_TABLEACCESS_DENIED_ERROR
select
Name
,
convert_tz
(
'2004-10-21 19:00:00'
,
Name
,
'UTC'
)
from
mysql
.
time_zone_name
;
connection
default
;
disconnect
tzuser
;
#
# Test for bug #6765 "Implicit access to time zone description tables
# requires privileges for them if some table or column level grants
# present"
# Bug#6765 Implicit access to time zone description tables requires privileges
# for them if some table or column level grants present
#
connection
default
;
# Let use some table-level grants instead of db-level
...
...
@@ -61,13 +66,13 @@ select convert_tz(b, 'Europe/Moscow', 'UTC') from t1;
update
t1
,
t2
set
t1
.
b
=
convert_tz
(
'2004-11-30 12:00:00'
,
'Europe/Moscow'
,
'UTC'
)
where
t1
.
a
=
t2
.
c
and
t2
.
d
=
(
select
max
(
d
)
from
t2
);
# Again these two statements should not work (but with different errors):
--
error
1142
--
error
ER_TABLEACCESS_DENIED_ERROR
select
*
from
mysql
.
time_zone_name
;
--
error
1142
--
error
ER_TABLEACCESS_DENIED_ERROR
select
Name
,
convert_tz
(
'2004-11-30 12:00:00'
,
Name
,
'UTC'
)
from
mysql
.
time_zone_name
;
#
# Bug
#9979:
Use of CONVERT_TZ in multiple-table UPDATE causes bogus
# Bug
#9979
Use of CONVERT_TZ in multiple-table UPDATE causes bogus
# privilege error
#
drop
table
t1
,
t2
;
...
...
@@ -80,6 +85,7 @@ update t1 join t2 on (t1.a = t2.a) set t1.b = convert_tz('2005-01-01 10:00','UTC
# Clean-up
connection
default
;
disconnect
tzuser2
;
delete
from
mysql
.
user
where
user
like
'mysqltest\_%'
;
delete
from
mysql
.
db
where
user
like
'mysqltest\_%'
;
delete
from
mysql
.
tables_priv
where
user
like
'mysqltest\_%'
;
...
...
@@ -89,8 +95,7 @@ drop table t1, t2;
# End of 4.1 tests
#
# Additional test for bug #15153: CONVERT_TZ() is not allowed in all
# places in views.
# Additional test for Bug#15153 CONVERT_TZ() is not allowed in all places in views.
#
# Let us check that usage of CONVERT_TZ() function in view does not
# require additional privileges.
...
...
@@ -109,7 +114,11 @@ drop view v1;
--
error
ER_TABLEACCESS_DENIED_ERROR
create
view
v1
as
select
a
,
convert_tz
(
b
,
'UTC'
,
'Europe/Moscow'
)
as
lb
from
t1
,
mysql
.
time_zone
;
connection
default
;
disconnect
tzuser3
;
drop
table
t1
;
drop
user
mysqltest_1
@
localhost
;
# End of 5.0 tests
# Wait till we reached the initial number of concurrent sessions
--
source
include
/
wait_until_count_sessions
.
inc
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment