skip to main content
Setting Up the oajava Sample : Tuning the oajava sample
 

Tuning the oajava sample

The oajava sample is configured initially to handle transferring one column value at a time. A more efficient approach is to configure using bulk fetch mode. Bulk fetch mode transfers blocks of rows from the Java layer to the native code layer.
The following table describes the Java IP parameters that you need to modify. If the Java IP Parameters node does not exist in the Service Settings folder, you must set the attribute at the Service Settings level. The Java IP Parameters node is created when a parameter that belongs in it is added.
 
Table 125: Java IP Parameters 
Service Attribute
Description
ServiceJavaIPByteBufferSize
Calculates the size of the data buffer passed into the sqlipFetchIntoBuffer call when working in bulk fetch mode (ServiceJavaIPUseBulkFetch is Enabled). The total amount of memory allocated to hold rows is this value multiplied by ServiceSQLFetchBlockSize.
If not set, then a default of 1000 is assumed.
Set this value to a number that represents how many bytes the primitive values of typical rows will take. The sqlipFetchRowsInBuffer method fetches multiple rows of data from the current cursor position into the supplied buffer and advances the cursor. This buffer holds the primitive data types such as integers and the lengths of CHAR/VARCHAR data types.
ServiceJavaIPStringBufferSize
Calculates the size of the string buffer (the number of bytes per row) passed into the sqlipFetchIntoBuffer call when working in bulk fetch mode (ServiceJavaIPUseBulkFetch is Enabled). The total amount of memory allocated to hold rows is this value multiplied by ServiceSQLFetchBlockSize. Your IP must not exceed the buffer.
If not set, then a default value of 1000 is assumed.
This is the char array into which data for CHAR, and VARCHAR, are added. Initially it points to the beginning. The size of this buffer is controlled by the service attribute.
This buffer holds the characters in CHAR and VARCHAR columns.
ServiceJavaIPUseBulkFetch
Determines whether rows are retrieved using the bulk fetch buffers by calling the sqlipFetchRowsInBuffer method in the third-party SQL engine IP. Using bulk fetch improves performance by reducing the number of native to Java calls.