Optimize OPEN, FETCH, and CLOSE

When the Informix® ESQL/C application uses DECLARE and OPEN statements to execute a cursor, each statement involves a round trip of message requests between the application and the database server. The optimize-OPEN-FETCH-CLOSE feature (OPTOFC) reduces the number of round trips by two, as follows:
  • Informix ESQL/C saves one round trip because it does not send the OPEN statement as a separate command.

    When Informix ESQL/C executes the OPEN statement, it does not open the cursor. Instead, it saves any input value that was supplied in the USING clause of the OPEN statement. When Informix ESQL/C executes the initial FETCH statement, it sends this input value along with the FETCH statement. The database server opens the cursor and returns the first value in this cursor.

  • Informix ESQL/C saves a second round trip because it does not send the CLOSE statement as a separate command.

    When the database server reaches the last value of an open cursor, it automatically closes the cursor after it sends the last value to the client application. Therefore, Informix ESQL/C does not need to send the CLOSE statement to the database server.

Important: Informix ESQL/C does not send the CLOSE statement to the database server. However, if you include the CLOSE statement, no error is generated.