Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
76965427
Commit
76965427
authored
Jun 25, 2004
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed bug #1851 "mysqldump does not return
an error code if the output device is filled"
parent
95325f13
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
103 additions
and
0 deletions
+103
-0
client/mysqldump.c
client/mysqldump.c
+103
-0
No files found.
client/mysqldump.c
View file @
76965427
...
@@ -55,6 +55,7 @@
...
@@ -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);
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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,
...
@@ -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,
...
@@ -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,
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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)
...
@@ -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
))
...
@@ -1544,11 +1617,15 @@ static void dumpTable(uint numFields, char *table)
...
@@ -1544,11 +1617,15 @@ static void dumpTable(uint numFields, char *table)
fputs
(
ptr
,
md_result_file
);
fputs
(
ptr
,
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
)
{
{
...
@@ -1571,9 +1648,13 @@ static void dumpTable(uint numFields, char *table)
...
@@ -1571,9 +1648,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 */
...
@@ -1582,6 +1663,7 @@ static void dumpTable(uint numFields, char *table)
...
@@ -1582,6 +1663,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
"
,
...
@@ -1595,12 +1677,21 @@ static void dumpTable(uint numFields, char *table)
...
@@ -1595,12 +1677,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
));
...
@@ -1691,7 +1782,10 @@ static int init_dumping(char *database)
...
@@ -1691,7 +1782,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
];
...
@@ -1718,6 +1812,7 @@ static int init_dumping(char *database)
...
@@ -1718,6 +1812,7 @@ static int init_dumping(char *database)
}
}
}
}
fprintf
(
md_result_file
,
"
\n
USE %s;
\n
"
,
qdatabase
);
fprintf
(
md_result_file
,
"
\n
USE %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
))
...
@@ -1764,7 +1859,10 @@ static int dump_all_tables_in_db(char *database)
...
@@ -1764,7 +1859,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
;
...
@@ -1810,7 +1908,10 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
...
@@ -1810,7 +1908,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
;
...
@@ -1879,6 +1980,7 @@ static void print_value(FILE *file, MYSQL_RES *result, MYSQL_ROW row,
...
@@ -1879,6 +1980,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
;
}
}
}
}
...
@@ -2018,6 +2120,7 @@ int main(int argc, char **argv)
...
@@ -2018,6 +2120,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
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment