MySQL连接器/ c++
MySQL连接器库,适用于C和c++应用程序
模块|文件|功能||typedef|枚举
X DevAPI for C

X DevAPI为C定义的函数和类型。更多…

模块

会话操作
操作文档集合的语句
对表操作的语句
SQL执行
DDL语句
语句执行
结果处理
元数据访问
诊断

文件

文件 xapi.h
MySQL Connector/ c++ X DevAPI for C的主要头文件。

功能

mysqlx_session_t mysqlx_get_session_from_clientmysqlx_client_t* cli,mysqlx_error_t* *错误)
创建一个新的会话。更多…

#定义 RESULT_OK0
返回值,指示函数/操作成功。
#定义 RESULT_MORE_DATA8
返回值标志,指示最后一个读取操作没有完成读取到结束,还有更多的数据需要由函数获取,例如mysqlx_get_bytes ()
#定义 RESULT_NULL16
指示查询结果中数据项(文档或行)结束的返回值标志。更多…
#定义 RESULT_INFO32
返回值标志,指示操作生成的信息诊断条目。
#定义 RESULT_WARNING64
返回值标志,指示操作生成警告。
#定义 RESULT_ERROR128
返回值标志,指示函数/操作错误。

typedef

typedef struct mysqlx_error_struct mysqlx_error_t
错误句柄的类型。更多…
typedef struct mysqlx_session_struct mysqlx_session_t
会话句柄类型。更多…
typedef struct mysqlx_client_struct mysqlx_client_t
客户端句柄类型。更多…
typedef struct mysqlx_session_options_struct mysqlx_session_options_t
会话配置数据的句柄类型。更多…
typedef struct mysqlx_collection_options_struct mysqlx_collection_options_t
集合创建/修改选项的句柄类型。更多…
typedef struct mysqlx_schema_struct mysqlx_schema_t
数据库模式句柄的类型。更多…
typedef struct mysqlx_collection_struct mysqlx_collection_t
集合句柄的类型。更多…
typedef struct mysqlx_table_struct mysqlx_table_t
表句柄类型。更多…
typedef struct mysqlx_stmt_struct mysqlx_stmt_t
语句句柄的类型。更多…
typedef struct mysqlx_row_struct mysqlx_row_t
行句柄的类型。更多…
typedef struct mysqlx_result_struct mysqlx_result_t
结果句柄的类型。更多…

枚举

