MySQL连接器和其他MySQL客户端工具和应用程序现在将其版本号的第一位数字与它们支持的(最高)MySQL服务器版本同步。例如,MySQL Connector/ c++ 8.0.12将被设计为支持MySQL服务器版本8(或更低)的所有特性。这一更改使决定将哪个客户机版本用于哪个服务器版本变得简单而直观。
Connector/ c++ 8.0.5是第一个使用新编号的版本。它是Connector/ c++ 2.0.4的继承者。
连接器/ C ++现在支持配置为使用的MySQL服务器
utf8mb4
作为默认字符集。目前,Connector/ c++只支持UTF-8和ASCII默认字符集(
UTF8.
,utf8mb4
, 和美国信息交换标准代码
)。如果用户创建了一个包含使用非utf -8字符集的文本列的表,并且该列包含一个非ascii字符的字符串,那么当试图访问该字符串时(例如,在查询结果中)将会发生错误。另一方面,如果字符串只包含ASCII字符,不管字符集是什么,都能得到正确的结果。此外,对于任何字符集,总是可以获得列值的原始字节。
对于C应用程序的X Devapi或X Devapi,在创建新会话时,可以尝试多个主机,直到建立成功的连接。可以在连接字符串或会话创建选项中给出一个主机列表,有或没有优先级。
X DevAPI例子:
Session Sess(“mysqlx://用户:密码@[“server.example.com”、“192.0.2.11:33060,”“[2001:db8:85a3:8d3:1319:8a2e 370:7348):: 1 "] /数据库”);Session sess({SessionSettings::USER, "用户”,SessionSettings: PWD。”密码,sessionsettings :: host,“server.example.com”,sessionsettings :: host,“192.0.2.11”,sessionsittings :: port,33060,sessionsettings :: host,“[2001:DB8:85A3:8D3:1319:8A2E:370:7348]“,Sessionsettings :: Port,1,Sessionsettings :: DB,”数据库“});
x devapi for c的例子:
Sess = mysqlx_get_session_from_url("mysqlx:// . conf ")用户:密码@ [“”(地址= 127.0.0.1,priority = 2),“”(address = example.com:1300,priority = 100)“”] /数据库“,ersqlx_opt_type_t * sess_opt = mysqlx_session_option_new(); mysqlx_session_option_set(sess_opt,mysqlx_opt_user,“用户“,mysqlx_opt_pwd,”密码“,mysqlx_opt_host,”127.0.0.1“,mysqlx_opt_priority,2,mysqlx_opt_host,”example.com“,mysqlx_opt_port,1300,mysqlx_opt_priority,100,mysqlx_opt_db,”database“); mysqlx_session_t * sess = mysqlx_get_session_from_options(sess_opt,err_buf,&err_code);
的
SqlResult
班级现在实现了getAffectedRowsCount ()
和getAutoIncrementValue ()
X DevAPI方法。(错误# 25643081)为避免无意中更改集合中的所有项,请使用
收藏:修改()
和收藏:remove ()
方法现在需要一个非空的选择表达式作为参数。使用的连接使用
会议
默认情况下,目前的对象是加密的。此外,启用了SSL
连接选项已被替换为ssl-mode
。允许ssl-mode
值是禁用
,必需的
(默认),验证_ca.
和验证_Identity.
。连接字符串中的选项名称现在被视为不区分大小写。默认情况下,选项值仍然区分大小写。
现在可以打电话了
stmt.execute ()
多次。调用Modify语句参数的方法应该修改发送的语句执行()
。对于将新值绑定到命名参数也是如此。(错误# 25858159)创建时发生编译器错误
SessionSettings
对象,因为构造函数解析中存在歧义。(错误# 25603191)collection.add ()
如果使用两个STL容器参数调用,则编译失败。(错误# 25510080)现在支持这些表达式语法:
charset(char(x'65'))'abc'不喜欢'abc1''一个'rlike'^ [a-d]'''regexp'^ [a-d]'位置('foobarbar'''bar')
不支持这些表达式语法,但使用它们时提供了更好的错误消息:
CHAR(CHAR(X'65'使用utf8)) TRIM(BOTH ' X' FROM 'xxxbarxxx') TRIM(前导' X' FROM 'xxxbarxxx') TRIM(拖尾'xyz' FROM 'barxxyz')'Heoko'听起来像'h1aso'
(错误# 25505482)