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
c0458bb3
Commit
c0458bb3
authored
Sep 07, 2004
by
hf@deer.(none)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
A set of mysql_home_path-related fixes
parent
ea5fd2b4
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
31 additions
and
14 deletions
+31
-14
mysys/mf_format.c
mysys/mf_format.c
+1
-1
sql/item_strfunc.cc
sql/item_strfunc.cc
+12
-3
sql/sql_class.cc
sql/sql_class.cc
+9
-2
sql/sql_load.cc
sql/sql_load.cc
+6
-7
sql/sql_table.cc
sql/sql_table.cc
+3
-1
No files found.
mysys/mf_format.c
View file @
c0458bb3
...
...
@@ -42,7 +42,7 @@ my_string fn_format(my_string to, const char *name, const char *dir,
/* Use given directory */
convert_dirname
(
dev
,
dir
,
NullS
);
/* Fix to this OS */
}
else
if
((
flag
&
MY_RELATIVE_PATH
)
&&
!
test_if_hard_path
(
name
))
else
if
((
flag
&
MY_RELATIVE_PATH
)
&&
!
test_if_hard_path
(
dev
))
{
/* Put 'dir' before the given path */
strmake
(
buff
,
dev
,
sizeof
(
buff
)
-
1
);
...
...
sql/item_strfunc.cc
View file @
c0458bb3
...
...
@@ -2412,14 +2412,23 @@ String *Item_load_file::val_str(String *str)
String
*
file_name
;
File
file
;
MY_STAT
stat_info
;
char
path
[
FN_REFLEN
];
DBUG_ENTER
(
"load_file"
);
if
(
!
(
file_name
=
args
[
0
]
->
val_str
(
str
))
||
if
(
!
(
file_name
=
args
[
0
]
->
val_str
(
str
))
#ifndef NO_EMBEDDED_ACCESS_CHECKS
!
(
current_thd
->
master_access
&
FILE_ACL
)
||
||
!
(
current_thd
->
master_access
&
FILE_ACL
)
#endif
!
my_stat
(
file_name
->
c_ptr
(),
&
stat_info
,
MYF
(
MY_WME
))
)
)
goto
err
;
(
void
)
fn_format
(
path
,
file_name
->
c_ptr
(),
mysql_real_data_home
,
""
,
MY_RELATIVE_PATH
);
unpack_filename
(
path
,
path
);
/* Convert to system format */
if
(
!
my_stat
(
path
,
&
stat_info
,
MYF
(
MY_WME
)))
goto
err
;
if
(
!
(
stat_info
.
st_mode
&
S_IROTH
))
{
/* my_error(ER_TEXTFILE_NOT_READABLE, MYF(0), file_name->c_ptr()); */
...
...
sql/sql_class.cc
View file @
c0458bb3
...
...
@@ -891,8 +891,15 @@ static File create_file(THD *thd, char *path, sql_exchange *exchange,
option
|=
MY_REPLACE_DIR
;
// Force use of db directory
#endif
strxnmov
(
path
,
FN_REFLEN
,
mysql_real_data_home
,
thd
->
db
?
thd
->
db
:
""
);
(
void
)
fn_format
(
path
,
exchange
->
file_name
,
path
,
""
,
option
);
if
(
!
dirname_length
(
path
))
{
strxnmov
(
path
,
FN_REFLEN
,
mysql_real_data_home
,
thd
->
db
?
thd
->
db
:
""
,
NullS
);
(
void
)
fn_format
(
path
,
exchange
->
file_name
,
path
,
""
,
option
);
}
else
(
void
)
fn_format
(
path
,
exchange
->
file_name
,
mysql_real_data_home
,
""
,
option
);
if
(
!
access
(
path
,
F_OK
))
{
my_error
(
ER_FILE_EXISTS_ERROR
,
MYF
(
0
),
exchange
->
file_name
);
...
...
sql/sql_load.cc
View file @
c0458bb3
...
...
@@ -179,17 +179,16 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
#ifdef DONT_ALLOW_FULL_LOAD_DATA_PATHS
ex
->
file_name
+=
dirname_length
(
ex
->
file_name
);
#endif
if
(
!
dirname_length
(
ex
->
file_name
)
&&
strlen
(
ex
->
file_name
)
+
strlen
(
mysql_real_data_home
)
+
strlen
(
tdb
)
+
3
<
FN_REFLEN
)
if
(
!
dirname_length
(
ex
->
file_name
))
{
(
void
)
sprintf
(
name
,
"%s/%s/%s"
,
mysql_data_home
,
tdb
,
ex
->
file_name
);
unpack_filename
(
name
,
name
);
/* Convert to system format */
strxnmov
(
name
,
FN_REFLEN
,
mysql_real_data_home
,
tdb
,
NullS
);
(
void
)
fn_format
(
name
,
ex
->
file_name
,
name
,
""
,
MY_RELATIVE_PATH
);
unpack_filename
(
name
,
name
);
}
else
{
my_load_path
(
name
,
ex
->
file_name
,
mysql_real_data_home
);
unpack_filename
(
name
,
name
);
(
void
)
fn_format
(
name
,
ex
->
file_name
,
mysql_real_data_home
,
""
,
MY_RELATIVE_PATH
);
unpack_filename
(
name
,
name
);
#if !defined(__WIN__) && !defined(OS2) && ! defined(__NETWARE__)
MY_STAT
stat_info
;
if
(
!
my_stat
(
name
,
&
stat_info
,
MYF
(
MY_WME
)))
...
...
sql/sql_table.cc
View file @
c0458bb3
...
...
@@ -2602,7 +2602,9 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
}
else
{
if
(
!
access
(
fn_format
(
new_name_buff
,
new_name_buff
,
new_db
,
reg_ext
,
0
),
char
dir_buff
[
FN_REFLEN
];
strxnmov
(
dir_buff
,
FN_REFLEN
,
mysql_real_data_home
,
new_db
,
NullS
);
if
(
!
access
(
fn_format
(
new_name_buff
,
new_name_buff
,
dir_buff
,
reg_ext
,
0
),
F_OK
))
{
/* Table will be closed in do_command() */
...
...
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