What does Disable Rowset Size Limit do?
The OpenLink Scrollable Cursor Library (SCR) enforces a maximum cursor rowset size of 100 on any given query.
OpenLink set this default due to the fact that the SCR consumes more and more memory to manage larger resultsets.
This resource consumption has an adverse affect on query and system performance.
Additionally, users often do not benefit from the ability to return enormous resultsets to end user applications.
Many application can not display more than 100 records at a time, and users often do not have any practical means of or use for manipulating hundreds, thousands, or millions of records.
If an application makes a SQLStmtOption (SQL_ ROWSET_ SIZE, value) ODBC API call and the actual return value is greater than 100, OpenLink's driver will return SQL_ SUCCESS_ WITH_ INFO.
Properly written applications should check SQLError and receive an "Option value changed" message.
This message will prompt the applications to call SQLGetStmtOption (SQL_ ROWSET_ SIZE, &value).
This call will return the new cursor rowset size of 100.
This is the desired behavior.
Problems arose when applications like Power Builder ignored the SQL_ SUCCESS_ WITH_ INFO and attempted to scroll past the end of the 100 rows of data that OpenLink's drivers returned.
To enable such applications to work with OpenLink's driver, Development introduced the Disable Rowset Size Limit option.
When set, Disable Rowset Size Limit removes the 100 rowset restriction and trusts the application to set the rowset size to a reasonable value.