Bug 139365 The result of grouping is wrong
Description: The result of grouping is wrong. Step to reproduce: Steps to reproduce: 1. New a report. 2. Create a data source and a data set based on the report. 3. Drag the dataset to the layout, and set two groups on the table. The first level group information: Group key: CITY Interval type: prefix Range: 1 The second level group information: Group key: CUSTOMERNUMBER Interval type: Interval Range: 4 4. Save and preview. (Please refer to the attached design file) Actual result: The result of grouping is wrong. Expected result: In the second level group, the CUSTOMERNUMBER 157, 303, 357, 323 shouldnt in a group. They must be regard as single group according to the conditional of the second level group.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/executor/transform/group/GroupBy.java
throws DataException
	{
		if ( previousGroupKey == currentGroupKey )
			return true;
		if ( previousGroupKey == null || currentGroupKey == null )
			return false;
		return isSameGroup( currentGroupKey, previousGroupKey );
	}
	/**
	 * If the currentGroupKey and previousGroupKey is not null, compare these
	 * two key values
	 * 
	 * @param currentGroupKey
	 * @param previousGroupKey
	 * @return boolean
	 * @throws DataException
	 */
	abstract boolean isSameGroup( Object currentGroupKey,
			Object previousGroupKey ) throws DataException;
	/**
	 * Returun whether start group value is needed
	 * 
	 * @return yes, start group value is needed
	 */
	boolean needsGroupStartValue( )
	{
		return false;
	}
	/**
	 * Gets the index of the column to group by