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 IQueryResults getQueryResults( String queryResultID )
			throws BirtException;
	
	/**
	 * Defines a cube. A cube must be defined with the data engine before it can
	 * be used in a query. If the cube has already been defined, its definition
	 * will be replaced by the new cube design.
	 * 
	 * @param cubeDesign
	 * @throws BirtException 
	 */
	public abstract void defineCube( CubeHandle cubeDesign ) throws BirtException;
	
	/**
	 * Prepare an ICubeQueryDefinition instance, return an IPreparedCubeQuery
	 * instance, which is in turn used to acquire cube cursor.
	 * 
	 * @param query
	 * @return
	 */
	public abstract IPreparedCubeQuery prepare( ICubeQueryDefinition query ) throws BirtException;
	/**
	 * Prepare an ICubeQueryDefinition instance, return an IPreparedCubeQuery
	 * instance, which is in turn used to acquire cube cursor.
	 * 
	 * @param query
	 *            CubeQueryDefinition defines the logic of a cube query.
	 * @param appContext
	 *            Application context data associated with this query.