#At file:///D:/source/bzr/mysql-6.0-bug-29643/
2694 Chuck Bell 2008-09-16
BUG#29643 : Backup: Link failure of executable mysqld, symbol in backup not found
The backup code contains constructs that are not compatible with the Xlc compiler
(formerly VisualAge) on AIX.
The errors include:
* C++ comments in a .c file
* Namespace issues.
* Extra ; after method definition
modified:
sql/backup/backup_info.cc
sql/backup/stream_v1.c
sql/backup/stream_v1_transport.c
per-file messages:
sql/backup/backup_info.cc
Fixed namespace problem referencing the Image_info class.
sql/backup/stream_v1.c
Replaced C++ style comments with C style comments.
sql/backup/stream_v1_transport.c
Replaced C++ style comments with C style comments.
Removed extraneous ; after function definition (was being interpreted as a variable
declaration).
=== modified file 'sql/backup/backup_info.cc'
--- a/sql/backup/backup_info.cc 2008-08-20 13:23:10 +0000
+++ b/sql/backup/backup_info.cc 2008-09-16 16:09:18 +0000
@@ -1285,7 +1285,7 @@ int Backup_info::add_to_dep_list(const o
Currently only global objects handled are tablespaces and databases.
*/
class Backup_info::Global_iterator
- : public Image_info::Iterator
+ : public backup::Image_info::Iterator
{
/**
Indicates whether tablespaces or databases are being currently enumerated.
@@ -1373,7 +1373,7 @@ Backup_info::Global_iterator::next()
This iterator uses the dependency list maintained inside Backup_info
instance to list objects in a dependency-respecting order.
*/
-class Backup_info::Perdb_iterator : public Image_info::Iterator
+class Backup_info::Perdb_iterator : public backup::Image_info::Iterator
{
Dep_node *ptr;
=== modified file 'sql/backup/stream_v1.c'
--- a/sql/backup/stream_v1.c 2008-09-09 08:19:21 +0000
+++ b/sql/backup/stream_v1.c 2008-09-16 16:09:18 +0000
@@ -1813,7 +1813,7 @@ int bstream_rd_data_chunk(backup_stream
envelope= buf;
}
- // update chunk->data to point to the new buffer
+ /* update chunk->data to point to the new buffer */
chunk->data= *buf;
/* update to_read blob to indicate free space left */
=== modified file 'sql/backup/stream_v1_transport.c'
--- a/sql/backup/stream_v1_transport.c 2008-09-11 09:47:53 +0000
+++ b/sql/backup/stream_v1_transport.c 2008-09-16 16:09:18 +0000
@@ -289,12 +289,12 @@ int read_fragment_header(byte **header)
int as_write_all(struct st_abstract_stream *s, bstream_blob b, bstream_blob env)
{
int ret= BSTREAM_OK;
-
while ((ret == BSTREAM_OK) && (b.begin < b.end))
ret= as_write(s,&b,env);
return ret;
-};
+}
+
/** Fill blob with bytes from stream */
int as_read_all(struct st_abstract_stream *s, bstream_blob b, bstream_blob env)
@@ -305,7 +305,7 @@ int as_read_all(struct st_abstract_strea
ret= as_read(s,&b,env);
return ret;
-};
+}
/*************************************************************************
@@ -775,7 +775,7 @@ int load_next_fragment(backup_stream *s)
s->state= NORMAL; /* default, unless changed below */
- ret= read_fragment_header(&s->buf.header); // Never errors.
+ ret= read_fragment_header(&s->buf.header); /* Never errors. */
/*
If buf.header was not moved, it means that the fragment extends to
@@ -1128,7 +1128,7 @@ int bstream_write_part(backup_stream *s,
If nothing else worked, we just append the data to the output buffer
and return.
*/
- append_to_buffer(s,data); // Never errors.
+ append_to_buffer(s,data); /* Never errors. */
return BSTREAM_OK;
}
@@ -1638,7 +1638,7 @@ int bstream_next_chunk(backup_stream *s)
ASSERT(s->buf.pos > s->buf.header);
ret= load_next_fragment(s);
- if (ret == BSTREAM_ERROR) // To avoid invariant check below.
+ if (ret == BSTREAM_ERROR) /* To avoid invariant check below. */
return BSTREAM_ERROR;
/* if we hit EOC marker here, we treat it as empty chunk */
if (ret == BSTREAM_EOC)