枚举 mysqlx_data_type_t
MYSQLX API中使用的数据类型标识符。更多…
枚举 mysqlx_sort_direction_tSORT_ORDER_ASC= 1,SORT_ORDER_DESC= 2}
排序操作中的排序方向,例如ORDER BY。更多…
枚举 mysqlx_client_opt_type_tMYSQLX_CLIENT_OPT_POOLING= - 1,MYSQLX_CLIENT_OPT_POOL_MAX_SIZE= - 2,MYSQLX_CLIENT_OPT_POOL_QUEUE_TIMEOUT= - 3,MYSQLX_CLIENT_OPT_POOL_MAX_IDLE_TIME= - 4}
客户端mysqlx_session_option_get ()而且mysqlx_session_option_set ()功能。更多…
枚举 mysqlx_opt_type_t
MYSQLX_OPT_URI= 1,MYSQLX_OPT_HOST= 2,MYSQLX_OPT_PORT= 3,MYSQLX_OPT_PRIORITY= 4,
MYSQLX_OPT_USER= 5,MYSQLX_OPT_PWD= 6,MYSQLX_OPT_DB= 7,MYSQLX_OPT_SSL_MODE= 8,
MYSQLX_OPT_SSL_CA= 9,MYSQLX_OPT_AUTH= 10,MYSQLX_OPT_SOCKET= 11,MYSQLX_OPT_CONNECT_TIMEOUT= 12,
MYSQLX_OPT_CONNECTION_ATTRIBUTES= 13,MYSQLX_OPT_TLS_VERSIONS= 14,MYSQLX_OPT_TLS_CIPHERSUITES= 15,MYSQLX_OPT_DNS_SRV= 16,
MYSQLX_OPT_COMPRESSION= 17,MYSQLX_OPT_COMPRESSION_ALGORITHMS= 18,MYSQLX_OPT_LAST
会话mysqlx_session_option_get ()而且mysqlx_session_option_set ()功能。更多…
枚举 mysqlx_ssl_mode_tSSL_MODE_DISABLED= 1,SSL_MODE_REQUIRED= 2,SSL_MODE_VERIFY_CA= 3,SSL_MODE_VERIFY_IDENTITY= 4}
会话使用的SSL模式值mysqlx_session_option_get ()而且mysqlx_session_option_set ()函数设置或获取MYSQLX_OPT_SSL_MODE选项。更多…
枚举 mysqlx_auth_method_tMYSQLX_AUTH_PLAIN= 1,MYSQLX_AUTH_MYSQL41= 2,MYSQLX_AUTH_EXTERNAL= 3,MYSQLX_AUTH_SHA256_MEMORY= 4}
使用的身份验证方法值mysqlx_session_option_get ()而且mysqlx_session_option_set ()函数设置或获取MYSQLX_OPT_AUTH选项。更多…
枚举 mysqlx_collection_opt_tMYSQLX_OPT_COLLECTION_REUSE= 1,MYSQLX_OPT_COLLECTION_VALIDATION= 2,MMMYSQLX_OPT_COLLECTION_LAST
创建/修改选项集合。更多…
枚举 mysqlx_collection_validation_opt_tMYSQLX_OPT_COLLECTION_VALIDATION_SCHEMA= 1024+ 1,MYSQLX_OPT_COLLECTION_VALIDATION_LEVEL= 1024+ 2,MMMYSQLX_OPT_COLLECTION_VALIDATION_LAST
收集验证选项。更多…
枚举 mysqlx_collection_validation_level_tMYSQLX_OPT_COLLECTION_VALIDATION_LEVEL_OFF= 2048+ 1,MYSQLX_OPT_COLLECTION_VALIDATION_LEVEL_STRICT= 2048+ 2,MMMYSQLX_OPT_COLLECTION_VALIDATION_LEVEL_LAST
集合验证级别选项更多…
枚举 mysqlx_compression_mode_tMYSQLX_COMPRESSION_DISABLED= 1,MYSQLX_COMPRESSION_PREFERRED= 2,MYSQLX_COMPRESSION_REQUIRED= 3}
枚举 mysqlx_row_locking_tROW_LOCK_NONE= 0,ROW_LOCK_SHARED= 1,ROW_LOCK_EXCLUSIVE= 2}
的行锁定选项mysqlx_set_row_locking ()函数。更多…
枚举 mysqlx_lock_contention_tLOCK_CONTENTION_DEFAULT= 0,LOCK_CONTENTION_NOWAIT= 1,LOCK_CONTENTION_SKIP_LOCKED= 2}
的行锁定选项mysqlx_set_row_locking ()函数。更多…

详细描述

X DevAPI为C定义的函数和类型。

看到Connector/ c++ 8.0 X DevAPI for C Reference的介绍。

宏定义文档10bet官方网站

RESULT_NULL

#定义RESULT_NULL 16

指示查询结果中数据项(文档或行)结束的返回值标志。

用于迭代结果数据的函数。

文档类型定义10bet官方网站

mysqlx_error_t

typedef struct mysqlx_error_structmysqlx_error_t

错误句柄的类型。

错误句柄允许访问来自会话和语句操作的诊断信息。

另请参阅
mysqlx_error ()

mysqlx_session_t

typedef struct mysqlx_session_structmysqlx_session_t

会话句柄类型。

另请参阅
mysqlx_get_session ()

mysqlx_client_t

typedef struct mysqlx_client_structmysqlx_client_t

客户端句柄类型。

另请参阅
mysqlx_get_client ()

mysqlx_session_options_t

typedef struct mysqlx_session_options_structmysqlx_session_options_t

会话配置数据的句柄类型。

会话可以使用以前准备的会话配置数据创建。分配新的配置数据mysqlx_session_options_new ()并可使用相关函数进行操作。

