summaryrefslogtreecommitdiff
path: root/mysqlcppconn/mysql-connector-cpp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mysqlcppconn/mysql-connector-cpp.patch')
-rw-r--r--mysqlcppconn/mysql-connector-cpp.patch385
1 files changed, 385 insertions, 0 deletions
diff --git a/mysqlcppconn/mysql-connector-cpp.patch b/mysqlcppconn/mysql-connector-cpp.patch
new file mode 100644
index 000000000000..b71050435165
--- /dev/null
+++ b/mysqlcppconn/mysql-connector-cpp.patch
@@ -0,0 +1,385 @@
+--- misc/mysql-connector-cpp/cppconn/build_config.h 2009-08-13 17:13:46.000000000 +0200
++++ misc/build/mysql-connector-cpp/cppconn/build_config.h 2009-09-11 09:41:41.150391316 +0200
+@@ -1,36 +1,34 @@
+-/*
+- Copyright 2007 - 2008 MySQL AB, 2008 - 2009 Sun Microsystems, Inc. All rights reserved.
+-
+- The MySQL Connector/C++ is licensed under the terms of the GPL
+- <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>, like most
+- MySQL Connectors. There are special exceptions to the terms and
+- conditions of the GPL as it is applied to this software, see the
+- FLOSS License Exception
+- <http://www.mysql.com/about/legal/licensing/foss-exception.html>.
+-*/
+-
+-#ifndef _SQL_BUILD_CONFIG_H_
+-#define _SQL_BUILD_CONFIG_H_
+-
+-#ifndef CPPCONN_PUBLIC_FUNC
+-
+-#if defined(_WIN32)
+- // mysqlcppconn_EXPORTS is added by cmake and defined for dynamic lib build only
+- #ifdef mysqlcppconn_EXPORTS
+- #define CPPCONN_PUBLIC_FUNC __declspec(dllexport)
+- #else
+- // this is for static build
+- #ifdef CPPCONN_LIB_BUILD
+- #define CPPCONN_PUBLIC_FUNC
+- #else
+- // this is for clients using dynamic lib
+- #define CPPCONN_PUBLIC_FUNC __declspec(dllimport)
+- #endif
+- #endif
+-#else
+- #define CPPCONN_PUBLIC_FUNC
+-#endif
+-
+-#endif //#ifndef CPPCONN_PUBLIC_FUNC
+-
+-#endif //#ifndef _SQL_BUILD_CONFIG_H_
++/*
++ Copyright 2007 - 2008 MySQL AB, 2008 - 2009 Sun Microsystems, Inc. All rights reserved.
++
++ The MySQL Connector/C++ is licensed under the terms of the GPL
++ <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>, like most
++ MySQL Connectors. There are special exceptions to the terms and
++ conditions of the GPL as it is applied to this software, see the
++ FLOSS License Exception
++ <http://www.mysql.com/about/legal/licensing/foss-exception.html>.
++*/
++
++#ifndef _SQL_BUILD_CONFIG_H_
++#define _SQL_BUILD_CONFIG_H_
++
++#ifndef _SAL_TYPES_H_
++#include <sal/types.h>
++#endif
++
++ // mysqlcppconn_EXPORTS is added by cmake and defined for dynamic lib build only
++ #ifdef mysqlcppconn_EXPORTS
++ #define CPPCONN_PUBLIC_FUNC SAL_DLLPUBLIC_EXPORT
++ #else
++ // this is for static build
++ #ifdef CPPCONN_LIB_BUILD
++ #define CPPCONN_PUBLIC_FUNC
++ #else
++ // this is for clients using dynamic lib
++ #define CPPCONN_PUBLIC_FUNC SAL_DLLPUBLIC_IMPORT
++ #endif
++ #endif
++
++ #define CPPCONN_PUBLIC_EXCEPTION SAL_EXCEPTION_DLLPUBLIC_EXPORT
++
++#endif //#ifndef _SQL_BUILD_CONFIG_H_
+--- misc/mysql-connector-cpp/cppconn/config.h 2009-08-14 10:17:38.234375000 +0200
++++ misc/build/mysql-connector-cpp/cppconn/config.h 2009-08-14 09:56:37.000000000 +0200
+@@ -1 +1,34 @@
+-dummy
++#include <sal/types.h>
++
++#define HAVE_FUNCTION_STRTOL 1
++#define HAVE_FUNCTION_STRTOUL 1
++#define HAVE_FUNCTION_STRTOL 1
++#define HAVE_FUNCTION_STRTOULL 1
++
++#if defined(MACOSX) || defined(SOLARIS) || defined(LINUX)
++ #define HAVE_STDINT_H
++ #define HAVE_INTTYPES_H
++#endif
++
++#ifdef HAVE_STDINT_H
++#include <stdint.h>
++#endif
++
++#ifdef HAVE_INTTYPES_H
++#include <inttypes.h>
++#endif
++
++#if !defined(HAVE_STDINT_H) && !defined(HAVE_INTTYPES_H)
++
++// if we do not have the standard C99 integer types, then define them based on the respective SAL types
++#if !defined(_SYS_TYPES_H)
++typedef sal_Int8 int8_t;
++typedef sal_Int16 int16_t;
++typedef sal_Int32 int32_t;
++#endif // !defined(_SYS_TYPES_H)
++typedef sal_uInt8 uint8_t;
++typedef sal_uInt16 uint16_t;
++typedef sal_uInt32 uint32_t;
++typedef sal_Int64 int64_t;
++typedef sal_uInt64 uint64_t;
++#endif // !defined(HAVE_STDINT_H) && !defined(HAVE_INTTYPES_H)
+--- misc/mysql-connector-cpp/cppconn/connection.h 2009-08-13 17:13:46.000000000 +0200
++++ misc/build/mysql-connector-cpp/cppconn/connection.h 2009-08-14 09:56:37.000000000 +0200
+@@ -13,7 +13,6 @@
+ #define _SQL_CONNECTION_H_
+
+ #include <map>
+-#include <boost/variant.hpp>
+
+ #include "build_config.h"
+ #include "warning.h"
+@@ -22,8 +21,54 @@
+ namespace sql
+ {
+
+-
+-typedef boost::variant<int, double, bool, sql::SQLString > ConnectPropertyVal;
++// hack around the non-existent ::boost::variant in OOo 3.1 build env
++struct ConnectPropertyVal
++{
++ sql::SQLString valString;
++ int valInt;
++ bool valBool;
++
++ ConnectPropertyVal()
++ {
++ reset();
++ }
++ ConnectPropertyVal( const sql::SQLString& _val )
++ {
++ *this = _val;
++ }
++ ConnectPropertyVal( const int _val )
++ {
++ *this = _val;
++ }
++ ConnectPropertyVal( const bool _val )
++ {
++ *this = _val;
++ }
++ ConnectPropertyVal& operator=( const sql::SQLString& _val )
++ {
++ reset();
++ valString = _val;
++ return *this;
++ }
++ ConnectPropertyVal& operator=( const int _val )
++ {
++ reset();
++ valInt = _val;
++ return *this;
++ }
++ ConnectPropertyVal& operator=( const bool _val )
++ {
++ reset();
++ valBool = _val;
++ return *this;
++ }
++ void reset()
++ {
++ valString = std::string();
++ valInt = 0;
++ valBool = false;
++ }
++};
+
+ typedef std::map< sql::SQLString, ConnectPropertyVal > ConnectOptionsMap;
+
+--- misc/mysql-connector-cpp/cppconn/exception.h 2009-08-20 17:51:23.000000000 +0200
++++ misc/build/mysql-connector-cpp/cppconn/exception.h 2009-09-11 09:41:41.076379817 +0200
+@@ -37,7 +37,7 @@
+ #pragma warning(push)
+ #pragma warning(disable: 4275)
+ #endif
+-class CPPCONN_PUBLIC_FUNC SQLException : public std::runtime_error
++class CPPCONN_PUBLIC_EXCEPTION SQLException : public std::runtime_error
+ {
+ #ifdef _WIN32
+ #pragma warning(pop)
+@@ -83,26 +83,26 @@
+ MEMORY_ALLOC_OPERATORS(SQLException)
+ };
+
+-struct CPPCONN_PUBLIC_FUNC MethodNotImplementedException : public SQLException
++struct CPPCONN_PUBLIC_EXCEPTION MethodNotImplementedException : public SQLException
+ {
+ MethodNotImplementedException(const MethodNotImplementedException& e) : SQLException(e.what(), e.sql_state, e.errNo) { }
+ MethodNotImplementedException(const std::string& reason) : SQLException(reason, "", 0) {}
+ };
+
+-struct CPPCONN_PUBLIC_FUNC InvalidArgumentException : public SQLException
++struct CPPCONN_PUBLIC_EXCEPTION InvalidArgumentException : public SQLException
+ {
+ InvalidArgumentException(const InvalidArgumentException& e) : SQLException(e.what(), e.sql_state, e.errNo) { }
+ InvalidArgumentException(const std::string& reason) : SQLException(reason, "", 0) {}
+ };
+
+-struct CPPCONN_PUBLIC_FUNC InvalidInstanceException : public SQLException
++struct CPPCONN_PUBLIC_EXCEPTION InvalidInstanceException : public SQLException
+ {
+ InvalidInstanceException(const InvalidInstanceException& e) : SQLException(e.what(), e.sql_state, e.errNo) { }
+ InvalidInstanceException(const std::string& reason) : SQLException(reason, "", 0) {}
+ };
+
+
+-struct CPPCONN_PUBLIC_FUNC NonScrollableException : public SQLException
++struct CPPCONN_PUBLIC_EXCEPTION NonScrollableException : public SQLException
+ {
+ NonScrollableException(const NonScrollableException& e) : SQLException(e.what(), e.sql_state, e.errNo) { }
+ NonScrollableException(const std::string& reason) : SQLException(reason, "", 0) {}
+--- misc/mysql-connector-cpp/driver/makefile.mk 2009-09-11 09:42:34.087202551 +0200
++++ misc/build/mysql-connector-cpp/driver/makefile.mk 2009-09-11 09:42:25.902286382 +0200
+@@ -1 +1,64 @@
+-dummy
++PRJ=..$/..$/..$/..$/..
++
++.INCLUDE : $(PRJ)$/cppconn_config.pmk
++
++PRJINC=..
++TARGET=$(PRJNAME)
++
++# --- Settings -----------------------------------------------------
++
++.INCLUDE : settings.mk
++
++.INCLUDE : $(PRJ)$/mysql_config.pmk
++
++# --- Files --------------------------------------------------------
++
++.IF "$(GUI)-$(OS)-$(RTL_ARCH)" == "UNX-LINUX-x86"
++ SHL1NOCHECK=TRUE
++.ENDIF
++SHL1TARGET=$(TARGET)
++
++LIB1TARGET=$(SLB)$/$(PRJNAME).lib
++LIB1OBJFILES+= \
++ $(SLO)$/mysql_art_resultset.obj \
++ $(SLO)$/mysql_art_rset_metadata.obj \
++ $(SLO)$/mysql_connection.obj \
++ $(SLO)$/mysql_debug.obj \
++ $(SLO)$/mysql_driver.obj \
++ $(SLO)$/mysql_metadata.obj \
++ $(SLO)$/mysql_parameter_metadata.obj \
++ $(SLO)$/mysql_prepared_statement.obj \
++ $(SLO)$/mysql_ps_resultset.obj \
++ $(SLO)$/mysql_ps_resultset_metadata.obj \
++ $(SLO)$/mysql_resultbind.obj \
++ $(SLO)$/mysql_resultset.obj \
++ $(SLO)$/mysql_resultset_metadata.obj \
++ $(SLO)$/mysql_statement.obj \
++ $(SLO)$/mysql_util.obj \
++ $(SLO)$/mysql_warning.obj \
++
++SHL1STDLIBS=\
++ $(MYSQL_LIB)
++
++SHL1RPATH=OXT
++SHL1IMPLIB= i$(TARGET)
++SHL1LIBS= $(LIB1TARGET) $(SLB)$/$(CPPCONN_NATIVEAPI).lib
++SHL1DEF= $(MISC)$/$(SHL1TARGET).def
++DEF1NAME= $(SHL1TARGET)
++DEF1DEPN= $(MISC)$/$(SHL1TARGET).flt \
++ $(LIB1TARGET)
++DEFLIB1NAME=$(TARGET)
++
++# --- Targets ------------------------------------------------------
++
++.INCLUDE : target.mk
++
++# --- filter file ------------------------------
++
++.IF "$(depend)"==""
++$(MISC)$/$(SHL1TARGET).flt: makefile.mk
++ @echo CLEAR_THE_FILE > $@
++ @echo _TI >>$@
++ @echo _real >>$@
++ @echo __CT >>$@
++.ENDIF # "$(depend)"==""
+--- misc/mysql-connector-cpp/driver/mysql_connection.cpp 2009-08-13 17:13:46.000000000 +0200
++++ misc/build/mysql-connector-cpp/driver/mysql_connection.cpp 2009-08-14 09:56:37.015625000 +0200
+@@ -50,6 +50,34 @@
+ #include "mysql_debug.h"
+
+
++// part II of the hack to make C/C++ compile in an OOo env which doesn't have boost::variant installed
++namespace boost
++{
++ template < class TYPE >
++ const TYPE* get( const sql::ConnectPropertyVal* val )
++ {
++ return val;
++ }
++
++ template < >
++ const sql::SQLString* get< sql::SQLString >( const sql::ConnectPropertyVal* val )
++ {
++ return &val->valString;
++ }
++
++ template < >
++ const int* get< int >( const sql::ConnectPropertyVal* val )
++ {
++ return &val->valInt;
++ }
++
++ template < >
++ const bool* get< bool >( const sql::ConnectPropertyVal* val )
++ {
++ return &val->valBool;
++ }
++}
++
+ namespace sql
+ {
+ namespace mysql
+--- misc/mysql-connector-cpp/driver/mysql_debug.h 2009-08-13 17:13:46.000000000 +0200
++++ misc/build/mysql-connector-cpp/driver/mysql_debug.h 2009-08-14 09:56:37.015625000 +0200
+@@ -25,16 +25,6 @@
+
+
+
+-#if defined(WE_HAVE_VARARGS_MACRO_SUPPORT) && (CPPCONN_TRACE_ENABLED || defined(SAL_DLLPRIVATE))
+- #define CPP_ENTER(msg) const boost::shared_ptr< MySQL_DebugLogger > __l = this->logger;(void)__l;\
+- MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, this->logger)
+- #define CPP_ENTER_WL(l, msg) const boost::shared_ptr< MySQL_DebugLogger > __l = (l);(void)__l;\
+- MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, (l))
+- #define CPP_INFO(msg) {if (__l) __l->log("INF", msg); }
+- #define CPP_INFO_FMT(...) {if (__l) __l->log_va("INF", __VA_ARGS__); }
+- #define CPP_ERR(msg) {if (__l) __l->log("ERR", msg); }
+- #define CPP_ERR_FMT(...) {if (__l) __l->log_va("ERR", __VA_ARGS__); }
+-#else
+ #define CPP_ENTER(msg)
+ #define CPP_ENTER_WL(l, msg)
+ #define CPP_INFO(msg)
+@@ -42,7 +32,6 @@
+ #define CPP_ENTER_WL(l, msg)
+ static inline void CPP_INFO_FMT(...) {}
+ static inline void CPP_ERR_FMT(...) {}
+-#endif
+
+ #include <stack>
+ #include "mysql_util.h"
+--- misc/mysql-connector-cpp/driver/nativeapi/binding_config.h 2009-08-14 10:17:23.640625000 +0200
++++ misc/build/mysql-connector-cpp/driver/nativeapi/binding_config.h 2009-08-14 10:13:50.359375000 +0200
+@@ -1 +1,2 @@
+-dummy
++#define HAVE_DLFCN_H 1
++//#define MYSQLCLIENT_STATIC_BINDING 1
+--- misc/mysql-connector-cpp/driver/nativeapi/makefile.mk 2009-08-17 21:32:53.694119382 +0200
++++ misc/build/mysql-connector-cpp/driver/nativeapi/makefile.mk 2009-08-17 21:32:50.534346360 +0200
+@@ -1 +1,23 @@
+-dummy
++PRJ=..$/..$/..$/..$/..$/..
++PRJINC=..$/..
++
++.INCLUDE : $(PRJ)$/cppconn_config.pmk
++
++TARGET=$(CPPCONN_NATIVEAPI)
++
++# --- Settings -----------------------------------------------------
++
++.INCLUDE : settings.mk
++
++.INCLUDE : $(PRJ)$/mysql_config.pmk
++
++LIB1TARGET=$(SLB)$/$(TARGET).lib
++LIB1OBJFILES+= \
++ $(SLO)$/mysql_client_api.obj \
++ $(SLO)$/library_loader.obj \
++ $(SLO)$/mysql_native_connection_wrapper.obj \
++ $(SLO)$/mysql_native_resultset_wrapper.obj \
++ $(SLO)$/mysql_native_statement_wrapper.obj \
++
++# --- Targets ------------------------------------------------------
++.INCLUDE : target.mk