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
378d977d
Commit
378d977d
authored
Sep 22, 2002
by
monty@mashka.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
Merge with 3.23.53
parents
6aef4237
c4302b0b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
24 additions
and
8 deletions
+24
-8
Docs/manual.texi
Docs/manual.texi
+6
-0
sql/sql_acl.cc
sql/sql_acl.cc
+15
-5
sql/sql_show.cc
sql/sql_show.cc
+1
-1
sql/sql_udf.cc
sql/sql_udf.cc
+1
-1
tests/grant.pl
tests/grant.pl
+1
-1
No files found.
Docs/manual.texi
View file @
378d977d
...
...
@@ -51252,10 +51252,16 @@ not yet 100% confident in this code.
@item
Fixed core dump bug when using the @code{BINARY} cast on a @code{NULL} value.
@item
Fixed race condition when someone did a @code{GRANT} at the same time a new
user logged in or did a @code{USE DATABASE}.
@item
Fixed bug in @code{ALTER TABLE} and @code{RENAME TABLE} when running with
@code{-O lower_case_table_names=1} (typically on windows) when giving the
table name in uppercase.
@item
Fixed that @code{-O lower_case_table_names=1} also converts database
names to lower case.
@item
Fixed unlikely core dump with @code{SELECT ... ORDER BY ... LIMIT}.
@item
Changed @code{AND/OR} to report that they can return NULL. This fixes a
sql/sql_acl.cc
View file @
378d977d
...
...
@@ -2033,6 +2033,7 @@ int mysql_table_grant (THD *thd, TABLE_LIST *table_list,
while
((
Str
=
str_list
++
))
{
int
error
;
GRANT_TABLE
*
grant_table
;
if
(
!
Str
->
host
.
str
)
{
...
...
@@ -2047,8 +2048,11 @@ int mysql_table_grant (THD *thd, TABLE_LIST *table_list,
continue
;
}
/* Create user if needed */
if
(
replace_user_table
(
thd
,
tables
[
0
].
table
,
*
Str
,
0
,
revoke_grant
,
create_new_users
))
pthread_mutex_lock
(
&
acl_cache
->
lock
);
error
=
replace_user_table
(
thd
,
tables
[
0
].
table
,
*
Str
,
0
,
revoke_grant
,
create_new_users
);
pthread_mutex_unlock
(
&
acl_cache
->
lock
);
if
(
error
)
{
result
=
-
1
;
// Remember error
continue
;
// Add next user
...
...
@@ -2064,7 +2068,7 @@ int mysql_table_grant (THD *thd, TABLE_LIST *table_list,
{
my_printf_error
(
ER_NONEXISTING_TABLE_GRANT
,
ER
(
ER_NONEXISTING_TABLE_GRANT
),
MYF
(
0
),
Str
->
user
.
str
,
Str
->
host
.
str
,
table_list
->
alias
);
Str
->
user
.
str
,
Str
->
host
.
str
,
table_list
->
real_name
);
result
=
-
1
;
continue
;
}
...
...
@@ -2593,6 +2597,7 @@ bool check_grant_db(THD *thd,const char *db)
ulong
get_table_grant
(
THD
*
thd
,
TABLE_LIST
*
table
)
{
uint
privilege
;
char
*
user
=
thd
->
priv_user
;
const
char
*
db
=
table
->
db
?
table
->
db
:
thd
->
db
;
GRANT_TABLE
*
grant_table
;
...
...
@@ -2604,8 +2609,9 @@ ulong get_table_grant(THD *thd, TABLE_LIST *table)
table
->
grant
.
version
=
grant_version
;
if
(
grant_table
)
table
->
grant
.
privilege
|=
grant_table
->
privs
;
privilege
=
table
->
grant
.
privilege
;
pthread_mutex_unlock
(
&
LOCK_grant
);
return
table
->
grant
.
privilege
;
return
privilege
;
}
...
...
@@ -2716,6 +2722,7 @@ int mysql_show_grants(THD *thd,LEX_USER *lex_user)
if
(
send_fields
(
thd
,
field_list
,
1
))
DBUG_RETURN
(
-
1
);
pthread_mutex_lock
(
&
LOCK_grant
);
VOID
(
pthread_mutex_lock
(
&
acl_cache
->
lock
));
/* Add first global access grants */
...
...
@@ -2971,13 +2978,16 @@ int mysql_show_grants(THD *thd,LEX_USER *lex_user)
thd
->
packet
.
length
()))
{
error
=-
1
;
goto
end
;
break
;
}
}
}
}
end:
VOID
(
pthread_mutex_unlock
(
&
acl_cache
->
lock
));
pthread_mutex_unlock
(
&
LOCK_grant
);
send_eof
(
&
thd
->
net
);
DBUG_RETURN
(
error
);
}
...
...
sql/sql_show.cc
View file @
378d977d
...
...
@@ -424,7 +424,7 @@ int mysqld_extend_show_tables(THD *thd,const char *db,const char *wild)
/***************************************************************************
** List all columns in a table
** List all columns in a table
_list->real_name
***************************************************************************/
int
...
...
sql/sql_udf.cc
View file @
378d977d
...
...
@@ -141,7 +141,7 @@ void udf_init()
new_thd
->
db_length
=
5
;
bzero
((
gptr
)
&
tables
,
sizeof
(
tables
));
tables
.
alias
=
tables
.
real_name
=
(
char
*
)
"func"
;
tables
.
alias
=
tables
.
real_name
=
(
char
*
)
"func"
;
tables
.
lock_type
=
TL_READ
;
tables
.
db
=
new_thd
->
db
;
...
...
tests/grant.pl
View file @
378d977d
...
...
@@ -304,7 +304,7 @@ safe_query("revoke GRANT OPTION on $opt_database.test from $user",1);
#
safe_query
("
grant select(a) on
$opt_database
.test to
$user
");
user_query
("
show columns from test
");
user_query
("
show
full
columns from test
");
safe_query
("
grant insert (b), update (b) on
$opt_database
.test to
$user
");
user_query
("
select count(a) from test
");
...
...
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