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)
|
if (tmpdir.list)
|
||||||
free_tmpdir(&tmpdir);
|
free_tmpdir(&tmpdir);
|
||||||
if (result_file && result_file != stdout)
|
if (result_file)
|
||||||
my_fclose(result_file, MYF(0));
|
{
|
||||||
|
if (result_file != stdout)
|
||||||
|
my_fclose(result_file, MYF(0));
|
||||||
|
else
|
||||||
|
fflush(result_file);
|
||||||
|
}
|
||||||
cleanup();
|
cleanup();
|
||||||
/* We cannot free DBUG, it is used in global destructors after exit(). */
|
/* We cannot free DBUG, it is used in global destructors after exit(). */
|
||||||
my_end(my_end_arg | MY_DONT_FREE_DBUG);
|
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()
|
static void free_resources()
|
||||||
{
|
{
|
||||||
if (md_result_file && md_result_file != stdout)
|
if (md_result_file)
|
||||||
my_fclose(md_result_file, MYF(0));
|
{
|
||||||
|
if (md_result_file != stdout)
|
||||||
|
my_fclose(md_result_file, MYF(0));
|
||||||
|
else
|
||||||
|
fflush(md_result_file);
|
||||||
|
}
|
||||||
if (get_table_name_result)
|
if (get_table_name_result)
|
||||||
mysql_free_result(get_table_name_result);
|
mysql_free_result(get_table_name_result);
|
||||||
if (routine_res)
|
if (routine_res)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user