Bug 189575 The 2 APIs don't work.
ICubeQueryUtil.getMemberValueIterator( TabularCubeHandle cubeHandle, String dataBindingExpr, ICubeQueryDefinition queryDefn ) ICubeQueryUtil.getMemberValueIterator( TabularCubeHandle cubeHandle, String targetLevel, ILevelDefinition[] higherLevelDefns, Object[] values ) The 2 APIs don't work. Please verify and correct them, or Crosstab sort and filter may throw runtime exception. Thanks.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/olap/data/impl/aggregation/sort/AggregationSortHelper.java
CompareUtil.sort( new WrapperedDiskArray( baseDiskArray, keyDiskArray ),
				new AggrResultRowComparator( populateNewSortKeys( base,
						sortKeys ) ),
				AggregationResultRow.getCreator( ) );
		return new AggregationResultSet( base.getAggregationDefinition( ),
				baseDiskArray,
				base.getKeyNames( ),
				base.getAggributeNames( ) );
	}
	/**
	 * Populate the aggregation disk array which is then used to combine with base disk array.
	 * @param base
	 * @param sortKeys
	 * @param filteredAggrResultSet
	 * @return
	 * @throws IOException
	 */
	private static IDiskArray populateAggrDiskArray(
			IAggregationResultSet base, SortKey[] sortKeys,
			AggregationResultRowNavigator[] filteredAggrResultSet )
			throws IOException
	{
		IDiskArray keyDiskArray = new BufferedStructureArray( AggregationResultRow.getCreator( ),
				4096 );
		for ( int i = 0; i < base.length( ); i++ )
		{
			base.seek( i );
			
			keyDiskArray.add( new AggrValueOnlyResultRow( toObjArray( createMatchedAggrRow( base,
					sortKeys,