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 Asynchronous Interface Data Structures». Возврат NET_ASYNC_ERROR указывает на ошибку.
Пример
© 2025 Oracle
Licensed under the GPLv2 License.