Please enable JavaScript to view this site.

ESL Documentation

Navigation: ESL Documentation > ESL Database Services

EDS ODBC State Transition Tables

Scroll Prev Top Next More

The tables in this section show the effect of each ESL Database Services (EDS) command on the states of the environment handle (HENV), the connection handle (HDBC), and the statement handle (HSTMT).

The environment and connection state transitions.

Statement state transitions.

Within each section, the first table lists the possible handle states. The second table lists the Core commands and the third table lists the Extended commands, which are from Level 1 or Level 2. The commands appear in the first column of the table and the handle states, before application of the command, are listed horizontally at the top of each table. Each entry in the table is the result state or set of result states of the handle after execution of the command. Unless noted, an error from a command causes no state transition.

The following commands do not cause state transitions, and are therefore not included in the state transition tables:

EDSCancel does not cause a state transition when asynchronous operation is in effect. Its only effect is to cause the active command to return an error if the operation was cancelled. When operating synchronously, EDSCancel has the same effect on state transitions as calling EDSFreeStmt with the EDS_CLOSE option.

EDSError returns error and status information.

The following general behavior is not specifically enumerated in the state transition tables:

Between the time EDSExecDirect or EDSExecute return SQL_NEED_DATA (one or more parameters have been specified as EDS_DATA_AT_EXEC) and EDSParamData returns EDS_SUCCESS, only three commands may be called: EDSParamData, EDSPutData, and EDSCancel. Other commands that would otherwise be validly called following EDSExecDirect or EDSExecute return EDS_ERROR and a SQLSTATE value of S1010 (Function sequence error).

When a command is still executing asynchronously, the only valid command calls on the HSTMT or the associated HDBC are to the command itself, EDSCancel, EDSGetFunctions, or EDSAllocStmt. All other command calls on the HSTMT or the associated HDBC will return EDS_ERROR with a SQLSTATE value of S1010 (Function sequence error) unless another state transition error takes precedence.