Bug 192132 [enhancement] reduce numbers of queries being executed for olap and xtab report
steps to reproduce: - use the attached report - preview in web viewer by profiling execution at web server and database server, it was noticed that when defining a data cube, each dimension executed new query requiring data from database, even though there was only one based table used by the data cube. could we enhance it by doing it once, then slice dimension data from query result?
data/org.eclipse.birt.report.data.adapter/src/org/eclipse/birt/report/data/adapter/impl/DataRequestSessionImpl.java
* @return
	 * @throws DataException
	 * @throws IOException
	 * @throws BirtException
	 */
	private CubeMaterializer createCubeMaterializer( CubeHandle cubeHandle, int size )
			throws DataException, IOException, BirtException
	{
		CubeMaterializer cubeMaterializer = new CubeMaterializer( this.dataEngine,
				this.sessionContext.getDataEngineContext( )
				.getTmpdir( ) + this.dataEngine.hashCode( ),
				cubeHandle.getQualifiedName( ), size );
		return cubeMaterializer;
	}
	/**
	 * 
	 * @param cubeHandle
	 * @param cubeMaterializer
	 * @throws IOException
	 * @throws BirtException
	 * @throws DataException
	 */
	private void createCube( TabularCubeHandle cubeHandle,
			CubeMaterializer cubeMaterializer, Map appContext )
			throws IOException, BirtException, DataException
	{
		boolean doPerfTuning = this.needCachedDataSetToEnhancePerformance( cubeHandle )
				&& ( appContext == null || ( appContext != null
						&& appContext.get( DataEngine.DATA_SET_CACHE_ROW_LIMIT ) == null 
						&& appContext.get( DataEngine.MEMORY_DATA_SET_CACHE ) == null ) );