The mi_query_finish() function
The mi_query_finish() function finishes execution of the current statement.
Syntax
mi_integer mi_query_finish(conn)
MI_CONNECTION *conn;
- conn
- A pointer to a connection descriptor established by a previous call to mi_open(), mi_server_connect(), or mi_server_reconnect().
Valid in client LIBMI application? | Valid in user-defined routine? |
---|---|
Yes | Yes |
Usage
- If the current statement was a query:
- Process any pending results that were not already processed with calls to mi_next_row().
- Close any implicit cursor that mi_exec() or mi_exec_prepared_statement() opened to hold the rows.
- Release the resources for the current statement:
- Free the implicit statement descriptor that mi_exec() created.
- Release other resources associated with the SQL statement.
The mi_query_finish() function does not affect prepared statements or calls to DataBlade® API file-access functions. To determine whether the current statement has completed execution, use the mi_command_is_finished() function.
After mi_query_finish() executes, the next iteration of the mi_get_result() function returns a status of MI_NO_MORE_RESULTS.
This function is useful for ensuring that a statement that returns no meaningful results, such as BEGIN WORK, executed successfully.
Return values
- MI_OK
- The function was successful.
- MI_ERROR
- The function was not successful, the current statement failed, or no statement is being processed.