List:Commits« Previous MessageNext Message »
From:Jorgen Loland Date:June 18 2008 4:09pm
Subject:bzr commit into mysql-6.0-backup branch (jorgen.loland:2638) Bug#33120
View as plain text  
#At file:///localhome/jl208045/mysql/mysql-6.0-backup-33120/

 2638 Jorgen Loland	2008-06-18
      Bug#33120 - "Backup image flags are not set correctly."
            
      * Set BSTREAM_FLAG_BIG_ENDIAN flag if the backup image is made 
        on a big endian server.
      * Set BSTREAM_FLAG_BINLOG flag if the backup image stores a valid
        binlog position.
modified:
  sql/backup/image_info.cc
  sql/backup/image_info.h

per-file comments:
  sql/backup/image_info.cc
    Set big endian bit in flags bitmap if backup image is created on a big endian server.
  sql/backup/image_info.h
    Set binlog bit in flags bitmap if backup image contains a valid binlog position.
=== modified file 'sql/backup/image_info.cc'
--- a/sql/backup/image_info.cc	2008-04-21 10:45:39 +0000
+++ b/sql/backup/image_info.cc	2008-06-18 14:09:34 +0000
@@ -8,7 +8,6 @@
 
   @brief Implements @c Image_info class and friends.
 
-  @todo Store endianess info in the image.
 */
 
 namespace backup {
@@ -44,7 +43,11 @@ Image_info::Image_info()
   server_version.extra.end= server_version.extra.begin +
                             strlen((const char*)server_version.extra.begin);
 
-  flags= 0;  // TODO: set BSTREAM_FLAG_BIG_ENDIAN flag accordingly
+  flags= 0;
+
+#ifdef WORDS_BIGENDIAN
+  flags|= BSTREAM_FLAG_BIG_ENDIAN;
+#endif
 
   bzero(m_snap, sizeof(m_snap));
 }

=== modified file 'sql/backup/image_info.h'
--- a/sql/backup/image_info.h	2008-05-17 16:08:00 +0000
+++ b/sql/backup/image_info.h	2008-06-18 14:09:34 +0000
@@ -770,7 +770,9 @@ void Image_info::save_vp_time(const time
 }
 
 /**
-  Store validity point binlog position inside image's header.
+  Store validity point binlog position inside image's header. Also sets
+  BSTREAM_FLAG_BINLOG in @c flags bitmap to indicate that this
+  backup image contains a valid binlog position.
  */ 
 inline
 void Image_info::save_binlog_pos(const ::LOG_INFO &li)
@@ -782,6 +784,10 @@ void Image_info::save_binlog_pos(const :
   // store binlog coordinates
   binlog_pos.pos= (unsigned long int)li.pos;
   binlog_pos.file= const_cast<char*>(m_binlog_file.ptr());
+
+  // make flags bitmap reflect that this backup image contains a valid
+  // binlog position
+  flags|= BSTREAM_FLAG_BINLOG;
 }
 
 /// Returns an iterator enumerating all databases stored in backup catalogue.

Thread
bzr commit into mysql-6.0-backup branch (jorgen.loland:2638) Bug#33120Jorgen Loland18 Jun
  • RE: bzr commit into mysql-6.0-backup branch (jorgen.loland:2638) Bug#33120Chuck Bell23 Jun
    • Re: bzr commit into mysql-6.0-backup branch (jorgen.loland:2638)Bug#33120Rafal Somla23 Jun
      • Re: bzr commit into mysql-6.0-backup branch (jorgen.loland:2638)Bug#33120Jørgen Løland27 Jun