skip to main content
Overview : Overview of the Third-party SQL Engine API : Developing an IP Using Java
 

Developing an IP Using Java

The third-party SQL engine API for Java provides two interfaces that must be implemented by the IP:
The sqlip interface consists of the connection-level methods described in Table 2.
The OASQLIP_stmt Interface consists of the statement-level methods described in Table 3.
See IP API Reference for Java for more information about the interfaces and their methods.
 
Table 2: Connection Methods of the sqlip Interface 
Method
Description
sqlipCommit
Commits the changes on the specified connection handle and start a new transaction.
sqlipConnect
Called when a client wants to establish a connection with a data source served by the IP. Authentication information such as the user name and password are passed in. The IP attempts to connect to the database at this time.
sqlipDisconnect
Closes the connection and free all resources used to serve this connection.
sqlipError
Returns the error that occurred during the last operation on this connection. Once the error is returned, clear the error list.
sqlipGetDSInfo
Called to query the IP for data source level settings.
sqlipGetInfo
Called to query the IP for connection level information.
sqlipRollback
Rollbacks all operations performed on this connection since the last COMMIT and starts a new transaction.
sqlipSetInfo
Called to set connection levels options such as the transaction mode, etc.
sqlipStartTransaction
Called to initiate a new transaction. The IP can use this entry point to perform transaction management for each connection. It is assumed that after a commit or rollback a new transaction is initiated. This method is called only if a nested transaction is initiated.
The following table describes the OASQLIP_stmt Interface that the third-party SQL engine API must implement for Java.
 
Table 3: IP API for Java Implementation – OASQLIP_stmt Interface 
Method
Description
sqlipCloseCursor
Closes the cursor and clear the result table. Free any resources used to hold the results of this cursor.
sqlipCloseStmt
Frees any resources allocated for the execution of a statement on this statement handle. If a cursor is open, then it should be closed.
sqlipError
Returns the error that occurred during the last operation this statement handle. Once the error is returned, clear the error list.
sqlipExecuteStmt
Opens the cursor, that is, executes the prepared statement. Save the result table and place the cursor before the first row in the table. Return the number of rows selected.
sqlipFetchRow
Advances the cursor to the next row of the result table. On reaching end of the cursor return SQLDRV_EOS.
sqlipGetColAttr
Called to obtain column attributes such as base table name and base column name.
sqlipGetColspec
Returns the description about the column.
sqlipGetColval
Return the column value in the same format as the type of the column. For example, if the column is defined as XO_TYPE_CHAR, then the data is a character string.
sqlipGetInfo
Called to query the IP for information such as if there are more results pending or if there are output results available.
sqlipGetNumcols
Returns the number of columns in the result set. If the statement is a DML (Insert, Update, Delete), it will return 0. If the statement is a query (Select), it will return number of columns.
sqlipGetNumparams
Returns the number of parameter markers in the prepared statement. If the statement does not have any parameters, returns 0.
sqlipGetParamSpec
Describes the parameters in a parameterized query that has been prepared.
sqlipInitParam
Initializes the parameter with the specified value.
sqlipOpenNextCursor
Opens the next cursor that may be available. Applies to stored procedure calls and statements that can return more than one result set. After this call the getColspec function should be prepared to return the definition of this new result set. This function is called only if sqlipGetInfo returns that more results are available.
sqlipOpenOutputCursor
Positions the cursor to return the result code and output parameters from a stored procedure call. This method is called only if sqlipGetInfo returns that output results are available.
sqlipPrepareStmt
Parses the given statement and generate plan for executing the statement. The IP should collect information about any parameters in the statement and also description about result columns (if the statement is of type Select). All statements are always executed using PREPARE/OPEN_CURSOR sequence, regardless of how the client API submits the request.
sqlipSetInfo
Sets statement levels options such as the maximum number of rows to fetch, and so on.