Bug 166167 ODA IResultSet.close never been called in DtE
In DtE, we will close IConnection and IQuery from ODA, however the IResultSet.close() has never be called so that it is possible that even the ODA connection is closed the IResultSet is still open(If it is not closed when the IQuery or IConnection is closed). This is incorrect and needs a fix.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/executor/transform/CachedResultSet.java
import org.eclipse.birt.data.engine.impl.document.StreamWrapper;
import org.eclipse.birt.data.engine.odaconsumer.ResultSet;
import org.eclipse.birt.data.engine.odi.ICustomDataSet;
import org.eclipse.birt.data.engine.odi.IDataSetPopulator;
import org.eclipse.birt.data.engine.odi.IEventHandler;
import org.eclipse.birt.data.engine.odi.IResultClass;
import org.eclipse.birt.data.engine.odi.IResultIterator;
import org.eclipse.birt.data.engine.odi.IResultObject;
/**
 * OdiResultSet is responsible for accessing data sources and some processing
 * like sorting and filtering on the rows returned. It provide APIs for the
 * upper layer to fetch data rows and get group information, etc.
 * 
 */
public class CachedResultSet implements IResultIterator
{
	private ResultSetPopulator resultSetPopulator;
	private IEventHandler handler;
	
	/**
	 * Nothing, only for new an instance, needs to be used with care. Currently
	 * it is only used in report document saving when there is no data set.
	 */
	public CachedResultSet( )
	{
	}
	
	/**
	 * Constructs and intializes OdiResultSet based on data in a ODA result set
	 */