另请参阅
mysqlx_get_session_from_options ()mysqlx_session_options_new ()mysqlx_session_option_set ()mysqlx_free ()

mysqlx_collection_options_t

typedef struct mysqlx_collection_options_structmysqlx_collection_options_t

集合创建/修改选项的句柄类型。

另请参阅
mysqlx_collection_options_new ()mysqlx_collection_options_set ()mysqlx_free ()

mysqlx_schema_t

typedef struct mysqlx_schema_structmysqlx_schema_t

数据库模式句柄的类型。

另请参阅
mysqlx_get_schema ()

mysqlx_collection_t

typedef struct mysqlx_collection_structmysqlx_collection_t

集合句柄的类型。

另请参阅
mysqlx_get_collection ()

mysqlx_table_t

typedef struct mysqlx_table_structmysqlx_table_t

表句柄类型。

另请参阅
mysqlx_get_table ()

mysqlx_stmt_t

typedef struct mysqlx_stmt_structmysqlx_stmt_t

语句句柄的类型。

一些用于C函数的X DevAPI会创建语句而不执行它们。这些函数返回一个语句句柄,可用于定义语句属性,然后执行它。

另请参阅
mysqlx_sql_new ()mysqlx_table_select_new ()mysqlx_table_insert_new ()mysqlx_table_update_new ()mysqlx_table_delete_new ()mysqlx_collection_find_new ()mysqlx_collection_modify_new ()mysqlx_collection_add_new ()mysqlx_collection_remove_new ()

mysqlx_row_t

typedef struct mysqlx_row_structmysqlx_row_t

行句柄的类型。

另请参阅
mysqlx_row_fetch_one ()

mysqlx_result_t

typedef struct mysqlx_result_structmysqlx_result_t

结果句柄的类型。

产生结果的函数返回一个结果句柄,然后使用该句柄检查结果。

另请参阅
mysqlx_execute ()mysqlx_store_result ()mysqlx_row_fetch_one ()mysqlx_json_fetch_one ()mysqlx_next_result ()

枚举类型的文档10bet官方网站

mysqlx_data_type_t

MYSQLX API中使用的数据类型标识符。

枚举器
MYSQLX_TYPE_SINT

64位有符号整数数字类型

MYSQLX_TYPE_UINT

64位无符号整数数字类型

MYSQLX_TYPE_DOUBLE

浮点双数类型。

MYSQLX_TYPE_FLOAT

浮点浮点数类型。

MYSQLX_TYPE_BYTES

字节数组类型。

MYSQLX_TYPE_TIME

时间类型。

MYSQLX_TYPE_DATETIME

Datetime类型。

MYSQLX_TYPE_SET

设置类型。

MYSQLX_TYPE_ENUM

枚举类型。

MYSQLX_TYPE_BIT

钻头类型。

MYSQLX_TYPE_DECIMAL

十进制类型。

MYSQLX_TYPE_BOOL

Bool类型。

MYSQLX_TYPE_JSON

JSON类型。

MYSQLX_TYPE_STRING

字符串类型。

MYSQLX_TYPE_GEOMETRY

几何类型。

MYSQLX_TYPE_TIMESTAMP

时间戳的类型。

MYSQLX_TYPE_NULL

NULL值。

MYSQLX_TYPE_EXPR

表达式类型。

mysqlx_sort_direction_t

排序操作中的排序方向,例如ORDER BY。

枚举器
SORT_ORDER_ASC

升序排序(默认)

SORT_ORDER_DESC

降序排序。

mysqlx_client_opt_type_t

客户端mysqlx_session_option_get ()而且mysqlx_session_option_set ()功能。

枚举器
MYSQLX_CLIENT_OPT_POOLING

禁用/启用池。(默认启用)

MYSQLX_CLIENT_OPT_POOL_MAX_SIZE

泳池的大小。(默认为25)

MYSQLX_CLIENT_OPT_POOL_QUEUE_TIMEOUT

池中等待连接的超时时间(毫秒)。(默认没有超时)

MYSQLX_CLIENT_OPT_POOL_MAX_IDLE_TIME

连接在池中而未被使用的时间(毫秒)。(默认情况下不会过期)

