Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 

cci_execute

Description

The cci_execute function executes the SQL statement (prepared statement) that has executed cci_prepare(). A request handle, flag, the maximum length of a column to be fetched, and the address of a T_CCI_ERROR construct variable in which error information being stored are specified as arguments.

Through a flag, the function of retrieving the query result from the server can be set as synchronous or asynchronous, and the way of query execution can be set as all queries or the first one.

If the flag is set to CCI_EXEC_ASYNC, an asynchronous mode is used to retrieve the result immediately each time a query result is created. If not, a synchronous mode is used to retrieve query results after executing prepared queries all.

If the flag is set to CCI_EXEC_QUERY_ALL, all prepared queries(separated by semicolon) are executed. If not, only the first query is executed.  

If the flag is set to CCI_EXEC_QUERY_ALL, the following rules are applied.

  • The function return value is the result of the first query.
  • If an error occurs in any query, the execution is processed as a failure.
  • For a query composed of in a query composed of q1; q2; q3 if an error occurs in q2 after q1 succeeds the execution, the result of q1 remains valid. That is, the previous successful query executions are not rolled back when an error occurs.
  • If a query is executed successfully, the result of the second query can be obtained using cci_next_result().

max_col_size is a value that is used to determine the maximum length of a column to be sent to a client when the columns of the prepared statement are CHAR, VARCHAR, NCHAR, VARNCHAR, BIT or VARBIT. If this value is 0, full length is fetched.

Syntax

int cci_execute(int req_handle, char flag, int max_col_size, T_CCI_ERROR *err_buf)

  • req_handle: (IN) Request handle of the prepared statement
  • flag: (IN) Exec flag (CCI_EXEC_ASYNC or CCI_EXEC_QUERY_ALL)
  • max_col_size: (IN) The maximum length of a column to be fetched when it is a string data type in bytes. If this value is 0, full length is fetched.
  • err_buf: (OUT) Database error buffer
Return Value
  • Success
    • SELECT: Returns the number of results in sync mode returns 0 in async mode.
    • INSERT, UPDATE: Returns the number of rows reflected.
    • Others queries: 0
  • Failure: Error code
Error Code
  • CCI_ER_REQ_HANDLE
  • CCI_ER_BIND
  • CCI_ER_DBMS
  • CCI_ER_COMMUNICATION
  • CCI_ER_QUERY_TIMEOUT
  • CCI_ER_LOGIN_TIMEOUT