Below is the list of changes that have just been committed into a local
5.2 repository of rafal. When rafal does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-07-05 17:14:01+02:00, rafal@quant.(none) +7 -0
WL#3169: During production build more build problems were discovered
(the distribution build uses more platforms than pushbuild). This patch
reformulates parts of the code to satisfy more demanding compilers.
sql/backup/archive.cc@stripped, 2007-07-05 17:13:52+02:00, rafal@quant.(none) +3 -3
Change Table_ref constructor to avoid accessing protected member
m_db_names of Image_info::Tables class.
sql/backup/archive.h@stripped, 2007-07-05 17:13:53+02:00, rafal@quant.(none) +5 -2
- Add friend class declaration where access to private/protected members is needed,
- Disambiguate base class Archive_info::Item from ::Item.
sql/backup/backup_kernel.h@stripped, 2007-07-05 17:13:53+02:00, rafal@quant.(none) +2 -0
Add frined class declaration needed for accessing private members of
Backup_info class.
sql/backup/data_backup.cc@stripped, 2007-07-05 17:13:53+02:00, rafal@quant.(none) +1 -0
Add frined class declaration needed for accessing private members of
Backup_info class.
sql/backup/map.h@stripped, 2007-07-05 17:13:53+02:00, rafal@quant.(none) +1 -1
size member was not accepted as constant integer expression, but K::size is...
sql/backup/sql_backup.cc@stripped, 2007-07-05 17:13:53+02:00, rafal@quant.(none) +7 -7
Change order of arguments for report errors since otherwise varargs don't
work on some platforms (nocona).
sql/backup/stream.h@stripped, 2007-07-05 17:13:53+02:00, rafal@quant.(none) +2 -2
Add explicit private inheritance to avoid compiler warnings.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: rafal
# Host: quant.(none)
# Root: /ext/mysql/bkroot/mysql-5.2-backup
--- 1.8/sql/backup/archive.cc 2007-07-05 17:14:05 +02:00
+++ 1.9/sql/backup/archive.cc 2007-07-05 17:14:05 +02:00
@@ -639,15 +639,15 @@
struct Table_ref: public backup::Table_ref
{
- Table_ref(const Image_info::Tables &list, Image_info::Tables::node &n):
- backup::Table_ref(list.m_db_names[n.db],n.name)
+ Table_ref(const StringPool &db_names, Image_info::Tables::node &n):
+ backup::Table_ref(db_names[n.db],n.name)
{}
};
node *ptr= find_table(pos);
DBUG_ASSERT(ptr);
- return Table_ref(*this,*ptr);
+ return Table_ref(m_db_names,*ptr);
}
/******************
--- 1.6/sql/backup/archive.h 2007-07-05 17:14:05 +02:00
+++ 1.7/sql/backup/archive.h 2007-07-05 17:14:05 +02:00
@@ -110,6 +110,8 @@
private:
friend class Image_info;
+ friend class Db_item;
+ friend class Table_item;
};
/**
@@ -282,6 +284,7 @@
friend class Archive_info;
friend class Backup_info;
friend class Restore_info;
+ friend class Iterator;
};
@@ -345,7 +348,7 @@
as a var-length coded integer.
*/
class Archive_info::Db_item:
- public Item, public meta::Db, public Db_ref
+ public Archive_info::Item, public meta::Db, public Db_ref
{
StringPool::Key key;
@@ -381,7 +384,7 @@
image's table list.
*/
class Archive_info::Table_item:
- public Item, public meta::Table, public Table_ref
+ public Archive_info::Item, public meta::Table, public Table_ref
{
uint img; ///< Image in which this table is saved.
uint pos; ///< Position of the table in image's table list.
--- 1.4/sql/backup/backup_kernel.h 2007-07-05 17:14:05 +02:00
+++ 1.5/sql/backup/backup_kernel.h 2007-07-05 17:14:05 +02:00
@@ -164,6 +164,8 @@
Item *m_items;
Item *m_last_item;
Item *m_last_db;
+
+ friend class Item_iterator;
};
class Backup_info::Item_iterator: public Archive_info::Item::Iterator
--- 1.7/sql/backup/data_backup.cc 2007-07-05 17:14:05 +02:00
+++ 1.8/sql/backup/data_backup.cc 2007-07-05 17:14:05 +02:00
@@ -282,6 +282,7 @@
void cancel_backup();
friend int write_table_data(THD*, Backup_info&, OStream&);
+ friend class Pump_iterator;
};
/**
--- 1.2/sql/backup/map.h 2007-07-05 17:14:05 +02:00
+++ 1.3/sql/backup/map.h 2007-07-05 17:14:05 +02:00
@@ -93,7 +93,7 @@
bigger= K::null;
smaller= K::null;
};
- } entries[size];
+ } entries[K::size];
uint m_count;
--- 1.14/sql/backup/sql_backup.cc 2007-07-05 17:14:06 +02:00
+++ 1.15/sql/backup/sql_backup.cc 2007-07-05 17:14:06 +02:00
@@ -42,7 +42,7 @@
Report errors. The main error code and optional arguments for its description
are given plus a logger object which can contain stored errors.
*/
-static int report_errors(THD*,int, Logger&,...);
+static int report_errors(THD*, Logger&, int, ...);
/*
Check if info object is valid. If not, report error to client.
@@ -130,7 +130,7 @@
if (mysql_restore(thd,info,*stream))
{
- report_errors(thd,ER_BACKUP_RESTORE,info);
+ report_errors(thd,info,ER_BACKUP_RESTORE);
goto restore_error;
}
else
@@ -203,7 +203,7 @@
if (mysql_backup(thd,info,*stream))
{
- report_errors(thd,ER_BACKUP_BACKUP,info);
+ report_errors(thd,info,ER_BACKUP_BACKUP);
goto backup_error;
}
else
@@ -1068,7 +1068,7 @@
Current implementation reports the last error saved in the logger if it exist.
Otherwise it reports error given by @c error_code.
*/
-int report_errors(THD *thd,int error_code, Logger &log, ...)
+int report_errors(THD *thd, Logger &log, int error_code, ...)
{
MYSQL_ERROR *error= log.last_saved_error();
@@ -1081,7 +1081,7 @@
{
char buf[ERRMSGSIZE + 20];
va_list args;
- va_start(args,log);
+ va_start(args,error_code);
my_vsnprintf(buf,sizeof(buf),ER_SAFE(error_code),args);
my_printf_error(error_code,buf,MYF(0));
@@ -1095,13 +1095,13 @@
inline
int check_info(THD *thd, Backup_info &info)
{
- return info.is_valid() ? OK : report_errors(thd,ER_BACKUP_BACKUP_PREPARE,info);
+ return info.is_valid() ? OK : report_errors(thd,info,ER_BACKUP_BACKUP_PREPARE);
}
inline
int check_info(THD *thd, Restore_info &info)
{
- return info.is_valid() ? OK : report_errors(thd,ER_BACKUP_RESTORE_PREPARE,info);
+ return info.is_valid() ? OK : report_errors(thd,info,ER_BACKUP_RESTORE_PREPARE);
}
/**
--- 1.7/sql/backup/stream.h 2007-07-05 17:14:06 +02:00
+++ 1.8/sql/backup/stream.h 2007-07-05 17:14:06 +02:00
@@ -520,7 +520,7 @@
*/
class OStream:
- Window,
+ private Window,
public Stream,
public util::OStream< Window >
{
@@ -585,7 +585,7 @@
*/
class IStream:
- Window,
+ private Window,
public Stream,
public util::IStream< Window >
{