mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge
This commit is contained in:
@ -55,6 +55,7 @@
|
|||||||
#define EX_MYSQLERR 2
|
#define EX_MYSQLERR 2
|
||||||
#define EX_CONSCHECK 3
|
#define EX_CONSCHECK 3
|
||||||
#define EX_EOM 4
|
#define EX_EOM 4
|
||||||
|
#define EX_EOF 5 /* ferror for output file was got */
|
||||||
|
|
||||||
/* index into 'show fields from table' */
|
/* index into 'show fields from table' */
|
||||||
|
|
||||||
@ -332,6 +333,23 @@ static const char *check_if_ignore_table(const char *table_name);
|
|||||||
|
|
||||||
#include <help_start.h>
|
#include <help_start.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
exit with message if ferror(file)
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
check_io()
|
||||||
|
file - checked file
|
||||||
|
*/
|
||||||
|
|
||||||
|
void check_io(FILE *file)
|
||||||
|
{
|
||||||
|
if (ferror(file))
|
||||||
|
{
|
||||||
|
fprintf(stderr, "%s: Got errno %d on write\n", my_progname, errno);
|
||||||
|
safe_exit(EX_EOF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void print_version(void)
|
static void print_version(void)
|
||||||
{
|
{
|
||||||
printf("%s Ver %s Distrib %s, for %s (%s)\n",my_progname,DUMP_VERSION,
|
printf("%s Ver %s Distrib %s, for %s (%s)\n",my_progname,DUMP_VERSION,
|
||||||
@ -378,6 +396,7 @@ static void write_header(FILE *sql_file, char *db_name)
|
|||||||
{
|
{
|
||||||
fputs("<?xml version=\"1.0\"?>\n", sql_file);
|
fputs("<?xml version=\"1.0\"?>\n", sql_file);
|
||||||
fputs("<mysqldump>\n", sql_file);
|
fputs("<mysqldump>\n", sql_file);
|
||||||
|
check_io(sql_file);
|
||||||
}
|
}
|
||||||
else if (!opt_compact)
|
else if (!opt_compact)
|
||||||
{
|
{
|
||||||
@ -409,6 +428,7 @@ static void write_header(FILE *sql_file, char *db_name)
|
|||||||
"/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=\"%s%s%s\" */;\n",
|
"/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=\"%s%s%s\" */;\n",
|
||||||
path?"":"NO_AUTO_VALUE_ON_ZERO",compatible_mode_normal_str[0]==0?"":",",
|
path?"":"NO_AUTO_VALUE_ON_ZERO",compatible_mode_normal_str[0]==0?"":",",
|
||||||
compatible_mode_normal_str);
|
compatible_mode_normal_str);
|
||||||
|
check_io(sql_file);
|
||||||
}
|
}
|
||||||
} /* write_header */
|
} /* write_header */
|
||||||
|
|
||||||
@ -416,7 +436,10 @@ static void write_header(FILE *sql_file, char *db_name)
|
|||||||
static void write_footer(FILE *sql_file)
|
static void write_footer(FILE *sql_file)
|
||||||
{
|
{
|
||||||
if (opt_xml)
|
if (opt_xml)
|
||||||
|
{
|
||||||
fputs("</mysqldump>\n", sql_file);
|
fputs("</mysqldump>\n", sql_file);
|
||||||
|
check_io(sql_file);
|
||||||
|
}
|
||||||
else if (!opt_compact)
|
else if (!opt_compact)
|
||||||
{
|
{
|
||||||
fprintf(sql_file,"\n/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;\n");
|
fprintf(sql_file,"\n/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;\n");
|
||||||
@ -432,6 +455,7 @@ static void write_footer(FILE *sql_file)
|
|||||||
"/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;\n"
|
"/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;\n"
|
||||||
"/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;\n");
|
"/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;\n");
|
||||||
fputs("\n", sql_file);
|
fputs("\n", sql_file);
|
||||||
|
check_io(sql_file);
|
||||||
}
|
}
|
||||||
} /* write_footer */
|
} /* write_footer */
|
||||||
|
|
||||||
@ -725,6 +749,7 @@ static void unescape(FILE *file,char *pos,uint length)
|
|||||||
fputc('\'', file);
|
fputc('\'', file);
|
||||||
fputs(tmp, file);
|
fputs(tmp, file);
|
||||||
fputc('\'', file);
|
fputc('\'', file);
|
||||||
|
check_io(file);
|
||||||
my_free(tmp, MYF(MY_WME));
|
my_free(tmp, MYF(MY_WME));
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
} /* unescape */
|
} /* unescape */
|
||||||
@ -816,6 +841,7 @@ static void print_quoted_xml(FILE *xml_file, const char *str, ulong len)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
check_io(xml_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -849,6 +875,7 @@ static void print_xml_tag1(FILE * xml_file, const char* sbeg,
|
|||||||
print_quoted_xml(xml_file, sval, strlen(sval));
|
print_quoted_xml(xml_file, sval, strlen(sval));
|
||||||
fputs("\">", xml_file);
|
fputs("\">", xml_file);
|
||||||
fputs(send, xml_file);
|
fputs(send, xml_file);
|
||||||
|
check_io(xml_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -877,6 +904,7 @@ static void print_xml_row(FILE *xml_file, const char *row_name,
|
|||||||
ulong *lengths= mysql_fetch_lengths(tableRes);
|
ulong *lengths= mysql_fetch_lengths(tableRes);
|
||||||
|
|
||||||
fprintf(xml_file, "\t\t<%s", row_name);
|
fprintf(xml_file, "\t\t<%s", row_name);
|
||||||
|
check_io(xml_file);
|
||||||
mysql_field_seek(tableRes, 0);
|
mysql_field_seek(tableRes, 0);
|
||||||
for (i= 0; (field= mysql_fetch_field(tableRes)); i++)
|
for (i= 0; (field= mysql_fetch_field(tableRes)); i++)
|
||||||
{
|
{
|
||||||
@ -887,9 +915,11 @@ static void print_xml_row(FILE *xml_file, const char *row_name,
|
|||||||
fputs("=\"", xml_file);
|
fputs("=\"", xml_file);
|
||||||
print_quoted_xml(xml_file, (*row)[i], lengths[i]);
|
print_quoted_xml(xml_file, (*row)[i], lengths[i]);
|
||||||
fputc('"', xml_file);
|
fputc('"', xml_file);
|
||||||
|
check_io(xml_file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fputs(" />\n", xml_file);
|
fputs(" />\n", xml_file);
|
||||||
|
check_io(xml_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -956,14 +986,21 @@ static uint getTableStructure(char *table, char* db)
|
|||||||
write_header(sql_file, db);
|
write_header(sql_file, db);
|
||||||
}
|
}
|
||||||
if (!opt_xml && opt_comments)
|
if (!opt_xml && opt_comments)
|
||||||
|
{
|
||||||
fprintf(sql_file, "\n--\n-- Table structure for table %s\n--\n\n",
|
fprintf(sql_file, "\n--\n-- Table structure for table %s\n--\n\n",
|
||||||
result_table);
|
result_table);
|
||||||
|
check_io(sql_file);
|
||||||
|
}
|
||||||
if (opt_drop)
|
if (opt_drop)
|
||||||
|
{
|
||||||
fprintf(sql_file, "DROP TABLE IF EXISTS %s;\n", opt_quoted_table);
|
fprintf(sql_file, "DROP TABLE IF EXISTS %s;\n", opt_quoted_table);
|
||||||
|
check_io(sql_file);
|
||||||
|
}
|
||||||
|
|
||||||
tableRes=mysql_store_result(sock);
|
tableRes=mysql_store_result(sock);
|
||||||
row=mysql_fetch_row(tableRes);
|
row=mysql_fetch_row(tableRes);
|
||||||
fprintf(sql_file, "%s;\n", row[1]);
|
fprintf(sql_file, "%s;\n", row[1]);
|
||||||
|
check_io(sql_file);
|
||||||
mysql_free_result(tableRes);
|
mysql_free_result(tableRes);
|
||||||
}
|
}
|
||||||
sprintf(insert_pat,"show fields from %s", result_table);
|
sprintf(insert_pat,"show fields from %s", result_table);
|
||||||
@ -1043,6 +1080,7 @@ static uint getTableStructure(char *table, char* db)
|
|||||||
fprintf(sql_file, "CREATE TABLE %s (\n", result_table);
|
fprintf(sql_file, "CREATE TABLE %s (\n", result_table);
|
||||||
else
|
else
|
||||||
print_xml_tag1(sql_file, "\t", "table_structure name=", table, "\n");
|
print_xml_tag1(sql_file, "\t", "table_structure name=", table, "\n");
|
||||||
|
check_io(sql_file);
|
||||||
}
|
}
|
||||||
if (cFlag)
|
if (cFlag)
|
||||||
sprintf(insert_pat, "INSERT %sINTO %s (", delayed, result_table);
|
sprintf(insert_pat, "INSERT %sINTO %s (", delayed, result_table);
|
||||||
@ -1060,7 +1098,10 @@ static uint getTableStructure(char *table, char* db)
|
|||||||
if (init)
|
if (init)
|
||||||
{
|
{
|
||||||
if (!opt_xml && !tFlag)
|
if (!opt_xml && !tFlag)
|
||||||
|
{
|
||||||
fputs(",\n",sql_file);
|
fputs(",\n",sql_file);
|
||||||
|
check_io(sql_file);
|
||||||
|
}
|
||||||
if (cFlag)
|
if (cFlag)
|
||||||
strpos=strmov(strpos,", ");
|
strpos=strmov(strpos,", ");
|
||||||
}
|
}
|
||||||
@ -1092,6 +1133,7 @@ static uint getTableStructure(char *table, char* db)
|
|||||||
fputs(" NOT NULL", sql_file);
|
fputs(" NOT NULL", sql_file);
|
||||||
if (row[SHOW_EXTRA][0])
|
if (row[SHOW_EXTRA][0])
|
||||||
fprintf(sql_file, " %s",row[SHOW_EXTRA]);
|
fprintf(sql_file, " %s",row[SHOW_EXTRA]);
|
||||||
|
check_io(sql_file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
numFields = (uint) mysql_num_rows(tableRes);
|
numFields = (uint) mysql_num_rows(tableRes);
|
||||||
@ -1160,12 +1202,14 @@ static uint getTableStructure(char *table, char* db)
|
|||||||
fputs(quote_name(row[4], name_buff, 0), sql_file);
|
fputs(quote_name(row[4], name_buff, 0), sql_file);
|
||||||
if (row[7])
|
if (row[7])
|
||||||
fprintf(sql_file, " (%s)",row[7]); /* Sub key */
|
fprintf(sql_file, " (%s)",row[7]); /* Sub key */
|
||||||
|
check_io(sql_file);
|
||||||
}
|
}
|
||||||
if (!opt_xml)
|
if (!opt_xml)
|
||||||
{
|
{
|
||||||
if (keynr)
|
if (keynr)
|
||||||
putc(')', sql_file);
|
putc(')', sql_file);
|
||||||
fputs("\n)",sql_file);
|
fputs("\n)",sql_file);
|
||||||
|
check_io(sql_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get MySQL specific create options */
|
/* Get MySQL specific create options */
|
||||||
@ -1204,6 +1248,7 @@ static uint getTableStructure(char *table, char* db)
|
|||||||
print_value(sql_file,tableRes,row,"","Create_options",0);
|
print_value(sql_file,tableRes,row,"","Create_options",0);
|
||||||
print_value(sql_file,tableRes,row,"comment=","Comment",1);
|
print_value(sql_file,tableRes,row,"comment=","Comment",1);
|
||||||
fputs(" */",sql_file);
|
fputs(" */",sql_file);
|
||||||
|
check_io(sql_file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mysql_free_result(tableRes); /* Is always safe to free */
|
mysql_free_result(tableRes); /* Is always safe to free */
|
||||||
@ -1212,6 +1257,7 @@ static uint getTableStructure(char *table, char* db)
|
|||||||
fputs(";\n", sql_file);
|
fputs(";\n", sql_file);
|
||||||
else
|
else
|
||||||
fputs("\t</table_structure>\n", sql_file);
|
fputs("\t</table_structure>\n", sql_file);
|
||||||
|
check_io(sql_file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (cFlag)
|
if (cFlag)
|
||||||
@ -1365,19 +1411,28 @@ static void dumpTable(uint numFields, char *table)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!opt_xml && opt_comments)
|
if (!opt_xml && opt_comments)
|
||||||
|
{
|
||||||
fprintf(md_result_file,"\n--\n-- Dumping data for table %s\n--\n",
|
fprintf(md_result_file,"\n--\n-- Dumping data for table %s\n--\n",
|
||||||
result_table);
|
result_table);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
sprintf(query, "SELECT /*!40001 SQL_NO_CACHE */ * FROM %s",
|
sprintf(query, "SELECT /*!40001 SQL_NO_CACHE */ * FROM %s",
|
||||||
result_table);
|
result_table);
|
||||||
if (where)
|
if (where)
|
||||||
{
|
{
|
||||||
if (!opt_xml && opt_comments)
|
if (!opt_xml && opt_comments)
|
||||||
|
{
|
||||||
fprintf(md_result_file,"-- WHERE: %s\n",where);
|
fprintf(md_result_file,"-- WHERE: %s\n",where);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
query= alloc_query_str((ulong) (strlen(where) + strlen(query) + 10));
|
query= alloc_query_str((ulong) (strlen(where) + strlen(query) + 10));
|
||||||
strxmov(query, query_buf, " WHERE ", where, NullS);
|
strxmov(query, query_buf, " WHERE ", where, NullS);
|
||||||
}
|
}
|
||||||
if (!opt_xml && !opt_compact)
|
if (!opt_xml && !opt_compact)
|
||||||
|
{
|
||||||
fputs("\n", md_result_file);
|
fputs("\n", md_result_file);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
if (mysql_query(sock, query))
|
if (mysql_query(sock, query))
|
||||||
{
|
{
|
||||||
DBerror(sock, "when retrieving data from server");
|
DBerror(sock, "when retrieving data from server");
|
||||||
@ -1405,10 +1460,16 @@ static void dumpTable(uint numFields, char *table)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (opt_disable_keys)
|
if (opt_disable_keys)
|
||||||
|
{
|
||||||
fprintf(md_result_file, "\n/*!40000 ALTER TABLE %s DISABLE KEYS */;\n",
|
fprintf(md_result_file, "\n/*!40000 ALTER TABLE %s DISABLE KEYS */;\n",
|
||||||
opt_quoted_table);
|
opt_quoted_table);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
if (opt_lock)
|
if (opt_lock)
|
||||||
|
{
|
||||||
fprintf(md_result_file,"LOCK TABLES %s WRITE;\n", opt_quoted_table);
|
fprintf(md_result_file,"LOCK TABLES %s WRITE;\n", opt_quoted_table);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
|
|
||||||
total_length= opt_net_buffer_length; /* Force row break */
|
total_length= opt_net_buffer_length; /* Force row break */
|
||||||
row_break=0;
|
row_break=0;
|
||||||
@ -1418,7 +1479,10 @@ static void dumpTable(uint numFields, char *table)
|
|||||||
print_xml_tag1(md_result_file, "\t", "table_data name=", table, "\n");
|
print_xml_tag1(md_result_file, "\t", "table_data name=", table, "\n");
|
||||||
|
|
||||||
if (opt_autocommit)
|
if (opt_autocommit)
|
||||||
|
{
|
||||||
fprintf(md_result_file, "set autocommit=0;\n");
|
fprintf(md_result_file, "set autocommit=0;\n");
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
|
|
||||||
while ((row=mysql_fetch_row(res)))
|
while ((row=mysql_fetch_row(res)))
|
||||||
{
|
{
|
||||||
@ -1426,11 +1490,17 @@ static void dumpTable(uint numFields, char *table)
|
|||||||
ulong *lengths=mysql_fetch_lengths(res);
|
ulong *lengths=mysql_fetch_lengths(res);
|
||||||
rownr++;
|
rownr++;
|
||||||
if (!extended_insert && !opt_xml)
|
if (!extended_insert && !opt_xml)
|
||||||
|
{
|
||||||
fputs(insert_pat,md_result_file);
|
fputs(insert_pat,md_result_file);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
mysql_field_seek(res,0);
|
mysql_field_seek(res,0);
|
||||||
|
|
||||||
if (opt_xml)
|
if (opt_xml)
|
||||||
|
{
|
||||||
fputs("\t<row>\n", md_result_file);
|
fputs("\t<row>\n", md_result_file);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < mysql_num_fields(res); i++)
|
for (i = 0; i < mysql_num_fields(res); i++)
|
||||||
{
|
{
|
||||||
@ -1503,7 +1573,10 @@ static void dumpTable(uint numFields, char *table)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (i && !opt_xml)
|
if (i && !opt_xml)
|
||||||
|
{
|
||||||
fputc(',', md_result_file);
|
fputc(',', md_result_file);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
if (row[i])
|
if (row[i])
|
||||||
{
|
{
|
||||||
if (!IS_NUM_FIELD(field))
|
if (!IS_NUM_FIELD(field))
|
||||||
@ -1546,11 +1619,15 @@ static void dumpTable(uint numFields, char *table)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
fputs("NULL", md_result_file);
|
fputs("NULL", md_result_file);
|
||||||
|
check_io(md_result_file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opt_xml)
|
if (opt_xml)
|
||||||
|
{
|
||||||
fputs("\t</row>\n", md_result_file);
|
fputs("\t</row>\n", md_result_file);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
|
|
||||||
if (extended_insert)
|
if (extended_insert)
|
||||||
{
|
{
|
||||||
@ -1573,9 +1650,13 @@ static void dumpTable(uint numFields, char *table)
|
|||||||
fputs(extended_row.str,md_result_file);
|
fputs(extended_row.str,md_result_file);
|
||||||
total_length = row_length+init_length;
|
total_length = row_length+init_length;
|
||||||
}
|
}
|
||||||
|
check_io(md_result_file);
|
||||||
}
|
}
|
||||||
else if (!opt_xml)
|
else if (!opt_xml)
|
||||||
|
{
|
||||||
fputs(");\n", md_result_file);
|
fputs(");\n", md_result_file);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* XML - close table tag and supress regular output */
|
/* XML - close table tag and supress regular output */
|
||||||
@ -1584,6 +1665,7 @@ static void dumpTable(uint numFields, char *table)
|
|||||||
else if (extended_insert && row_break)
|
else if (extended_insert && row_break)
|
||||||
fputs(";\n", md_result_file); /* If not empty table */
|
fputs(";\n", md_result_file); /* If not empty table */
|
||||||
fflush(md_result_file);
|
fflush(md_result_file);
|
||||||
|
check_io(md_result_file);
|
||||||
if (mysql_errno(sock))
|
if (mysql_errno(sock))
|
||||||
{
|
{
|
||||||
sprintf(query,"%s: Error %d: %s when dumping table %s at row: %ld\n",
|
sprintf(query,"%s: Error %d: %s when dumping table %s at row: %ld\n",
|
||||||
@ -1597,12 +1679,21 @@ static void dumpTable(uint numFields, char *table)
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
if (opt_lock)
|
if (opt_lock)
|
||||||
|
{
|
||||||
fputs("UNLOCK TABLES;\n", md_result_file);
|
fputs("UNLOCK TABLES;\n", md_result_file);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
if (opt_disable_keys)
|
if (opt_disable_keys)
|
||||||
|
{
|
||||||
fprintf(md_result_file,"/*!40000 ALTER TABLE %s ENABLE KEYS */;\n",
|
fprintf(md_result_file,"/*!40000 ALTER TABLE %s ENABLE KEYS */;\n",
|
||||||
opt_quoted_table);
|
opt_quoted_table);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
if (opt_autocommit)
|
if (opt_autocommit)
|
||||||
|
{
|
||||||
fprintf(md_result_file, "commit;\n");
|
fprintf(md_result_file, "commit;\n");
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
mysql_free_result(res);
|
mysql_free_result(res);
|
||||||
if (query != query_buf)
|
if (query != query_buf)
|
||||||
my_free(query, MYF(MY_ALLOW_ZERO_PTR));
|
my_free(query, MYF(MY_ALLOW_ZERO_PTR));
|
||||||
@ -1693,7 +1784,10 @@ static int init_dumping(char *database)
|
|||||||
char quoted_database_buf[64*2+3];
|
char quoted_database_buf[64*2+3];
|
||||||
char *qdatabase= quote_name(database,quoted_database_buf,opt_quoted);
|
char *qdatabase= quote_name(database,quoted_database_buf,opt_quoted);
|
||||||
if (opt_comments)
|
if (opt_comments)
|
||||||
|
{
|
||||||
fprintf(md_result_file,"\n--\n-- Current Database: %s\n--\n", qdatabase);
|
fprintf(md_result_file,"\n--\n-- Current Database: %s\n--\n", qdatabase);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
if (!opt_create_db)
|
if (!opt_create_db)
|
||||||
{
|
{
|
||||||
char qbuf[256];
|
char qbuf[256];
|
||||||
@ -1720,6 +1814,7 @@ static int init_dumping(char *database)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
fprintf(md_result_file,"\nUSE %s;\n", qdatabase);
|
fprintf(md_result_file,"\nUSE %s;\n", qdatabase);
|
||||||
|
check_io(md_result_file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (extended_insert && init_dynamic_string(&extended_row, "", 1024, 1024))
|
if (extended_insert && init_dynamic_string(&extended_row, "", 1024, 1024))
|
||||||
@ -1766,7 +1861,10 @@ static int dump_all_tables_in_db(char *database)
|
|||||||
dumpTable(numrows,table);
|
dumpTable(numrows,table);
|
||||||
}
|
}
|
||||||
if (opt_xml)
|
if (opt_xml)
|
||||||
|
{
|
||||||
fputs("</database>\n", md_result_file);
|
fputs("</database>\n", md_result_file);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
if (lock_tables)
|
if (lock_tables)
|
||||||
mysql_query(sock,"UNLOCK TABLES");
|
mysql_query(sock,"UNLOCK TABLES");
|
||||||
return 0;
|
return 0;
|
||||||
@ -1812,7 +1910,10 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
|
|||||||
dumpTable(numrows, *table_names);
|
dumpTable(numrows, *table_names);
|
||||||
}
|
}
|
||||||
if (opt_xml)
|
if (opt_xml)
|
||||||
|
{
|
||||||
fputs("</database>\n", md_result_file);
|
fputs("</database>\n", md_result_file);
|
||||||
|
check_io(md_result_file);
|
||||||
|
}
|
||||||
if (lock_tables)
|
if (lock_tables)
|
||||||
mysql_query(sock,"UNLOCK TABLES");
|
mysql_query(sock,"UNLOCK TABLES");
|
||||||
return 0;
|
return 0;
|
||||||
@ -1881,6 +1982,7 @@ static void print_value(FILE *file, MYSQL_RES *result, MYSQL_ROW row,
|
|||||||
unescape(file,row[0],(uint) strlen(row[0]));
|
unescape(file,row[0],(uint) strlen(row[0]));
|
||||||
else
|
else
|
||||||
fputs(row[0], file);
|
fputs(row[0], file);
|
||||||
|
check_io(file);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2020,6 +2122,7 @@ int main(int argc, char **argv)
|
|||||||
fprintf(md_result_file,
|
fprintf(md_result_file,
|
||||||
"CHANGE MASTER TO MASTER_LOG_FILE='%s', \
|
"CHANGE MASTER TO MASTER_LOG_FILE='%s', \
|
||||||
MASTER_LOG_POS=%s ;\n",row[0],row[1]);
|
MASTER_LOG_POS=%s ;\n",row[0],row[1]);
|
||||||
|
check_io(md_result_file);
|
||||||
}
|
}
|
||||||
mysql_free_result(master);
|
mysql_free_result(master);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user