Bug 148009 The result of joint data set is incorrect.
If the number of rows of secondary data set being joined exceeds 1024 the result of joint data set would be incorrect. This is because when populate binary for data set to be joined the boundary information are created incorrectly.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/impl/jointdataset/BinaryTreeResultObjectSeeker.java
if( this.currentPrimaryIndex != primaryIndex )
		{
			this.secondaryIterator.getResultSetCache( ).moveTo( n.getStartingIndex( ) );
			this.currentPrimaryIndex = primaryIndex;
		}	
		else
			this.secondaryIterator.next( );
		do
		{
			if( this.secondaryIterator.getCurrentResult( )!= null && matcher.match( ))
				return this.secondaryIterator.getCurrentResult( );
		}while( this.secondaryIterator.getCurrentResultIndex( ) <= n.getEndingIndex( ) && this.secondaryIterator.next( ) );
		return null;
	}
	public void setResultIterator( IResultIterator ri ) throws DataException
	{
		this.secondaryIterator = ri;
		helper = new BinaryTreeROSeekerHelper( getNodeArray() );
	}
}
/**
 *	The instance of SegmentInfo give the up and bottom boundary of values being evaluated as
 *	join conditions from a set of ResultObjects.It also records the starting and ending index of
 *	that set of ResultObjects.  
 *
 */
class SegmentInfo
{
	
	private Object[] maxValue;