Skip to content

Commit 22b28cb

Browse files
Dyre TjeldvollDyre Tjeldvoll
authored andcommitted
Merge branch 'mysql-5.7' into mysql-trunk
2 parents 0102b8f + 702898f commit 22b28cb

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

mysql-test/r/symlink.result

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,3 +225,14 @@ t2 CREATE TABLE `t2` (
225225
PRIMARY KEY (`a`)
226226
) ENGINE=MyISAM DEFAULT CHARSET=latin1
227227
drop tables t1, t2;
228+
#
229+
# Test for bug #25514146 DB_NAME IS IGNORED WHEN CREATING TABLE
230+
# WITH DATA DIRECTORY
231+
#
232+
# Make sure we have no current database
233+
CREATE DATABASE x;
234+
USE x;
235+
DROP DATABASE x;
236+
CREATE TABLE test.t1(id INT(11)) ENGINE MYISAM
237+
DATA DIRECTORY "MYSQLTEST_VARDIR/tmp";
238+
DROP TABLE test.t1;

mysql-test/t/symlink.test

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,3 +320,19 @@ drop schema test;
320320
--eval create schema test character set $testdbcs284;
321321
--enable_query_log
322322
########################################
323+
324+
--echo #
325+
--echo # Test for bug #25514146 DB_NAME IS IGNORED WHEN CREATING TABLE
326+
--echo # WITH DATA DIRECTORY
327+
--echo #
328+
329+
--echo # Make sure we have no current database
330+
CREATE DATABASE x;
331+
USE x;
332+
DROP DATABASE x;
333+
334+
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
335+
eval CREATE TABLE test.t1(id INT(11)) ENGINE MYISAM
336+
DATA DIRECTORY "$MYSQLTEST_VARDIR/tmp";
337+
338+
DROP TABLE test.t1;

sql/sql_cmd_ddl_table.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ bool Sql_cmd_create_table::execute(THD *thd)
8484

8585
if (((lex->create_info->used_fields & HA_CREATE_USED_DATADIR) != 0 ||
8686
(lex->create_info->used_fields & HA_CREATE_USED_INDEXDIR) != 0) &&
87-
check_access(thd, FILE_ACL, NULL, NULL, NULL, FALSE, FALSE))
87+
check_access(thd, FILE_ACL, any_db, NULL, NULL, FALSE, FALSE))
8888
{
8989
my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "FILE");
9090
return true;
@@ -150,7 +150,7 @@ bool Sql_cmd_create_table::execute(THD *thd)
150150
{
151151
partition_info *part_info= thd->lex->part_info;
152152
if (part_info != NULL && has_external_data_or_index_dir(*part_info) &&
153-
check_access(thd, FILE_ACL, NULL, NULL, NULL, FALSE, FALSE))
153+
check_access(thd, FILE_ACL, any_db, NULL, NULL, FALSE, FALSE))
154154
{
155155
return true;
156156
}

0 commit comments

Comments
 (0)