MySQL 8.4 C API 開發者指南  /  C API 非同步介面  /  C API 非同步介面資料結構

7.2 C API 非同步介面資料結構

本節描述特定於非同步 C API 函式的資料結構。關於通用 C API 資料結構的資訊,請參閱第 5.2 節,「C API 基本資料結構」

  • enum 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 已連線或沒有非同步連線正在進行中
  • enum 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 非同步介面》