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/DataSourceQuery.java
assert odaStatement != null;
				
		checkOutputParamNameValid( name );
		return odaStatement.getParameterValue( name );
	}
    
	/**
	 * In oda layer, it does not differentiate the value retrievation of input
	 * parameter value and ouput parameter value. They will be put in a same
	 * sequence list. However, in odi layer, we need to clearly distinguish them
	 * since only retrieving output parameter is suppored and it should be based
	 * on its own output parameter index. Therefore, this method will do such a
	 * conversion from the output parameter index to the parameter index.
	 * 
	 * @param index based on output parameter order
	 * @return index based on the whole parameters order
	 * @throws DataException
	 */
	private int getCorrectParamIndex( int index ) throws DataException
	{
		if ( index <= 0 )
			throw new DataException( ResourceConstants.INVALID_OUTPUT_PARAMETER_INDEX, new Integer(index) );
		
		int newIndex = 0; 
		int curOutputIndex = 0; 
		
		Collection collection = getParameterMetaData( );
		if ( collection != null )
		{
			Iterator it = collection.iterator( );