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 IResultMetaData refreshMetaData(
			DataSetHandle dataSetHandle, boolean holdEvent )
			throws BirtException;
	
	/**
	 * Retrieves all distinct values of a data set column and return them in a
	 * Collection.
	 * 
	 * @param dataSet
	 *            Handle of data set to query
	 * @param inputParamBindings
	 *            An iterator of ParamBindingHandle objects that defines
	 *            bindings for the data set's input parameters
	 * @param columnBindings
	 *            An iterator of ComputedColumnHandle objects that define all
	 *            column binding expressions
	 * @param columnName
	 *            Name of the bound column to retrieve values for
	 * @return If boundColumnName is bound to a single data set column, this
	 *         method returns a collection of distinct values for that data set
	 *         column. If boundColumnName to mapped to any other type of
	 *         expressions, an empty collection will be returned.
	 */
	public abstract Collection getColumnValueSet( DataSetHandle dataSet,
			Iterator inputParamBindings, Iterator columnBindings,
			String boundColumnName ) throws BirtException;
	
	
	/**
	 * Prepare a base data query, and return an IBasePreparedQuery instance