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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
4c0dd2a7
Commit
4c0dd2a7
authored
Feb 09, 2009
by
Matthias Leich
Browse files
Options
Browse Files
Download
Plain Diff
Merge of ifx into GCA tree
no conflicts
parents
6c6fc097
41e6a1f8
Changes
22
Expand all
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 @
4c0dd2a7
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 @
4c0dd2a7
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 @
4c0dd2a7
...
...
@@ -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 @
4c0dd2a7
mysql-test/r/multi_update.result
View file @
4c0dd2a7
mysql-test/r/packet.result
View file @
4c0dd2a7
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 @
4c0dd2a7
...
...
@@ -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 @
4c0dd2a7
...
...
@@ -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 @
4c0dd2a7
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 @
4c0dd2a7
# 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 @
4c0dd2a7
# 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 @
4c0dd2a7
...
...
@@ -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 @
4c0dd2a7
This diff is collapsed.
Click to expand it.
mysql-test/t/information_schema.test
View file @
4c0dd2a7
This diff is collapsed.
Click to expand it.
mysql-test/t/multi_update.test
View file @
4c0dd2a7
...
...
@@ -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 @
4c0dd2a7
# 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 @
4c0dd2a7
...
...
@@ -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 @
4c0dd2a7
--
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 @
4c0dd2a7
...
...
@@ -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 @
4c0dd2a7
This diff is collapsed.
Click to expand it.
mysql-test/t/synchronization.test
View file @
4c0dd2a7
# 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 @
4c0dd2a7
# 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