= FDO RFC 41 - Fetch Size = This page contains an change request (RFC) for the FDO Open Source project. More FDO RFCs can be found on the [wiki:FDORfcs RFCs] page. == Status == ||RFC Template Version||(1.0)|| ||Submission Date|| Aug 20, 2009 || ||Last Modified|| Leaf Li[[Timestamp]]|| ||Author||Leaf Li|| ||RFC Status||draft|| ||Implementation Status||draft|| ||Proposed Milestone||3.5.0.0|| ||Assigned PSC guide(s)||Greg Boone|| ||'''Voting History'''|| || ||+1|| || ||+0|| || ||-0|| || ||-1|| || == Motivation == To allow a client to set the size of the fetch array an FDO provider will use when executing a query. == Overview == For large queries that return a large number of data many feature sources support improving performance by configuring the row fetch size in order to reduce the number database hits required to satisfy the selection criteria. For example, Oracle database and Microsoft SQL Server. However, FDO API always returns all data. In this RFC, we will remove this limitation. == Proposed Solution == The FdoISQLCommand and FdoIBaseSelect interfaces will also be extended to add the following two new methods to get/set fetch size. Because fetch size is a performance tuning parameter and does not alter how feature readers and data readers return data to the caller. So it isn’t added as a new command capability. If one FDO provider doesn’t support fetch size, nothing will happen. == Managed FDO API == The FDO Managed Interfaces will be updated in a similar manner to reflect the proposed changes. == Provider Implementation == SQLite will be enhanced to support it. Update for other providers will be implemented if resourcing and funding can be obtained in the future. Currently empty implementation will be added for those providers. == Test Plan == Run existing FDO core unit tests and expand SQLite unit tests to test the proposed enhancements defined above. == Funding/Resources == Autodesk to provide resources / funding.