enum net_async_status
mysql_store_result_nonblocking(MYSQL *mysql,
                               MYSQL_RES **result)
            mysql_store_result_nonblocking()
            is an asynchronous function. It is the counterpart of the
            mysql_store_result()
            synchronous function, for use by applications that require
            asynchronous communication with the server. For general
            information about writing asynchronous C API applications,
            see Chapter 7, C API Asynchronous Interface.
          
          mysql_store_result_nonblocking()
          is used similarly to
          mysql_store_result(). For
          details about the latter, see
          Section 5.4.84, “mysql_store_result()”. The two functions differ
          as follows:
        
- mysql_store_result()returns a pointer to a- MYSQL_RESULTvalue that contains the result set, or- NULLif there is no result set or an error occurred.
- mysql_store_result_nonblocking()returns an- enum net_async_statusstatus indicator and takes a second- resultargument that is the address of a pointer to a- MYSQL_RESULTinto which to store the result set. When the return status is- NET_ASYNC_COMPLETE, the- resultargument is- NULLif there is no result set or an error occurred.
          mysql_store_result_nonblocking()
          was added in MySQL 8.0.16.
        
          Returns an enum net_async_status value. See
          the description in
          Section 7.2, “C API Asynchronous Interface Data Structures”. A
          NET_ASYNC_ERROR return status indicates an
          error.
        
          When the return status is
          NET_ASYNC_COMPLETE, the
          result argument is NULL
          if there is no result set or an error occurred. To determine
          whether an error occurred, check whether
          mysql_error() returns a
          nonempty string, mysql_errno()
          returns nonzero, or
          mysql_field_count() returns
          zero.