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
45c78260
Commit
45c78260
authored
Dec 07, 2007
by
tsmith@ramayana.hindu.god
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move the test case for bug #20901 from create.test to grant.test, so
testing embedded server works correctly.
parent
ac811ce4
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
117 additions
and
114 deletions
+117
-114
mysql-test/r/create.result
mysql-test/r/create.result
+0
-38
mysql-test/r/grant.result
mysql-test/r/grant.result
+39
-0
mysql-test/t/create.test
mysql-test/t/create.test
+0
-76
mysql-test/t/grant.test
mysql-test/t/grant.test
+78
-0
No files found.
mysql-test/r/create.result
View file @
45c78260
...
...
@@ -763,44 +763,6 @@ t2 CREATE TABLE `t2` (
drop table t1, t2;
create table t1(a set("a,b","c,d") not null);
ERROR 22007: Illegal set 'a,b' value found during parsing
create database mysqltest;
use mysqltest;
grant create on mysqltest.* to mysqltest@localhost;
create table t1 (i INT);
insert into t1 values (1);
ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't1'
create table t2 (i INT);
create table t4 (i INT);
grant select, insert on mysqltest.t2 to mysqltest@localhost;
grant insert on mysqltest.t4 to mysqltest@localhost;
grant create, insert on mysqltest.t5 to mysqltest@localhost;
grant create, insert on mysqltest.t6 to mysqltest@localhost;
flush privileges;
insert into t2 values (1);
create table if not exists t1 select * from t2;
ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't1'
create table if not exists t3 select * from t2;
ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't3'
create table if not exists t4 select * from t2;
Warnings:
Note 1050 Table 't4' already exists
create table if not exists t5 select * from t2;
create table t6 select * from t2;
create table t7 select * from t2;
ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't7'
create table t4 select * from t2;
ERROR 42S01: Table 't4' already exists
create table t1 select * from t2;
ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't1'
drop table t1,t2,t4,t5,t6;
revoke create on mysqltest.* from mysqltest@localhost;
revoke select, insert on mysqltest.t2 from mysqltest@localhost;
revoke insert on mysqltest.t4 from mysqltest@localhost;
revoke create, insert on mysqltest.t5 from mysqltest@localhost;
revoke create, insert on mysqltest.t6 from mysqltest@localhost;
flush privileges;
drop database mysqltest;
use test;
create table t1 (i int) engine=myisam max_rows=100000000000;
show create table t1;
Table Create Table
...
...
mysql-test/r/grant.result
View file @
45c78260
...
...
@@ -1226,3 +1226,42 @@ drop user юзер_юзер@localhost;
grant select on test.* to очень_длинный_юзер@localhost;
ERROR HY000: String 'очень_длинный_юзер' is too long for user name (should be no longer than 16)
set names default;
create database mysqltest;
use mysqltest;
grant create on mysqltest.* to mysqltest@localhost;
create table t1 (i INT);
insert into t1 values (1);
ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't1'
create table t2 (i INT);
create table t4 (i INT);
grant select, insert on mysqltest.t2 to mysqltest@localhost;
grant insert on mysqltest.t4 to mysqltest@localhost;
grant create, insert on mysqltest.t5 to mysqltest@localhost;
grant create, insert on mysqltest.t6 to mysqltest@localhost;
flush privileges;
insert into t2 values (1);
create table if not exists t1 select * from t2;
ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't1'
create table if not exists t3 select * from t2;
ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't3'
create table if not exists t4 select * from t2;
Warnings:
Note 1050 Table 't4' already exists
create table if not exists t5 select * from t2;
create table t6 select * from t2;
create table t7 select * from t2;
ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't7'
create table t4 select * from t2;
ERROR 42S01: Table 't4' already exists
create table t1 select * from t2;
ERROR 42000: INSERT command denied to user 'mysqltest'@'localhost' for table 't1'
drop table t1,t2,t4,t5,t6;
revoke create on mysqltest.* from mysqltest@localhost;
revoke select, insert on mysqltest.t2 from mysqltest@localhost;
revoke insert on mysqltest.t4 from mysqltest@localhost;
revoke create, insert on mysqltest.t5 from mysqltest@localhost;
revoke create, insert on mysqltest.t6 from mysqltest@localhost;
drop user mysqltest@localhost;
drop database mysqltest;
use test;
End of 5.1 tests
mysql-test/t/create.test
View file @
45c78260
...
...
@@ -658,82 +658,6 @@ drop table t1, t2;
--
error
1367
create
table
t1
(
a
set
(
"a,b"
,
"c,d"
)
not
null
);
#
# Bug #20901 - CREATE privilege is enough to insert into a table
#
create
database
mysqltest
;
use
mysqltest
;
grant
create
on
mysqltest
.*
to
mysqltest
@
localhost
;
create
table
t1
(
i
INT
);
connect
(
user1
,
localhost
,
mysqltest
,,
mysqltest
);
connection
user1
;
# show we don't have INSERT
--
error
1142
insert
into
t1
values
(
1
);
# show we have CREATE
create
table
t2
(
i
INT
);
create
table
t4
(
i
INT
);
connection
default
;
grant
select
,
insert
on
mysqltest
.
t2
to
mysqltest
@
localhost
;
grant
insert
on
mysqltest
.
t4
to
mysqltest
@
localhost
;
# to specify ACLs for non-existent objects, must explictly |CREATE
grant
create
,
insert
on
mysqltest
.
t5
to
mysqltest
@
localhost
;
grant
create
,
insert
on
mysqltest
.
t6
to
mysqltest
@
localhost
;
flush
privileges
;
connection
user1
;
insert
into
t2
values
(
1
);
# CREATE IF NOT EXISTS...SELECT, t1 exists, no INSERT, must fail
--
error
1142
create
table
if
not
exists
t1
select
*
from
t2
;
# CREATE IF NOT EXISTS...SELECT, no t3 yet, no INSERT, must fail
--
error
1142
create
table
if
not
exists
t3
select
*
from
t2
;
# CREATE IF NOT EXISTS...SELECT, t4 exists, have INSERT, must succeed
create
table
if
not
exists
t4
select
*
from
t2
;
# CREATE IF NOT EXISTS...SELECT, no t5 yet, have INSERT, must succeed
create
table
if
not
exists
t5
select
*
from
t2
;
# CREATE...SELECT, no t6 yet, have INSERT, must succeed
create
table
t6
select
*
from
t2
;
# CREATE...SELECT, no t7 yet, no INSERT, must fail
--
error
1142
create
table
t7
select
*
from
t2
;
# CREATE...SELECT, t4 exists, have INSERT, must still fail (exists)
--
error
1050
create
table
t4
select
*
from
t2
;
# CREATE...SELECT, t1 exists, no INSERT, must fail
--
error
1142
create
table
t1
select
*
from
t2
;
connection
default
;
drop
table
t1
,
t2
,
t4
,
t5
,
t6
;
revoke
create
on
mysqltest
.*
from
mysqltest
@
localhost
;
revoke
select
,
insert
on
mysqltest
.
t2
from
mysqltest
@
localhost
;
revoke
insert
on
mysqltest
.
t4
from
mysqltest
@
localhost
;
revoke
create
,
insert
on
mysqltest
.
t5
from
mysqltest
@
localhost
;
revoke
create
,
insert
on
mysqltest
.
t6
from
mysqltest
@
localhost
;
flush
privileges
;
disconnect
user1
;
drop
database
mysqltest
;
use
test
;
# End of 4.1 tests
...
...
mysql-test/t/grant.test
View file @
45c78260
...
...
@@ -1277,3 +1277,81 @@ drop user юзер_юзер@localhost;
--
error
ER_WRONG_STRING_LENGTH
grant
select
on
test
.*
to
очень_длинный_юзер
@
localhost
;
set
names
default
;
#
# Bug #20901 - CREATE privilege is enough to insert into a table
#
create
database
mysqltest
;
use
mysqltest
;
grant
create
on
mysqltest
.*
to
mysqltest
@
localhost
;
create
table
t1
(
i
INT
);
connect
(
user1
,
localhost
,
mysqltest
,,
mysqltest
);
connection
user1
;
# show we don't have INSERT
--
error
1142
insert
into
t1
values
(
1
);
# show we have CREATE
create
table
t2
(
i
INT
);
create
table
t4
(
i
INT
);
connection
default
;
grant
select
,
insert
on
mysqltest
.
t2
to
mysqltest
@
localhost
;
grant
insert
on
mysqltest
.
t4
to
mysqltest
@
localhost
;
# to specify ACLs for non-existent objects, must explictly |CREATE
grant
create
,
insert
on
mysqltest
.
t5
to
mysqltest
@
localhost
;
grant
create
,
insert
on
mysqltest
.
t6
to
mysqltest
@
localhost
;
flush
privileges
;
connection
user1
;
insert
into
t2
values
(
1
);
# CREATE IF NOT EXISTS...SELECT, t1 exists, no INSERT, must fail
--
error
1142
create
table
if
not
exists
t1
select
*
from
t2
;
# CREATE IF NOT EXISTS...SELECT, no t3 yet, no INSERT, must fail
--
error
1142
create
table
if
not
exists
t3
select
*
from
t2
;
# CREATE IF NOT EXISTS...SELECT, t4 exists, have INSERT, must succeed
create
table
if
not
exists
t4
select
*
from
t2
;
# CREATE IF NOT EXISTS...SELECT, no t5 yet, have INSERT, must succeed
create
table
if
not
exists
t5
select
*
from
t2
;
# CREATE...SELECT, no t6 yet, have INSERT, must succeed
create
table
t6
select
*
from
t2
;
# CREATE...SELECT, no t7 yet, no INSERT, must fail
--
error
1142
create
table
t7
select
*
from
t2
;
# CREATE...SELECT, t4 exists, have INSERT, must still fail (exists)
--
error
1050
create
table
t4
select
*
from
t2
;
# CREATE...SELECT, t1 exists, no INSERT, must fail
--
error
1142
create
table
t1
select
*
from
t2
;
connection
default
;
drop
table
t1
,
t2
,
t4
,
t5
,
t6
;
revoke
create
on
mysqltest
.*
from
mysqltest
@
localhost
;
revoke
select
,
insert
on
mysqltest
.
t2
from
mysqltest
@
localhost
;
revoke
insert
on
mysqltest
.
t4
from
mysqltest
@
localhost
;
revoke
create
,
insert
on
mysqltest
.
t5
from
mysqltest
@
localhost
;
revoke
create
,
insert
on
mysqltest
.
t6
from
mysqltest
@
localhost
;
drop
user
mysqltest
@
localhost
;
disconnect
user1
;
drop
database
mysqltest
;
use
test
;
--
echo
End
of
5.1
tests
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