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
a3bc9cd1
Commit
a3bc9cd1
authored
Oct 23, 2007
by
ramil/ram@ramil.myoffice.izhnet.ru
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/ram/work/mysql-5.1-maint
into mysql.com:/home/ram/work/b31604/b31604.5.1
parents
5a42bb96
8d589be3
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
50 additions
and
6 deletions
+50
-6
mysql-test/r/log_state.result
mysql-test/r/log_state.result
+13
-0
mysql-test/t/log_state.test
mysql-test/t/log_state.test
+20
-0
sql/set_var.cc
sql/set_var.cc
+17
-6
No files found.
mysql-test/r/log_state.result
View file @
a3bc9cd1
...
...
@@ -175,3 +175,16 @@ SET GLOBAL slow_query_log = ON;
SET GLOBAL READ_ONLY = OFF;
SET GLOBAL general_log = @old_general_log_state;
SET GLOBAL slow_query_log = @old_slow_log_state;
set @old_general_log_file= @@global.general_log_file;
set @old_slow_query_log_file= @@global.slow_query_log_file;
set global general_log_file= concat('/not exiting path/log.maste', 'r');
ERROR 42000: Variable 'general_log_file' can't be set to the value of '/not exiting path/log.master'
set global general_log_file= NULL;
ERROR 42000: Variable 'general_log_file' can't be set to the value of 'NULL'
set global slow_query_log_file= concat('/not exiting path/log.maste', 'r');
ERROR 42000: Variable 'slow_query_log_file' can't be set to the value of '/not exiting path/log.master'
set global slow_query_log_file= NULL;
ERROR 42000: Variable 'slow_query_log_file' can't be set to the value of 'NULL'
set global general_log_file= @old_general_log_file;
set global slow_query_log_file= @old_slow_query_log_file;
End of 5.1 tests
mysql-test/t/log_state.test
View file @
a3bc9cd1
...
...
@@ -189,3 +189,23 @@ disconnect con1;
# Remove the log files that was created in the "default location"
# i.e var/run
--
remove_file
$MYSQLTEST_VARDIR
/
run
/
master
.
log
#
# Bug #31604: server crash when setting slow_query_log_file/general_log_file
#
set
@
old_general_log_file
=
@@
global
.
general_log_file
;
set
@
old_slow_query_log_file
=
@@
global
.
slow_query_log_file
;
--
error
1231
set
global
general_log_file
=
concat
(
'/not exiting path/log.maste'
,
'r'
);
--
error
1231
set
global
general_log_file
=
NULL
;
--
error
1231
set
global
slow_query_log_file
=
concat
(
'/not exiting path/log.maste'
,
'r'
);
--
error
1231
set
global
slow_query_log_file
=
NULL
;
set
global
general_log_file
=
@
old_general_log_file
;
set
global
slow_query_log_file
=
@
old_slow_query_log_file
;
--
echo
End
of
5.1
tests
sql/set_var.cc
View file @
a3bc9cd1
...
...
@@ -2102,18 +2102,24 @@ void sys_var_log_state::set_default(THD *thd, enum_var_type type)
static
int
sys_check_log_path
(
THD
*
thd
,
set_var
*
var
)
{
char
path
[
FN_REFLEN
];
char
path
[
FN_REFLEN
]
,
buff
[
FN_REFLEN
]
;
MY_STAT
f_stat
;
const
char
*
var_path
=
var
->
value
->
str_value
.
ptr
();
String
str
(
buff
,
sizeof
(
buff
),
system_charset_info
),
*
res
;
const
char
*
log_file_str
;
if
(
!
(
res
=
var
->
value
->
val_str
(
&
str
)))
goto
err
;
log_file_str
=
res
->
c_ptr
();
bzero
(
&
f_stat
,
sizeof
(
MY_STAT
));
(
void
)
unpack_filename
(
path
,
var_path
);
(
void
)
unpack_filename
(
path
,
log_file_str
);
if
(
my_stat
(
path
,
&
f_stat
,
MYF
(
0
)))
{
/* Check if argument is a file and we have 'write' permission */
if
(
!
MY_S_ISREG
(
f_stat
.
st_mode
)
||
!
(
f_stat
.
st_mode
&
MY_S_IWRITE
))
return
-
1
;
goto
err
;
}
else
{
...
...
@@ -2122,11 +2128,16 @@ static int sys_check_log_path(THD *thd, set_var *var)
Check if directory exists and
we have permission to create file & write to file
*/
(
void
)
dirname_part
(
path
,
var_path
,
&
path_length
);
(
void
)
dirname_part
(
path
,
log_file_str
,
&
path_length
);
if
(
my_access
(
path
,
(
F_OK
|
W_OK
)))
return
-
1
;
goto
err
;
}
return
0
;
err:
my_error
(
ER_WRONG_VALUE_FOR_VAR
,
MYF
(
0
),
var
->
var
->
name
,
res
?
log_file_str
:
"NULL"
);
return
1
;
}
...
...
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