Documentation Home
MySQL 连接器/C++ 发行说明  / MySQL 连接器/C++ 1.1 中的更改  /  MySQL Connector/C++ 1.1.0 的变化(2010-09-13,全面上市)

MySQL Connector/C++ 1.1.0 的变化(2010-09-13,全面上市)

这修复了自第一个 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已更改为类型booleanfrom long long

  • get_driver_instance()现在仅在动态库构建中可用;静态构建没有这个符号。这样做是为了适应用 LoadLibrary或加载 DLL dlopen。如果您不使用CMake构建源代码,则需要定义 mysqlcppconn_EXPORTS您是否正在动态加载并希望使用 get_driver_instance()入口点。

  • Connection::getClientOption(const sql::SQLString & optionName, void * optionValue)现在接受 optionNamemetadataUseInfoSchemadefaultStatementResultTypedefaultPreparedStatementResultTypecharacterSetResults。在以前的版本中只metadataUseInfoSchema允许。相同的选项可用于 Connection::setClientOption().

修正错误

  • 某些头文件错误地出现在源代码分发中。该修复从使用 CPack 生成的源包中排除了动态生成的和平台特定的头文件。(漏洞 #45846)

  • 如果配置源外构建,即当未从源根目录调用CMake时, CMake会生成错误。(漏洞 #45843)

  • 使用准备好的语句会导致堆损坏。(漏洞 #45048)

  • 使用 GCC 4.4 时缺少包含。请注意,GCC 4.4 尚未用于任何官方连接器/C++ 构建。(漏洞 #44931)

  • 准备好的语句中的错误已修复。当在没有任何参数的情况下准备存储过程时,就会出现该错误。这导致了异常。(漏洞 #44931)

  • 修复了准备好的语句性能问题。读取大型结果集很慢。

  • 修复了ResultSetMetaDatafor statements 和 prepared statements 中的错误,getScalegetPrecision返回了错误的结果。