Commit e438f9f2 authored by Mattias Jonsson's avatar Mattias Jonsson

Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'

The problem is that relying on the output of the 'ls' command is not
portable as its behavior is not the same between systems and it might
even not be available at all in (Windows).

So I added list_files that relies on the portable mysys library instead.
(and also list_files_write_file and list_files_append_file,
since the test was using '--exec ls' in that way.)
parent b3a29b42
...@@ -276,7 +276,8 @@ enum enum_commands { ...@@ -276,7 +276,8 @@ enum enum_commands {
Q_REPLACE_REGEX, Q_REMOVE_FILE, Q_FILE_EXIST, Q_REPLACE_REGEX, Q_REMOVE_FILE, Q_FILE_EXIST,
Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_EXIT, Q_SKIP, Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_EXIT, Q_SKIP,
Q_CHMOD_FILE, Q_APPEND_FILE, Q_CAT_FILE, Q_DIFF_FILES, Q_CHMOD_FILE, Q_APPEND_FILE, Q_CAT_FILE, Q_DIFF_FILES,
Q_SEND_QUIT, Q_CHANGE_USER, Q_MKDIR, Q_RMDIR, Q_SEND_QUIT, Q_CHANGE_USER, Q_MKDIR, Q_RMDIR, Q_LIST_FILES,
Q_LIST_FILES_WRITE_FILE, Q_LIST_FILES_APPEND_FILE,
Q_UNKNOWN, /* Unknown command. */ Q_UNKNOWN, /* Unknown command. */
Q_COMMENT, /* Comments, ignored. */ Q_COMMENT, /* Comments, ignored. */
...@@ -368,6 +369,9 @@ const char *command_names[]= ...@@ -368,6 +369,9 @@ const char *command_names[]=
"change_user", "change_user",
"mkdir", "mkdir",
"rmdir", "rmdir",
"list_files",
"list_files_write_file",
"list_files_append_file",
0 0
}; };
...@@ -2836,6 +2840,126 @@ void do_rmdir(struct st_command *command) ...@@ -2836,6 +2840,126 @@ void do_rmdir(struct st_command *command)
} }
/*
SYNOPSIS
get_list_files
ds output
ds_dirname dir to list
ds_wild wild-card file pattern (can be empty)
DESCRIPTION
list all entries in directory (matching ds_wild if given)
*/
static int get_list_files(DYNAMIC_STRING *ds, const DYNAMIC_STRING *ds_dirname,
const DYNAMIC_STRING *ds_wild)
{
uint i;
MY_DIR *dir_info;
FILEINFO *file;
DBUG_ENTER("get_list_files");
DBUG_PRINT("info", ("listing directory: %s", ds_dirname->str));
/* Note that my_dir sorts the list if not given any flags */
if (!(dir_info= my_dir(ds_dirname->str, MYF(0))))
DBUG_RETURN(1);
for (i= 0; i < (uint) dir_info->number_off_files; i++)
{
file= dir_info->dir_entry + i;
if (file->name[0] == '.' &&
(file->name[1] == '\0' ||
(file->name[1] == '.' && file->name[2] == '\0')))
continue; /* . or .. */
if (ds_wild && ds_wild->length &&
wild_compare(file->name, ds_wild->str, 0))
continue;
dynstr_append(ds, file->name);
dynstr_append(ds, "\n");
}
my_dirend(dir_info);
DBUG_RETURN(0);
}
/*
SYNOPSIS
do_list_files
command called command
DESCRIPTION
list_files <dir_name> [<file_name>]
List files and directories in directory <dir_name> (like `ls`)
[Matching <file_name>, where wild-cards are allowed]
*/
static void do_list_files(struct st_command *command)
{
int error;
static DYNAMIC_STRING ds_dirname;
static DYNAMIC_STRING ds_wild;
const struct command_arg list_files_args[] = {
{"dirname", ARG_STRING, TRUE, &ds_dirname, "Directory to list"},
{"file", ARG_STRING, FALSE, &ds_wild, "Filename (incl. wildcard)"}
};
DBUG_ENTER("do_list_files");
check_command_args(command, command->first_argument,
list_files_args,
sizeof(list_files_args)/sizeof(struct command_arg), ' ');
error= get_list_files(&ds_res, &ds_dirname, &ds_wild);
handle_command_error(command, error);
dynstr_free(&ds_dirname);
dynstr_free(&ds_wild);
DBUG_VOID_RETURN;
}
/*
SYNOPSIS
do_list_files_write_file_command
command called command
append append file, or create new
DESCRIPTION
list_files_{write|append}_file <filename> <dir_name> [<match_file>]
List files and directories in directory <dir_name> (like `ls`)
[Matching <match_file>, where wild-cards are allowed]
Note: File will be truncated if exists and append is not true.
*/
static void do_list_files_write_file_command(struct st_command *command,
my_bool append)
{
int error;
static DYNAMIC_STRING ds_content;
static DYNAMIC_STRING ds_filename;
static DYNAMIC_STRING ds_dirname;
static DYNAMIC_STRING ds_wild;
const struct command_arg list_files_args[] = {
{"filename", ARG_STRING, TRUE, &ds_filename, "Filename for write"},
{"dirname", ARG_STRING, TRUE, &ds_dirname, "Directory to list"},
{"file", ARG_STRING, FALSE, &ds_wild, "Filename (incl. wildcard)"}
};
DBUG_ENTER("do_list_files_write_file");
check_command_args(command, command->first_argument,
list_files_args,
sizeof(list_files_args)/sizeof(struct command_arg), ' ');
init_dynamic_string(&ds_content, "", 1024, 1024);
error= get_list_files(&ds_content, &ds_dirname, &ds_wild);
handle_command_error(command, error);
str_to_file2(ds_filename.str, ds_content.str, ds_content.length, append);
dynstr_free(&ds_content);
dynstr_free(&ds_filename);
dynstr_free(&ds_dirname);
dynstr_free(&ds_wild);
DBUG_VOID_RETURN;
}
/* /*
Read characters from line buffer or file. This is needed to allow Read characters from line buffer or file. This is needed to allow
my_ungetc() to buffer MAX_DELIMITER_LENGTH characters for a file my_ungetc() to buffer MAX_DELIMITER_LENGTH characters for a file
...@@ -7147,6 +7271,13 @@ int main(int argc, char **argv) ...@@ -7147,6 +7271,13 @@ int main(int argc, char **argv)
case Q_REMOVE_FILE: do_remove_file(command); break; case Q_REMOVE_FILE: do_remove_file(command); break;
case Q_MKDIR: do_mkdir(command); break; case Q_MKDIR: do_mkdir(command); break;
case Q_RMDIR: do_rmdir(command); break; case Q_RMDIR: do_rmdir(command); break;
case Q_LIST_FILES: do_list_files(command); break;
case Q_LIST_FILES_WRITE_FILE:
do_list_files_write_file_command(command, FALSE);
break;
case Q_LIST_FILES_APPEND_FILE:
do_list_files_write_file_command(command, TRUE);
break;
case Q_FILE_EXIST: do_file_exist(command); break; case Q_FILE_EXIST: do_file_exist(command); break;
case Q_WRITE_FILE: do_write_file(command); break; case Q_WRITE_FILE: do_write_file(command); break;
case Q_APPEND_FILE: do_append_file(command); break; case Q_APPEND_FILE: do_append_file(command); break;
......
...@@ -725,6 +725,9 @@ drop table t1; ...@@ -725,6 +725,9 @@ drop table t1;
mysqltest: At line 1: change user failed: Unknown database 'inexistent' mysqltest: At line 1: change user failed: Unknown database 'inexistent'
mysqltest: At line 1: change user failed: Access denied for user 'inexistent'@'localhost' (using password: NO) mysqltest: At line 1: change user failed: Access denied for user 'inexistent'@'localhost' (using password: NO)
mysqltest: At line 1: change user failed: Access denied for user 'root'@'localhost' (using password: YES) mysqltest: At line 1: change user failed: Access denied for user 'root'@'localhost' (using password: YES)
file1.txt
file1.txt
file2.txt
SELECT 'c:\\a.txt' AS col; SELECT 'c:\\a.txt' AS col;
col col
z z
......
...@@ -11,9 +11,6 @@ ...@@ -11,9 +11,6 @@
#------------------------------------------------------------------------------# #------------------------------------------------------------------------------#
# Original Author: mleich # # Original Author: mleich #
# Original Date: 2006-05-12 # # Original Date: 2006-05-12 #
# Change Author: #
# Change Date: #
# Change: #
################################################################################ ################################################################################
if ($no_debug) if ($no_debug)
...@@ -23,25 +20,26 @@ if ($no_debug) ...@@ -23,25 +20,26 @@ if ($no_debug)
if ($do_file_tests) if ($do_file_tests)
{ {
let $ls_file= $MYSQLTEST_VARDIR/master-data/test/tmp2;
# List the files belonging to the table t1 # List the files belonging to the table t1
--exec ls $MYSQLTEST_VARDIR/master-data/test/t1* > $MYSQLTEST_VARDIR/master-data/test/tmp2 || true --list_files_write_file $ls_file $MYSQLTEST_VARDIR/master-data/test t1*
--chmod 0644 $ls_file
if ($with_directories) if ($with_directories)
{ {
--exec ls $MYSQLTEST_VARDIR/tmp/t1* >> $MYSQLTEST_VARDIR/master-data/test/tmp2 || true --list_files_append_file $ls_file $MYSQLTEST_VARDIR/tmp t1*
} }
eval SET @aux = CONCAT('load_file(''$MYSQLTEST_VARDIR','/master-data/test/tmp2'')'); eval SET @aux = load_file('$ls_file');
let $file_list= `SELECT @aux`;
} }
if (!$do_file_tests) if (!$do_file_tests)
{ {
let $file_list= '--- not determined ---'; SET @aux = '--- not determined ---';
} }
# UPDATE the current filelist of the table t1 within t0_definition # UPDATE the current filelist of the table t1 within t0_definition
# Note: This list should be empty, because the table t1 was dropped ! # Note: This list should be empty, because the table t1 was dropped !
eval INSERT INTO t0_definition SET state = 'old', file_list = $file_list eval INSERT INTO t0_definition SET state = 'old', file_list = @aux
ON DUPLICATE KEY UPDATE file_list = $file_list; ON DUPLICATE KEY UPDATE file_list = @aux;
# eval UPDATE t0_definition SET file_list = $file_list WHERE state = 'old'; # eval UPDATE t0_definition SET file_list = @aux WHERE state = 'old';
# Check if filelist is empty. # Check if filelist is empty.
let $found_garbage= `SELECT file_list <> '' FROM t0_definition WHERE state = 'old'`; let $found_garbage= `SELECT file_list <> '' FROM t0_definition WHERE state = 'old'`;
......
...@@ -10,5 +10,5 @@ eval SHOW CREATE TABLE t1; ...@@ -10,5 +10,5 @@ eval SHOW CREATE TABLE t1;
if ($ls) if ($ls)
{ {
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec ls $MYSQLTEST_VARDIR/master-data/test/t1* --list_files $MYSQLTEST_VARDIR/master-data/test t1*
} }
...@@ -38,12 +38,12 @@ if ($do_file_tests) ...@@ -38,12 +38,12 @@ if ($do_file_tests)
{ {
# List the files belonging to the table t1 # List the files belonging to the table t1
let $ls_file= $MYSQLTEST_VARDIR/master-data/test/tmp2; let $ls_file= $MYSQLTEST_VARDIR/master-data/test/tmp2;
let $err_file= $MYSQLTEST_VARDIR/master-data/test/err2; --list_files_write_file $ls_file $MYSQLTEST_VARDIR/master-data/test t1*
--exec ls $MYSQLTEST_VARDIR/master-data/test/t1* > $ls_file 2>$err_file || true --chmod 0644 $ls_file
if ($with_directories) if ($with_directories)
{ {
--exec ls $MYSQLTEST_VARDIR/mysql-test-data-dir/t1* >> $ls_file 2>>$err_file || true --list_files_append_file $ls_file $MYSQLTEST_VARDIR/mysql-test-data-dir t1*
--exec ls $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1* >> $ls_file 2>>$err_file || true --list_files_append_file $ls_file $MYSQLTEST_VARDIR/mysql-test-idx-dir t1*
} }
eval SET @aux = load_file('$ls_file'); eval SET @aux = load_file('$ls_file');
} }
......
...@@ -14,9 +14,6 @@ ...@@ -14,9 +14,6 @@
#------------------------------------------------------------------------------# #------------------------------------------------------------------------------#
# Original Author: mleich # # Original Author: mleich #
# Original Date: 2006-03-05 # # Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
# Change: #
################################################################################ ################################################################################
if ($no_debug) if ($no_debug)
...@@ -34,12 +31,12 @@ if ($do_file_tests) ...@@ -34,12 +31,12 @@ if ($do_file_tests)
{ {
# List the files belonging to the table t1 # List the files belonging to the table t1
let $ls_file= $MYSQLTEST_VARDIR/master-data/test/tmp2; let $ls_file= $MYSQLTEST_VARDIR/master-data/test/tmp2;
let $err_file= $MYSQLTEST_VARDIR/master-data/test/err2; --list_files_write_file $ls_file $MYSQLTEST_VARDIR/master-data/test t1*
--exec ls $MYSQLTEST_VARDIR/master-data/test/t1* > $ls_file 2>$err_file || true --chmod 0644 $ls_file
if ($with_directories) if ($with_directories)
{ {
--exec ls $MYSQLTEST_VARDIR/mysql-test-data-dir/t1* >> $ls_file 2>>$err_file || true --list_files_append_file $ls_file $MYSQLTEST_VARDIR/mysql-test-data-dir t1*
--exec ls $MYSQLTEST_VARDIR/mysql-test-idx-dir/t1* >> $ls_file 2>>$err_file || true --list_files_append_file $ls_file $MYSQLTEST_VARDIR/mysql-test-idx-dir t1*
} }
eval SET @aux = load_file('$ls_file'); eval SET @aux = load_file('$ls_file');
} }
......
...@@ -662,12 +662,12 @@ t1 CREATE TABLE `t1` ( ...@@ -662,12 +662,12 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,2)) (PARTITION part1 VALUES IN (NULL) ENGINE = MyISAM, PARTITION part3 VALUES IN (1) ENGINE = MyISAM) */ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,2)) (PARTITION part1 VALUES IN (NULL) ENGINE = MyISAM, PARTITION part3 VALUES IN (1) ENGINE = MyISAM) */
unified filelist unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD t1#P#part1.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI t1#P#part1.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYD t1#P#part3.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYI t1#P#part3.MYI
$MYSQLTEST_VARDIR/master-data/test/t1.frm t1.frm
$MYSQLTEST_VARDIR/master-data/test/t1.par t1.par
DROP TABLE t1; DROP TABLE t1;
# 3.5.3 Reveal that IN (...NULL) is not mapped to IN(0) # 3.5.3 Reveal that IN (...NULL) is not mapped to IN(0)
...@@ -694,14 +694,14 @@ t1 CREATE TABLE `t1` ( ...@@ -694,14 +694,14 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,2)) (PARTITION part1 VALUES IN (NULL) ENGINE = MyISAM, PARTITION part2 VALUES IN (0) ENGINE = MyISAM, PARTITION part3 VALUES IN (1) ENGINE = MyISAM) */ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,2)) (PARTITION part1 VALUES IN (NULL) ENGINE = MyISAM, PARTITION part2 VALUES IN (0) ENGINE = MyISAM, PARTITION part3 VALUES IN (1) ENGINE = MyISAM) */
unified filelist unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD t1#P#part1.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI t1#P#part1.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD t1#P#part2.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI t1#P#part2.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYD t1#P#part3.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part3.MYI t1#P#part3.MYI
$MYSQLTEST_VARDIR/master-data/test/t1.frm t1.frm
$MYSQLTEST_VARDIR/master-data/test/t1.par t1.par
DROP TABLE t1; DROP TABLE t1;
...@@ -734,10 +734,10 @@ t1 CREATE TABLE `t1` ( ...@@ -734,10 +734,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) */ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) */
unified filelist unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD t1#P#p0.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI t1#P#p0.MYI
$MYSQLTEST_VARDIR/master-data/test/t1.frm t1.frm
$MYSQLTEST_VARDIR/master-data/test/t1.par t1.par
DROP TABLE t1; DROP TABLE t1;
# 4.1.2 no partition number, named partitions # 4.1.2 no partition number, named partitions
...@@ -761,12 +761,12 @@ t1 CREATE TABLE `t1` ( ...@@ -761,12 +761,12 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
unified filelist unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD t1#P#part1.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI t1#P#part1.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD t1#P#part2.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI t1#P#part2.MYI
$MYSQLTEST_VARDIR/master-data/test/t1.frm t1.frm
$MYSQLTEST_VARDIR/master-data/test/t1.par t1.par
DROP TABLE t1; DROP TABLE t1;
# 4.1.3 variations on no partition/subpartition number, named partitions, # 4.1.3 variations on no partition/subpartition number, named partitions,
...@@ -852,20 +852,20 @@ t1 CREATE TABLE `t1` ( ...@@ -852,20 +852,20 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (20) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (2147483646) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM)) */ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (20) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (2147483646) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM)) */
unified filelist unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYD t1#P#part1#SP#subpart11.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYI t1#P#part1#SP#subpart11.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYD t1#P#part1#SP#subpart12.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYI t1#P#part1#SP#subpart12.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYD t1#P#part2#SP#subpart21.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYI t1#P#part2#SP#subpart21.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYD t1#P#part2#SP#subpart22.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYI t1#P#part2#SP#subpart22.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYD t1#P#part3#SP#subpart31.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart31.MYI t1#P#part3#SP#subpart31.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYD t1#P#part3#SP#subpart32.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part3#SP#subpart32.MYI t1#P#part3#SP#subpart32.MYI
$MYSQLTEST_VARDIR/master-data/test/t1.frm t1.frm
$MYSQLTEST_VARDIR/master-data/test/t1.par t1.par
DROP TABLE t1; DROP TABLE t1;
#------------------------------------------------------------------------ #------------------------------------------------------------------------
...@@ -893,12 +893,12 @@ t1 CREATE TABLE `t1` ( ...@@ -893,12 +893,12 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */
unified filelist unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD t1#P#p0.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI t1#P#p0.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYD t1#P#p1.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#p1.MYI t1#P#p1.MYI
$MYSQLTEST_VARDIR/master-data/test/t1.frm t1.frm
$MYSQLTEST_VARDIR/master-data/test/t1.par t1.par
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
...@@ -924,16 +924,16 @@ t1 CREATE TABLE `t1` ( ...@@ -924,16 +924,16 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */
unified filelist unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYD t1#P#part1#SP#part1sp0.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYI t1#P#part1#SP#part1sp0.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp1.MYD t1#P#part1#SP#part1sp1.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp1.MYI t1#P#part1#SP#part1sp1.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYD t1#P#part2#SP#part2sp0.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYI t1#P#part2#SP#part2sp0.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp1.MYD t1#P#part2#SP#part2sp1.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp1.MYI t1#P#part2#SP#part2sp1.MYI
$MYSQLTEST_VARDIR/master-data/test/t1.frm t1.frm
$MYSQLTEST_VARDIR/master-data/test/t1.par t1.par
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
...@@ -956,10 +956,10 @@ t1 CREATE TABLE `t1` ( ...@@ -956,10 +956,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 1 */ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 1 */
unified filelist unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYD t1#P#p0.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#p0.MYI t1#P#p0.MYI
$MYSQLTEST_VARDIR/master-data/test/t1.frm t1.frm
$MYSQLTEST_VARDIR/master-data/test/t1.par t1.par
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
...@@ -985,12 +985,12 @@ t1 CREATE TABLE `t1` ( ...@@ -985,12 +985,12 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 1 (PARTITION part1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 1 (PARTITION part1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */
unified filelist unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYD t1#P#part1#SP#part1sp0.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#part1sp0.MYI t1#P#part1#SP#part1sp0.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYD t1#P#part2#SP#part2sp0.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#part2sp0.MYI t1#P#part2#SP#part2sp0.MYI
$MYSQLTEST_VARDIR/master-data/test/t1.frm t1.frm
$MYSQLTEST_VARDIR/master-data/test/t1.par t1.par
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
...@@ -1732,12 +1732,12 @@ t1 CREATE TABLE `t1` ( ...@@ -1732,12 +1732,12 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */
unified filelist unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYD t1#P#part1.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1.MYI t1#P#part1.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYD t1#P#part2.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2.MYI t1#P#part2.MYI
$MYSQLTEST_VARDIR/master-data/test/t1.frm t1.frm
$MYSQLTEST_VARDIR/master-data/test/t1.par t1.par
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
...@@ -1766,16 +1766,16 @@ t1 CREATE TABLE `t1` ( ...@@ -1766,16 +1766,16 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */
unified filelist unified filelist
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYD t1#P#part1#SP#subpart11.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart11.MYI t1#P#part1#SP#subpart11.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYD t1#P#part1#SP#subpart12.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part1#SP#subpart12.MYI t1#P#part1#SP#subpart12.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYD t1#P#part2#SP#subpart21.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart21.MYI t1#P#part2#SP#subpart21.MYI
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYD t1#P#part2#SP#subpart22.MYD
$MYSQLTEST_VARDIR/master-data/test/t1#P#part2#SP#subpart22.MYI t1#P#part2#SP#subpart22.MYI
$MYSQLTEST_VARDIR/master-data/test/t1.frm t1.frm
$MYSQLTEST_VARDIR/master-data/test/t1.par t1.par
DROP TABLE t1; DROP TABLE t1;
# 4.3.2 (positive) number of partition/subpartition , # 4.3.2 (positive) number of partition/subpartition ,
......
...@@ -2117,10 +2117,22 @@ mkdir $MYSQLTEST_VARDIR/tmp/testdir; ...@@ -2117,10 +2117,22 @@ mkdir $MYSQLTEST_VARDIR/tmp/testdir;
write_file $MYSQLTEST_VARDIR/tmp/testdir/file1.txt; write_file $MYSQLTEST_VARDIR/tmp/testdir/file1.txt;
hello hello
EOF EOF
list_files $MYSQLTEST_VARDIR/tmp/testdir;
# list_files gets the directory list before creating the new file
list_files_write_file $MYSQLTEST_VARDIR/tmp/testdir/file2.txt $MYSQLTEST_VARDIR/tmp/testdir *;
list_files_append_file $MYSQLTEST_VARDIR/tmp/testdir/file2.txt $MYSQLTEST_VARDIR/tmp/testdir *2*;
list_files_write_file $MYSQLTEST_VARDIR/tmp/testdir/file2.txt $MYSQLTEST_VARDIR/tmp/testdir file?.txt;
list_files_append_file $MYSQLTEST_VARDIR/tmp/testdir/file3.txt $MYSQLTEST_VARDIR/tmp/testdir file*.txt;
diff_files $MYSQLTEST_VARDIR/tmp/testdir/file2.txt $MYSQLTEST_VARDIR/tmp/testdir/file3.txt;
--error 1 --error 1
rmdir $MYSQLTEST_VARDIR/tmp/testdir; rmdir $MYSQLTEST_VARDIR/tmp/testdir;
cat_file $MYSQLTEST_VARDIR/tmp/testdir/file3.txt;
remove_file $MYSQLTEST_VARDIR/tmp/testdir/file1.txt; remove_file $MYSQLTEST_VARDIR/tmp/testdir/file1.txt;
remove_file $MYSQLTEST_VARDIR/tmp/testdir/file2.txt;
remove_file $MYSQLTEST_VARDIR/tmp/testdir/file3.txt;
rmdir $MYSQLTEST_VARDIR/tmp/testdir; rmdir $MYSQLTEST_VARDIR/tmp/testdir;
# #
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment