The getData() method in the dataprovider is doing what it says…it is getting the appropriate data to display. ‘Appropriate’ meaning having applied the proper “limit” to the sql query if pagination is being used. So, it is not getting a ALL of the data and then limiting it, it is using the faster statistical query to get the count and then applying a limit to the db criteria itself before the query for the data is made.
I am assuming you are using CActiveDataProvider as the data provider component to your CListView, is that assumption correct? This takes in an AR class name and the underlying db component (defaults to the ‘db’ application component unless otherwise specified) is what is used to connect to the db. This is where it would determine what schema to use.
If you want to provide the code you are attempting to execute, like the creation of your data provider and the way you are using CListView, it might help to track down your issue.
Also, the methods
CActiveDataProvider::fetchData()
and
CActiveDataProvider::calculateTotalItemCount()
which can be found in the class file framework/web/CActiveDataProvider.php
may be of some use in helping you troubleshoot this issue.