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
* will return an IResultMetaData instance which provides at least the ColumnName
	 * and ColumnType information for all cached columns.
	 * 
	 * Please note that the ParameterHint information will usually essential to the result of data set design is
	 * omitted for it has nothing to do with the metadata.
	 * @param dataSource
	 * @param dataSet
	 * @return
	 * @throws BirtException
	 */
	abstract public IResultMetaData getCachedDataSetMetaData( IBaseDataSourceDesign dataSource,
                   IBaseDataSetDesign dataSet ) throws BirtException;
	
	/**
	 * Return the aggregation factory.
	 * @return
	 * @throws BirtException
	 */
	abstract public IAggregationFactory getAggregationFactory( ) throws BirtException;
	
	/**
	 * Cancel the current operation
	 */
	public abstract void cancel( );
	
	/**
	 * Shuts down this session, and releases all associated resources.
	 */
	public abstract void shutdown( );
}