mariadb/mysql-test/main/check.result
Sergei Golubchik df9a1cfa46 MDEV-37971 CHECK TABLE command can be executed by users with the table-level CREATE but not with global CREATE
CHECK TABLE was inconsistently requiring SELECT privilege on global/db level
or any privilege on the table/column level.

Change to require any table-applicable privilege on any level.
2025-12-03 18:30:23 +01:00

73 lines
2.1 KiB
Text

connect con1,localhost,root,,;
connect con2,localhost,root,,;
connection con1;
create table t1(n int not null, key(n), key(n), key(n), key(n));
Warnings:
Note 1831 Duplicate index `n_2`. This is deprecated and will be disallowed in a future release
Note 1831 Duplicate index `n_3`. This is deprecated and will be disallowed in a future release
Note 1831 Duplicate index `n_4`. This is deprecated and will be disallowed in a future release
check table t1 extended;
connection con2;
insert into t1 values (200000);
connection con1;
Table Op Msg_type Msg_text
test.t1 check status OK
connection default;
disconnect con1;
disconnect con2;
drop table t1;
Create table t1(f1 int);
Create table t2(f1 int);
Create view v1 as Select * from t1;
Check Table v1,t2;
Table Op Msg_type Msg_text
test.v1 check status OK
test.t2 check status OK
drop view v1;
drop table t1, t2;
CREATE TEMPORARY TABLE t1(a INT);
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
REPAIR TABLE t1;
Table Op Msg_type Msg_text
test.t1 repair status OK
DROP TABLE t1;
#
# Bug#56422 CHECK TABLE run when the table is locked reports corruption
# along with timeout
#
CREATE TABLE t1(a INT);
LOCK TABLE t1 WRITE;
connect con1, localhost, root;
SET lock_wait_timeout= 1;
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check Error Lock wait timeout exceeded; try restarting transaction
test.t1 check status Operation failed
connection default;
UNLOCK TABLES;
DROP TABLE t1;
disconnect con1;
#
# MDEV-37971 CHECK TABLE command can be executed by users with the table-level CREATE but not with global CREATE
#
create table t1 (a int);
create user table_level_priv;
create user global_level_priv;
grant create on *.* to global_level_priv;
grant create on test.t1 to table_level_priv;
connect g,localhost,global_level_priv;
check table test.t1;
Table Op Msg_type Msg_text
test.t1 check status OK
connect t,localhost,table_level_priv;
check table test.t1;
Table Op Msg_type Msg_text
test.t1 check status OK
disconnect g;
disconnect t;
connection default;
drop table t1;
drop user table_level_priv, global_level_priv;
# End of 10.11 tests