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
0ecea73c
Commit
0ecea73c
authored
Jun 14, 2006
by
tomas@poseidon.ndb.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
parents
2f6a4ad3
0a141d6d
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
111 additions
and
62 deletions
+111
-62
mysql-test/r/information_schema.result
mysql-test/r/information_schema.result
+37
-24
mysql-test/r/lowercase_table2.result
mysql-test/r/lowercase_table2.result
+9
-0
mysql-test/t/information_schema.test
mysql-test/t/information_schema.test
+48
-35
mysql-test/t/lowercase_table2.test
mysql-test/t/lowercase_table2.test
+11
-0
sql/item_strfunc.h
sql/item_strfunc.h
+1
-0
sql/sql_show.cc
sql/sql_show.cc
+5
-3
No files found.
mysql-test/r/information_schema.result
View file @
0ecea73c
...
...
@@ -912,58 +912,62 @@ grant select (f1) on mysqltest.t1 to user1@localhost;
grant select on mysqltest.t2 to user2@localhost;
grant select on mysqltest.* to user3@localhost;
grant select on *.* to user4@localhost;
select * from information_schema.column_privileges;
select * from information_schema.column_privileges
order by grantee
;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
'user1'@'localhost' NULL mysqltest t1 f1 SELECT NO
select * from information_schema.table_privileges;
select * from information_schema.table_privileges
order by grantee
;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
select * from information_schema.schema_privileges;
select * from information_schema.schema_privileges
order by grantee
;
GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
select * from information_schema.user_privileges;
select * from information_schema.user_privileges
order by grantee
;
GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
'user1'@'localhost' NULL USAGE NO
show grants;
Grants for user1@localhost
GRANT USAGE ON *.* TO 'user1'@'localhost'
GRANT SELECT (f1) ON `mysqltest`.`t1` TO 'user1'@'localhost'
select * from information_schema.column_privileges;
select * from information_schema.column_privileges
order by grantee
;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
select * from information_schema.table_privileges;
select * from information_schema.table_privileges
order by grantee
;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
'user2'@'localhost' NULL mysqltest t2 SELECT NO
select * from information_schema.schema_privileges;
select * from information_schema.schema_privileges
order by grantee
;
GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
select * from information_schema.user_privileges;
select * from information_schema.user_privileges
order by grantee
;
GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
'user2'@'localhost' NULL USAGE NO
show grants;
Grants for user2@localhost
GRANT USAGE ON *.* TO 'user2'@'localhost'
GRANT SELECT ON `mysqltest`.`t2` TO 'user2'@'localhost'
select * from information_schema.column_privileges;
select * from information_schema.column_privileges
order by grantee
;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
select * from information_schema.table_privileges;
select * from information_schema.table_privileges
order by grantee
;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
select * from information_schema.schema_privileges;
select * from information_schema.schema_privileges
order by grantee
;
GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
'user3'@'localhost' NULL mysqltest SELECT NO
select * from information_schema.user_privileges;
select * from information_schema.user_privileges
order by grantee
;
GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
'user3'@'localhost' NULL USAGE NO
show grants;
Grants for user3@localhost
GRANT USAGE ON *.* TO 'user3'@'localhost'
GRANT SELECT ON `mysqltest`.* TO 'user3'@'localhost'
select * from information_schema.column_privileges where grantee like '%user%';
select * from information_schema.column_privileges where grantee like '%user%'
order by grantee;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE
'user1'@'localhost' NULL mysqltest t1 f1 SELECT NO
select * from information_schema.table_privileges where grantee like '%user%';
select * from information_schema.table_privileges where grantee like '%user%'
order by grantee;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
'user2'@'localhost' NULL mysqltest t2 SELECT NO
select * from information_schema.schema_privileges where grantee like '%user%';
select * from information_schema.schema_privileges where grantee like '%user%'
order by grantee;
GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
'user3'@'localhost' NULL mysqltest SELECT NO
select * from information_schema.user_privileges where grantee like '%user%';
select * from information_schema.user_privileges where grantee like '%user%'
order by grantee;
GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
'user1'@'localhost' NULL USAGE NO
'user2'@'localhost' NULL USAGE NO
...
...
@@ -1154,14 +1158,6 @@ routine_name
delete from proc where name='';
use test;
select * from information_schema.engines WHERE ENGINE="MyISAM";
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
MyISAM ENABLED Default engine as of MySQL 3.23 with great performance NO NO NO
grant select on *.* to user3148@localhost;
select user,db from information_schema.processlist;
user db
user3148 test
drop user user3148@localhost;
grant select on test.* to mysqltest_1@localhost;
create table t1 (id int);
create view v1 as select * from t1;
...
...
@@ -1175,3 +1171,20 @@ NULL test v2 select 1 AS `1` NONE NO mysqltest_1@localhost DEFINER
drop view v1, v2;
drop table t1;
drop user mysqltest_1@localhost;
set @a:= '.';
create table t1(f1 char(5));
create table t2(f1 char(5));
select concat(@a, table_name), @a, table_name
from information_schema.tables where table_schema = 'test';
concat(@a, table_name) @a table_name
.t1 . t1
.t2 . t2
drop table t1,t2;
select * from information_schema.engines WHERE ENGINE="MyISAM";
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
MyISAM ENABLED Default engine as of MySQL 3.23 with great performance NO NO NO
grant select on *.* to user3148@localhost;
select user,db from information_schema.processlist;
user db
user3148 test
drop user user3148@localhost;
mysql-test/r/lowercase_table2.result
View file @
0ecea73c
...
...
@@ -165,3 +165,12 @@ create table t1Aa (col1 int);
select t1Aa.col1 from t1aA,t2Aa where t1Aa.col1 = t2aA.col1;
col1
drop table t2aA, t1Aa;
create database mysqltest_LC2;
use mysqltest_LC2;
create table myUC (i int);
select TABLE_SCHEMA,TABLE_NAME FROM information_schema.TABLES
where TABLE_SCHEMA ='mysqltest_LC2';
TABLE_SCHEMA TABLE_NAME
mysqltest_LC2 myUC
use test;
drop database mysqltest_LC2;
mysql-test/t/information_schema.test
View file @
0ecea73c
...
...
@@ -580,28 +580,32 @@ connect (con2,localhost,user2,,mysqltest);
connect
(
con3
,
localhost
,
user3
,,
mysqltest
);
connect
(
con4
,
localhost
,
user4
,,);
connection
con1
;
select
*
from
information_schema
.
column_privileges
;
select
*
from
information_schema
.
table_privileges
;
select
*
from
information_schema
.
schema_privileges
;
select
*
from
information_schema
.
user_privileges
;
select
*
from
information_schema
.
column_privileges
order
by
grantee
;
select
*
from
information_schema
.
table_privileges
order
by
grantee
;
select
*
from
information_schema
.
schema_privileges
order
by
grantee
;
select
*
from
information_schema
.
user_privileges
order
by
grantee
;
show
grants
;
connection
con2
;
select
*
from
information_schema
.
column_privileges
;
select
*
from
information_schema
.
table_privileges
;
select
*
from
information_schema
.
schema_privileges
;
select
*
from
information_schema
.
user_privileges
;
select
*
from
information_schema
.
column_privileges
order
by
grantee
;
select
*
from
information_schema
.
table_privileges
order
by
grantee
;
select
*
from
information_schema
.
schema_privileges
order
by
grantee
;
select
*
from
information_schema
.
user_privileges
order
by
grantee
;
show
grants
;
connection
con3
;
select
*
from
information_schema
.
column_privileges
;
select
*
from
information_schema
.
table_privileges
;
select
*
from
information_schema
.
schema_privileges
;
select
*
from
information_schema
.
user_privileges
;
select
*
from
information_schema
.
column_privileges
order
by
grantee
;
select
*
from
information_schema
.
table_privileges
order
by
grantee
;
select
*
from
information_schema
.
schema_privileges
order
by
grantee
;
select
*
from
information_schema
.
user_privileges
order
by
grantee
;
show
grants
;
connection
con4
;
select
*
from
information_schema
.
column_privileges
where
grantee
like
'%user%'
;
select
*
from
information_schema
.
table_privileges
where
grantee
like
'%user%'
;
select
*
from
information_schema
.
schema_privileges
where
grantee
like
'%user%'
;
select
*
from
information_schema
.
user_privileges
where
grantee
like
'%user%'
;
select
*
from
information_schema
.
column_privileges
where
grantee
like
'%user%'
order
by
grantee
;
select
*
from
information_schema
.
table_privileges
where
grantee
like
'%user%'
order
by
grantee
;
select
*
from
information_schema
.
schema_privileges
where
grantee
like
'%user%'
order
by
grantee
;
select
*
from
information_schema
.
user_privileges
where
grantee
like
'%user%'
order
by
grantee
;
show
grants
;
connection
default
;
drop
user
user1
@
localhost
,
user2
@
localhost
,
user3
@
localhost
,
user4
@
localhost
;
...
...
@@ -824,25 +828,6 @@ select routine_name from information_schema.routines;
delete
from
proc
where
name
=
''
;
use
test
;
#
# End of 5.0 tests.
#
# Show engines
#
select
*
from
information_schema
.
engines
WHERE
ENGINE
=
"MyISAM"
;
#
# INFORMATION_SCHEMA.PROCESSLIST
#
grant
select
on
*.*
to
user3148
@
localhost
;
connect
(
con3148
,
localhost
,
user3148
,,
test
);
connection
con3148
;
select
user
,
db
from
information_schema
.
processlist
;
connection
default
;
drop
user
user3148
@
localhost
;
#
# Bug#16681 information_schema shows forbidden VIEW details
#
...
...
@@ -862,3 +847,31 @@ drop view v1, v2;
drop
table
t1
;
drop
user
mysqltest_1
@
localhost
;
#
# Bug#19599 duplication of information_schema column value in a CONCAT expr with user var
#
set
@
a
:=
'.'
;
create
table
t1
(
f1
char
(
5
));
create
table
t2
(
f1
char
(
5
));
select
concat
(
@
a
,
table_name
),
@
a
,
table_name
from
information_schema
.
tables
where
table_schema
=
'test'
;
drop
table
t1
,
t2
;
# End of 5.0 tests.
#
# Show engines
#
select
*
from
information_schema
.
engines
WHERE
ENGINE
=
"MyISAM"
;
#
# INFORMATION_SCHEMA.PROCESSLIST
#
grant
select
on
*.*
to
user3148
@
localhost
;
connect
(
con3148
,
localhost
,
user3148
,,
test
);
connection
con3148
;
select
user
,
db
from
information_schema
.
processlist
;
connection
default
;
drop
user
user3148
@
localhost
;
mysql-test/t/lowercase_table2.test
View file @
0ecea73c
...
...
@@ -139,3 +139,14 @@ select t1Aa.col1 from t1aA,t2Aa where t1Aa.col1 = t2aA.col1;
drop
table
t2aA
,
t1Aa
;
# End of 4.1 tests
#
# Bug#17661 information_schema.SCHEMATA returns uppercase with lower_case_table_names = 1
#
create
database
mysqltest_LC2
;
use
mysqltest_LC2
;
create
table
myUC
(
i
int
);
select
TABLE_SCHEMA
,
TABLE_NAME
FROM
information_schema
.
TABLES
where
TABLE_SCHEMA
=
'mysqltest_LC2'
;
use
test
;
drop
database
mysqltest_LC2
;
sql/item_strfunc.h
View file @
0ecea73c
...
...
@@ -691,6 +691,7 @@ class Item_func_conv_charset :public Item_str_func
str
->
charset
(),
conv_charset
,
&
errors
))
null_value
=
1
;
use_cached_value
=
1
;
str_value
.
mark_as_const
();
safe
=
(
errors
==
0
);
}
else
...
...
sql/sql_show.cc
View file @
0ecea73c
...
...
@@ -2394,7 +2394,7 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
ST_SCHEMA_TABLE
*
schema_table
=
tables
->
schema_table
;
SELECT_LEX
sel
;
INDEX_FIELD_VALUES
idx_field_vals
;
char
path
[
FN_REFLEN
],
*
end
,
*
base_name
,
*
file_name
;
char
path
[
FN_REFLEN
],
*
end
,
*
base_name
,
*
orig_base_name
,
*
file_name
;
uint
len
;
bool
with_i_schema
;
enum
enum_schema_tables
schema_table_idx
;
...
...
@@ -2474,7 +2474,7 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
partial_cond
=
make_cond_for_info_schema
(
cond
,
tables
);
it
.
rewind
();
/* To get access to new elements in basis list */
while
((
base_name
=
it
++
)
||
while
((
orig_base_name
=
base_name
=
it
++
)
||
/*
generate error for non existing database.
(to save old behaviour for SHOW TABLES FROM db)
...
...
@@ -2505,6 +2505,8 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
if
(
mysql_find_files
(
thd
,
&
files
,
base_name
,
path
,
idx_field_vals
.
table_value
,
0
))
goto
err
;
if
(
lower_case_table_names
)
orig_base_name
=
thd
->
strdup
(
base_name
);
}
List_iterator_fast
<
char
>
it_files
(
files
);
...
...
@@ -2573,7 +2575,7 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
in this case.
*/
res
=
schema_table
->
process_table
(
thd
,
show_table_list
,
table
,
res
,
base_name
,
res
,
orig_
base_name
,
show_table_list
->
alias
);
close_tables_for_reopen
(
thd
,
&
show_table_list
);
DBUG_ASSERT
(
!
lex
->
query_tables_own_last
);
...
...
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