MDEV-30664 mysqldump output is truncated on Windows
Flush stdout on finalizing of mysqldump/mysqlbinlog output to avoid truncation. The same patch has been applied to the mysqltest.cc code with commit 34ff714b0d5456901e979e280399579d3ab3338c Author: Magnus Svensson <msvensson@mysql.com> Date: Fri Nov 14 11:06:56 2008 +0100 WL#4189 Make mysqltest flush log file at close if logfile is stdout but not to mysqldump.c/mysqlbinlog.cc
This commit is contained in:
parent
0c7af6a2a1
commit
cbe61bf87f
@ -3224,8 +3224,13 @@ int main(int argc, char** argv)
|
||||
|
||||
if (tmpdir.list)
|
||||
free_tmpdir(&tmpdir);
|
||||
if (result_file && result_file != stdout)
|
||||
my_fclose(result_file, MYF(0));
|
||||
if (result_file)
|
||||
{
|
||||
if (result_file != stdout)
|
||||
my_fclose(result_file, MYF(0));
|
||||
else
|
||||
fflush(result_file);
|
||||
}
|
||||
cleanup();
|
||||
/* We cannot free DBUG, it is used in global destructors after exit(). */
|
||||
my_end(my_end_arg | MY_DONT_FREE_DBUG);
|
||||
|
@ -1794,8 +1794,13 @@ static FILE* open_sql_file_for_table(const char* table, int flags)
|
||||
|
||||
static void free_resources()
|
||||
{
|
||||
if (md_result_file && md_result_file != stdout)
|
||||
my_fclose(md_result_file, MYF(0));
|
||||
if (md_result_file)
|
||||
{
|
||||
if (md_result_file != stdout)
|
||||
my_fclose(md_result_file, MYF(0));
|
||||
else
|
||||
fflush(md_result_file);
|
||||
}
|
||||
if (get_table_name_result)
|
||||
mysql_free_result(get_table_name_result);
|
||||
if (routine_res)
|
||||
|
Loading…
x
Reference in New Issue
Block a user