From 1a613f89a87c91723d88dce99a339febc7a86ff5 Mon Sep 17 00:00:00 2001 From: Shubhangi Garg Date: Tue, 14 May 2013 22:52:42 +0530 Subject: [PATCH] Bug#16607258 :Linker Errors Due To Inclusion Of An Implementation File In log_event.h DESCRIPTION: Due to inclusion of an implementation file, namely 'rpl_tblmap.cc' in a header file, namely 'log_event.h'; linker errors occur if log_event.h is included in an application containing multiple source files, such as in the case of Binlog API. Binlog API requires including log_event.h in its source files; which leads to multiple definition errors, for functions defined in rpl_tblmap.cc for class 'table_mapping'. FIX: Change the inclusion from header file(log_event.h) to source files using this header and have flag MYSQL_CLIENT set. The only file in the current server repository is mysqlbinlog.cc. --- client/mysqlbinlog.cc | 1 + sql/log_event.h | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index 60c9e4a0b40..dbc30680959 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -2225,3 +2225,4 @@ int main(int argc, char** argv) #include "log_event.cc" #include "log_event_old.cc" #include "rpl_utility.cc" +#include "rpl_tblmap.cc" diff --git a/sql/log_event.h b/sql/log_event.h index 27d9047413a..fa17b32bef2 100644 --- a/sql/log_event.h +++ b/sql/log_event.h @@ -40,7 +40,6 @@ #include "rpl_utility.h" #include "hash.h" #include "rpl_tblmap.h" -#include "rpl_tblmap.cc" #endif #ifdef MYSQL_SERVER