Commit c4b408f9 authored by Mattias Jonsson's avatar Mattias Jonsson

merge

parents 5cf61bd3 d4b0fcc9
...@@ -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