这修复了自第一个 GA 版本 1.0.5 以来的错误并引入了新功能。
-
不兼容的更改: API 不兼容的更改:
ConnectPropertyVal
不再struct
由使用boost::variant
. 代码如:sql::ConnectPropertyVal tmp; tmp.str.val=passwd.c_str(); tmp.str.len=passwd.length(); connection_properties["password"] = tmp;
应该改为:
connection_properties["password"] = sql::ConnectPropertyVal(passwd);
的实例
std::auto_ptr
已更改为boost::scoped_ptr
。作用域数组实例现在使用 boost::scoped_array。此外,boost::shared_ptr
现在boost::weak_ptr
用于保护对结果集的访问。LDFLAGS
,CXXFLAGS
现在CPPFLAGS
从环境中检查每个生成的二进制文件。连接映射属性
OPT_RECONNECT
已更改为类型boolean
fromlong
long
。get_driver_instance()
现在仅在动态库构建中可用;静态构建没有这个符号。这样做是为了适应用LoadLibrary
或加载 DLLdlopen
。如果您不使用CMake构建源代码,则需要定义mysqlcppconn_EXPORTS
您是否正在动态加载并希望使用get_driver_instance()
入口点。Connection::getClientOption(const sql::SQLString & optionName, void * optionValue)
现在接受optionName
值metadataUseInfoSchema
、defaultStatementResultType
、defaultPreparedStatementResultType
和characterSetResults
。在以前的版本中只metadataUseInfoSchema
允许。相同的选项可用于Connection::setClientOption()
.
某些头文件错误地出现在源代码分发中。该修复从使用 CPack 生成的源包中排除了动态生成的和平台特定的头文件。(漏洞 #45846)
如果配置源外构建,即当未从源根目录调用CMake时, CMake会生成错误。(漏洞 #45843)
使用准备好的语句会导致堆损坏。(漏洞 #45048)
使用 GCC 4.4 时缺少包含。请注意,GCC 4.4 尚未用于任何官方连接器/C++ 构建。(漏洞 #44931)
准备好的语句中的错误已修复。当在没有任何参数的情况下准备存储过程时,就会出现该错误。这导致了异常。(漏洞 #44931)
修复了准备好的语句性能问题。读取大型结果集很慢。
修复了
ResultSetMetaData
for statements 和 prepared statements 中的错误,getScale
并getPrecision
返回了错误的结果。