7.4.1 mysql_fetch_row_nonblocking()
enum net_async_status
mysql_fetch_row_nonblocking(MYSQL_RES *result,
MYSQL_ROW *row)
Описание
mysql_fetch_row_nonblocking() — это асинхронная функция. Она является аналогом синхронной функции mysql_fetch_row() и предназначена для использования приложениями, требующими асинхронного взаимодействия с сервером. Дополнительную информацию об написании асинхронных приложений на C API см. в Главе 7, C API Асинхронный интерфейс.
mysql_fetch_row_nonblocking() используется аналогично mysql_fetch_row(). Подробнее об этой функции см. раздел 5.4.22, “mysql_fetch_row()”. Различия между функциями заключаются в следующем:
-
mysql_fetch_row()возвращаетMYSQL_ROWзначение, содержащее следующую строку, илиNULL. Значение возвращаемогоNULLзависит от функции, вызваной передmysql_fetch_row():При использовании после
mysql_store_result()илиmysql_store_result_nonblocking(),mysql_fetch_row()возвращаетNULL, если строк для извлечения больше нет.При использовании после
mysql_use_result(),mysql_fetch_row()возвращаетNULL, если строк для извлечения больше нет или произошла ошибка.
-
mysql_fetch_row_nonblocking()возвращает индикатор состоянияenum net_async_statusи принимает второйrowаргумент, который содержит указатель наMYSQL_ROWзначение. Когда возвращаемый статус равенNET_ASYNC_COMPLETE,rowаргумент — указатель наMYSQL_ROWзначение, содержащее следующую строку, илиNULL. ЗначениеNULLзависит от функции, вызваной передmysql_fetch_row_nonblocking():При использовании после
mysql_store_result()илиmysql_store_result_nonblocking(),rowаргумент равенNULL, если строк для извлечения больше нет.При использовании после
mysql_use_result(),rowаргумент равенNULL, если строк для извлечения больше нет или произошла ошибка.
mysql_fetch_row_nonblocking() была добавлена в MySQL 8.0.16.
Возвращаемые значения
Возвращает enum net_async_status значение. Подробности см. в разделе 7.2, “C API Асинхронные структуры данных”. Возвращаемое значение NET_ASYNC_ERROR указывает на ошибку.
Пример
© 2025 Oracle
Licensed under the GPLv2 License.