skip to main content
Interface Provider class : ipExecute
 

ipExecute

This method is called with iStmtType set to the operation to perform. The connection handle, statement handle, and search column handle are passed in.
When working in row-based mode, the handle is used to determine if a search condition for a column is passed to the IP. The IP should then use this condition to read only the rows that match the specified index value(s). The search column handle that is passed can be part of a single column index or a multi-column index. If the IP supports multi-column indexes, it should call dam_getOptimalIndexAndConditions.
For UPDATE, DELETE, and INSERT statements, the IP should maintain a counter for the number of rows effected and return it through the iNumResRows object that is passed in.
int ipExecute(
    long   hstmt,
    int    iStmtType,
    long   hSearchCol,
    xo_long piNumResRows)
Table 19. Parameters for ipExecute
Parameter
Type
Description
INPUT
hstmt
long
Handle to the statement being executed.
iStmtType
int
The type of the statement:
*DAM_SELECT - select
*DAM_UPDATE - update
*DAM_INSERT - insert
*DAM_DELETE - delete
*DAM_SELECT_FOR_UPDATE - lock selected rows.
*DAM_FETCH - called to process additional rows in the case of a select.
*DAM_CLOSE - called to close the current select processing.
*DAM_START_QUERY - called to mark the beginning of a multiple sub-query execution sequence on the same table.
*DAM_END_QUERY - called to mark the end of a multiple sub-query execution sequence on the same table.
*DAM_SET_QUERY_MODE - called to allow the IP to determine whether to work in row-based or SQL pass-through mode.
hSearchCol
long
The handle to the column that has the search list to optimize the IP. If this is non-zero, then it must be used. It will be non-zero if the column has an index on it and the IP has reported that it supports equality and other comparison operators used in the search condition. Use the dam_getOptimalIndexAndConditions method to get the associated search list.
This parameter is not applicable when working in SQL pass-through mode.
piNumResRows
xo_long
Number of rows effected by a INSERT, UPDATE, or DELETE statement execution. Use piNumResRows.setVal() to return this information.
RETURN
int
DAM_SUCCESS - on success
DAM_FAILURE - on failure
DAM_SUCCESS_WITH_RESULT_PENDING - when the IP is processing partial results sets in cursor mode