Very recently a friend encountered following issue in his adf 11g based fusion web application development. He wanted to fetch the rows from the db table just once and there after wanted to do in memory searching. His view object was a sql based view object.
Issue: He could see after first vo.executeQuery() showing some row count. But after applying a view criteria programmatically and setting vo query mode to QUERY_MODE_SCAN_VIEW_ROWS the row count after vo.executeQuery() was coming 0.
Solution: Well he missed to set the VO tuning to fetch all rows at once. Without this, VO query was fetching only few rows from db when query was executing for the first time. And there were no rows in the VO cache matching to his filter criteria.