mysqlx_opt_type_t

会话mysqlx_session_option_get ()而且mysqlx_session_option_set ()功能。

请注意
指定MYSQLX_OPT_SSL_CA选择需要MYSQLX_OPT_SSL_MODE的价值SSL_MODE_VERIFY_CASSL_MODE_VERIFY_IDENTITY.如果MYSQLX_OPT_SSL_MODE没有明确给出然后设置MYSQLX_OPT_SSL_CA意味着SSL_MODE_VERIFY_CA

枚举器
MYSQLX_OPT_URI

连接URI或字符串

MYSQLX_OPT_HOST

主机的DNS名称、IPv4地址或IPv6地址

MYSQLX_OPT_PORT

要连接的X插件端口

MYSQLX_OPT_PRIORITY

为最后指定的主机分配优先级(范围为1到100的数字);这些优先级用于确定连接故障转移逻辑尝试多台主机的顺序会话类)

MYSQLX_OPT_USER

用户名

MYSQLX_OPT_PWD

密码

MYSQLX_OPT_DB

默认数据库

MYSQLX_OPT_SSL_MODE

指定SSLMode要使用的选项。在普通的C代码中,该值应该是a# mysqlx_ssl_mode_t枚举常量。

MYSQLX_OPT_SSL_CA

指定受信任根证书的PEM文件的路径

MYSQLX_OPT_AUTH

要使用的身份验证方法,请参见AuthMethod.在普通的C代码中,该值应该是a# mysqlx_auth_method_t枚举常量。

MYSQLX_OPT_SOCKET

unix socket路径

MYSQLX_OPT_CONNECT_TIMEOUT

以毫秒为单位设置连接超时。在c++中代码也可以设置为std::空间:持续时间价值。

MYSQLX_OPT_CONNECTION_ATTRIBUTES

指定在创建会话时发送的连接属性(键-值对)。该值是一个JSON字符串(在c++代码中也可以是一个DbDoc对象)定义要在默认属性之上发送的附加属性。将此选项设置为(在c++代码中)或NULL(在纯C代码中)禁止发送任何连接属性(包括默认属性)。设置它真正的(在c++代码中)或空字符串(在纯C代码中)请求只发送默认属性,这也是未设置此选项时的默认行为。

MYSQLX_OPT_TLS_VERSIONS

允许的TLS协议版本列表,如“TLSv1.2”。字符串形式,版本间以逗号分隔。在c++代码中,它也可以是具有版本的可迭代容器。

MYSQLX_OPT_TLS_CIPHERSUITES

允许的TLS加密套件列表。字符串,由逗号分隔的IANA密码组名(例如"TLS_RSA_WITH_3DES_EDE_CBC_SHA")。在c++代码中,它也可以是带有名称的可迭代容器。未知的密码套件会被忽略。

MYSQLX_OPT_DNS_SRV

如果启用(true)将检查DNS SRV记录的主机名,并使用它的配置(主机名,端口,优先级和权重)连接。

MYSQLX_OPT_COMPRESSION

启用或禁用压缩

MYSQLX_OPT_COMPRESSION_ALGORITHMS

按优先顺序指定压缩算法

mysqlx_ssl_mode_t

会话使用的SSL模式值mysqlx_session_option_get ()而且mysqlx_session_option_set ()函数设置或获取MYSQLX_OPT_SSL_MODE选项。

枚举器
SSL_MODE_DISABLED

建立一个不加密的连接。

SSL_MODE_REQUIRED

如果服务器支持安全连接,请建立安全连接。如果无法建立安全连接,则连接尝试失败。这是默认的ifSSL_MODE没有指定。

SSL_MODE_VERIFY_CA

就像要求,但还要根据配置的证书颁发机构(CA)证书(由SSL_CA选项)。如果没有找到有效的匹配CA证书,则连接失败。

SSL_MODE_VERIFY_IDENTITY

就像VERIFY_CA,但是还要检查服务器证书是否与连接尝试到的主机相匹配。

mysqlx_auth_method_t

使用的身份验证方法值mysqlx_session_option_get ()而且mysqlx_session_option_set ()函数设置或获取MYSQLX_OPT_AUTH选项。

