Commit 9aeb8297 authored by msvensson@pilot.blaudden's avatar msvensson@pilot.blaudden

Merge pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint

into  pilot.blaudden:/home/msvensson/mysql/mysql-5.1-new-maint
parents 16bce5b8 b540ae53
...@@ -275,7 +275,7 @@ enum enum_commands { ...@@ -275,7 +275,7 @@ enum enum_commands {
Q_DISABLE_PARSING, Q_ENABLE_PARSING, Q_DISABLE_PARSING, Q_ENABLE_PARSING,
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_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_EXIT,
Q_CHMOD_FILE, Q_APPEND_FILE, Q_CHMOD_FILE, Q_APPEND_FILE, Q_CAT_FILE,
Q_UNKNOWN, /* Unknown command. */ Q_UNKNOWN, /* Unknown command. */
Q_COMMENT, /* Comments, ignored. */ Q_COMMENT, /* Comments, ignored. */
...@@ -360,6 +360,7 @@ const char *command_names[]= ...@@ -360,6 +360,7 @@ const char *command_names[]=
"exit", "exit",
"chmod", "chmod",
"append_file", "append_file",
"cat_file",
0 0
}; };
...@@ -2179,6 +2180,50 @@ void do_append_file(struct st_command *command) ...@@ -2179,6 +2180,50 @@ void do_append_file(struct st_command *command)
} }
/*
SYNOPSIS
do_cat_file
command called command
DESCRIPTION
cat_file <file_name>;
Print the given file to result log
*/
void do_cat_file(struct st_command *command)
{
int fd;
uint len;
byte buff[512];
static DYNAMIC_STRING ds_filename;
const struct command_arg cat_file_args[] = {
"filename", ARG_STRING, TRUE, &ds_filename, "File to read from"
};
DBUG_ENTER("do_cat_file");
check_command_args(command,
command->first_argument,
cat_file_args,
sizeof(cat_file_args)/sizeof(struct command_arg),
' ');
DBUG_PRINT("info", ("Reading from, file: %s", ds_filename.str));
if ((fd= my_open(ds_filename.str, O_RDONLY, MYF(0))) < 0)
die("Failed to open file %s", ds_filename.str);
while((len= my_read(fd, &buff,
sizeof(buff), MYF(0))) > 0)
{
dynstr_append_mem(&ds_res, buff, len);
}
my_close(fd, MYF(0));
dynstr_free(&ds_filename);
DBUG_VOID_RETURN;
}
/* /*
SYNOPSIS SYNOPSIS
do_perl do_perl
...@@ -5956,6 +6001,7 @@ int main(int argc, char **argv) ...@@ -5956,6 +6001,7 @@ int main(int argc, char **argv)
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;
case Q_CAT_FILE: do_cat_file(command); break;
case Q_COPY_FILE: do_copy_file(command); break; case Q_COPY_FILE: do_copy_file(command); break;
case Q_CHMOD_FILE: do_chmod_file(command); break; case Q_CHMOD_FILE: do_chmod_file(command); break;
case Q_PERL: do_perl(command); break; case Q_PERL: do_perl(command); break;
......
...@@ -210,7 +210,6 @@ source database ...@@ -210,7 +210,6 @@ source database
"MySQL: The world's most popular ;open source database" "MySQL: The world's most popular ;open source database"
echo message echo message echo message echo message
mysqltest: At line 1: Empty variable
mysqltest: At line 1: command "false" failed mysqltest: At line 1: command "false" failed
mysqltest: At line 1: Missing argument in exec mysqltest: At line 1: Missing argument in exec
MySQL MySQL
...@@ -518,6 +517,10 @@ drop table t1; ...@@ -518,6 +517,10 @@ drop table t1;
mysqltest: At line 1: Missing required argument 'filename' to command 'remove_file' mysqltest: At line 1: Missing required argument 'filename' to command 'remove_file'
mysqltest: At line 1: Missing required argument 'filename' to command 'write_file' mysqltest: At line 1: Missing required argument 'filename' to command 'write_file'
mysqltest: At line 1: End of file encountered before 'EOF' delimiter was found mysqltest: At line 1: End of file encountered before 'EOF' delimiter was found
Some data
for cat_file command
of mysqltest
mysqltest: At line 1: Failed to open file non_existing_file
mysqltest: At line 1: Missing required argument 'filename' to command 'file_exists' mysqltest: At line 1: Missing required argument 'filename' to command 'file_exists'
mysqltest: At line 1: Missing required argument 'from_file' to command 'copy_file' mysqltest: At line 1: Missing required argument 'from_file' to command 'copy_file'
mysqltest: At line 1: Missing required argument 'to_file' to command 'copy_file' mysqltest: At line 1: Missing required argument 'to_file' to command 'copy_file'
......
...@@ -555,8 +555,8 @@ echo ; ...@@ -555,8 +555,8 @@ echo ;
# Illegal use of echo # Illegal use of echo
--error 1 #--error 1
--exec echo "echo \$;" | $MYSQL_TEST 2>&1 #--exec echo "echo \$;" | $MYSQL_TEST 2>&1
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
...@@ -1557,6 +1557,20 @@ append_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp; ...@@ -1557,6 +1557,20 @@ append_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
Appended text on nonexisting file Appended text on nonexisting file
EOF EOF
# ----------------------------------------------------------------------------
# test for cat_file
# ----------------------------------------------------------------------------
--write_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp
Some data
for cat_file command
of mysqltest
EOF
cat_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
--error 1
--exec echo "cat_file non_existing_file;" | $MYSQL_TEST 2>&1
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# test for file_exist # test for file_exist
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
......
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