Bug 213907 Provide a copy constructor for SubqueryDefinition.
Engine need a copy constructor to generate a SubqueryDefinition from an ISubqueryDefinition and change the name of the query.
data/org.eclipse.birt.report.data.adapter/src/org/eclipse/birt/report/data/adapter/api/DataRequestSession.java
*/
	public abstract Collection getColumnValueSet( DataSetHandle dataSet,
			Iterator inputParamBindings, Iterator columnBindings,
			String boundColumnName, IRequestInfo requestInfo )
			throws BirtException;
	
	/**
	 * Use a default data engine to execute a query. Since Data Engine needs to
	 * know the data source and data set definition, the moduleHandle needs to
	 * be passed to let DtE get these necessary information.
	 * 
	 * @param queryDefn
	 * @param paramBindingIt
	 * @param filterIt
	 * @param bindingIt
	 * @return query results of specified query definition
	 * @exception BirtException
	 *                any error in execute query to get the query results
	 */
	public abstract IQueryResults executeQuery( IQueryDefinition queryDefn,
			Iterator inputParamBindings, Iterator filterIt,
			Iterator columnBindings ) throws BirtException;
	
	/**
	 * Loads query results with the provided ID from the report document used to
	 * initialize this session.
	 * 
	 * If and only if current mode is DataEngineContext.MODE_PRESENTATION, query
	 * result can be retrieved from report document. Otherwise a BirtException
	 * will be thrown immediately.