枚举器
MYSQLX_AUTH_PLAIN

纯文本认证方法。密码以明文形式发送。默认情况下,在加密连接中使用此方法。

MYSQLX_AUTH_MYSQL41

MySQL 4.1及更新版本支持的认证方法。密码在发送到服务器之前被散列。这种身份验证方法适用于未加密的连接

MYSQLX_AUTH_EXTERNAL

当服务器通过其他方式(如SSL/x509证书)建立用户的真实性时进行外部身份验证。X插件目前不支持

MYSQLX_AUTH_SHA256_MEMORY

使用存储在服务器端缓存中的SHA256密码哈希进行身份验证。这种身份验证方法适用于未加密的连接。

mysqlx_collection_opt_t

创建/修改选项集合。

枚举器
MYSQLX_OPT_COLLECTION_REUSE

使用现有的集合。预计布尔值

MYSQLX_OPT_COLLECTION_VALIDATION

收集验证选项。期望CollectionValidation或json字符串。

mysqlx_collection_validation_opt_t

收集验证选项。

枚举器
MYSQLX_OPT_COLLECTION_VALIDATION_SCHEMA

定义的集合验证模式https://dev.10bet靠谱mysql.com/doc/refman/8.0/en/json-validation-functions.html#function_json-schema-valid

MYSQLX_OPT_COLLECTION_VALIDATION_LEVEL

定义集合上的验证级别,请参见CollectionValidation:水平.在纯C代码中,该值应为mysqlx_collection_validation_level_t

mysqlx_collection_validation_level_t

集合验证级别选项

枚举器
MYSQLX_OPT_COLLECTION_VALIDATION_LEVEL_OFF

不会对集合进行任何验证。

MYSQLX_OPT_COLLECTION_VALIDATION_LEVEL_STRICT

所有集合文档必须符合验证模式。

mysqlx_compression_mode_t

枚举器
MYSQLX_COMPRESSION_DISABLED

禁用压缩。

MYSQLX_COMPRESSION_PREFERRED

请求压缩,但如果请求压缩,但无法使用,则不返回错误

MYSQLX_COMPRESSION_REQUIRED

如果服务器不支持压缩,则请求压缩并返回错误

mysqlx_row_locking_t

的行锁定选项mysqlx_set_row_locking ()函数。

另请参阅
https://dev.10bet靠谱mysql.com/doc/refman/8.0/en/innodb-locking-reads.html
枚举器
ROW_LOCK_NONE

没有锁。

ROW_LOCK_SHARED

在读取的任何行上设置共享模式锁。其他会话可以读取这些行,但在事务提交之前不能修改它们。如果其中任何行被另一个尚未提交的事务更改,则查询将等待该事务结束,然后使用最新的值。

ROW_LOCK_EXCLUSIVE

对于搜索遇到的索引记录,锁定行和任何相关的索引条目,就像为这些行发出UPDATE语句一样。其他事务被阻止更新这些行、在LOCK_SHARED中进行锁定或在某些事务隔离级别中读取数据。

mysqlx_lock_contention_t

的行锁定选项mysqlx_set_row_locking ()函数。

另请参阅
https://dev.10bet靠谱mysql.com/doc/refman/8.0/en/innodb-locking-reads.html#innodb-locking-reads-nowait-skip-locked
枚举器
LOCK_CONTENTION_DEFAULT

阻塞查询,直到释放现有的行锁。

LOCK_CONTENTION_NOWAIT

如果不能立即获得锁,返回错误。

LOCK_CONTENTION_SKIP_LOCKED

立即执行查询,将锁定的项排除在查询结果之外。

函数的文档10bet官方网站

mysqlx_get_session_from_client ()

mysqlx_session_t* mysqlx_get_session_from_client mysqlx_client_t cli
mysqlx_error_t** 错误

创建一个新的会话。

参数
cli 要从中获取会话的客户端池
(出) 错误 如果在连接过程中发生错误,则通过此参数返回错误对象
请注意
如果是通过输出参数返回的错误对象,则必须使用mysqlx_free ()