Cursor rowcount

CS_CUR_ROWCOUNT is the current value of cursor rows for a cursor.

Cursor rows is the number of rows returned to Client-Library per internal fetch request. This is not the number of rows returned to an application per ct_fetch call. (The latter number is specified by the bindings in place on the command structure. See “Array binding”.

Cursor rows defaults to one. This implies that for every ct_fetch call made by the application, Client-Library issues one internal cursor fetch command for every row required by the ct_fetch call.

Each internal cursor fetch command requires interaction between the client and the server. Therefore, a larger cursor rows value reduces the number of network round-trips required to fetch from the cursor. However, if the application sends nested cursor commands or sends commands on a different command structure while fetching from the cursor, Client-Library must buffer rows that have not been fetched with ct_fetch to send the new command. Therefore, larger cursor rows values may require increased memory usage by Client-Library.

The application calls ct_cursor to increase the value of cursor rows before a cursor is opened. For details, see “Cursor-Rows commands”.

An application retrieves CS_CUR_ROWCOUNT after calling ct_cmd_props(CS_CUR_STATUS) to confirm that a cursor exists in the command space of interest.

CS_CUR_ROWCOUNT is a command structure property and cannot be retrieved at the connection or context levels.

Cursor properties are useful to gateway applications that send cursor information to clients.