Spec-Zone.ru › MySQL Connectors 1.0

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 указывает на ошибку.

Пример

См. Главу 7, Асинхронный интерфейс C API.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/c-api-8.0-en/mysql-fetch-row-nonblocking.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API