MySQL 8.4 C API 开发者指南  /  C API 异步接口  /  C API 异步接口数据结构

7.2 C API 异步接口数据结构

本节介绍异步 C API 函数特有的数据结构。有关通用 C API 数据结构的信息,请参阅第 5.2 节,“C API 基本数据结构”

  • 枚举 connect_stage

    异步连接的阶段。该值可以是下表所示的 CONNECT_STAGE_ 符号之一。

    枚举阶段值 说明
    CONNECT_STAGE_INVALID = 0 MYSQL 无效或未知状态
    CONNECT_STAGE_NOT_STARTED 未连接
    CONNECT_STAGE_NET_BEGIN_CONNECT 开始连接到服务器
    CONNECT_STAGE_NET_WAIT_CONNECT 等待连接建立
    CONNECT_STAGE_NET_COMPLETE_CONNECT 连接后初始化本地数据结构
    CONNECT_STAGE_READ_GREETING 读取第一个数据包
    CONNECT_STAGE_PARSE_HANDSHAKE 解析第一个数据包
    CONNECT_STAGE_ESTABLISH_SSL TLS 建立
    CONNECT_STAGE_AUTHENTICATE 身份验证阶段
    CONNECT_STAGE_AUTH_BEGIN 确定要使用的插件
    CONNECT_STAGE_AUTH_RUN_FIRST_AUTHENTICATE_USER 运行第一个身份验证插件
    CONNECT_STAGE_AUTH_HANDLE_FIRST_AUTHENTICATE_USER 处理第一个身份验证插件运行的结果
    CONNECT_STAGE_AUTH_READ_CHANGE_USER_RESULT 读取隐含的更改用户身份验证(如果有)
    CONNECT_STAGE_AUTH_HANDLE_CHANGE_USER_REQUEST 检查服务器是否要求使用不同的身份验证插件
    CONNECT_STAGE_AUTH_RUN_SECOND_AUTHENTICATE_USER 使用服务器请求的插件重新开始身份验证过程
    CONNECT_STAGE_AUTH_INIT_MULTI_AUTH 启动多因素身份验证
    CONNECT_STAGE_AUTH_FINISH_AUTH 最终清理
    CONNECT_STAGE_AUTH_HANDLE_SECOND_AUTHENTICATE_USER 现在读取第二个插件运行的结果
    CONNECT_STAGE_AUTH_DO_MULTI_PLUGIN_AUTH 调用客户端插件多重身份验证方法
    CONNECT_STAGE_AUTH_HANDLE_MULTI_AUTH_RESPONSE 处理来自客户端插件身份验证方法的响应
    CONNECT_STAGE_PREP_SELECT_DATABASE 已通过身份验证,如果已指定,则设置初始数据库
    CONNECT_STAGE_PREP_INIT_COMMANDS 准备发送一系列 init 命令
    CONNECT_STAGE_SEND_ONE_INIT_COMMAND 发送一个 init 命令,为每个 init 命令调用一次,直到它们全部运行(或发生故障)
    CONNECT_STAGE_COMPLETE 已连接或没有正在进行的异步连接
  • 枚举 net_async_status

    用于表示异步 C API 函数返回状态的枚举类型。下表显示了允许的状态值。

    枚举状态值 说明
    NET_ASYNC_COMPLETE 异步操作已完成
    NET_ASYNC_NOT_READY 异步操作仍在进行中
    NET_ASYNC_ERROR 异步操作错误终止
    NET_ASYNC_COMPLETE_NO_MORE_RESULTS 对于 mysql_next_result_nonblocking();表示没有更多结果可用

    有关更多信息,请参阅第 7 章,C API 异步接口