Bug 176107 row.__rownum cannot be directly used as group key
Create a table that bind it to a data set. Insert a group. For the Group On field, click on the "..." button to edit the expression, and select from "Availble Column Bindings" | "Table" | "RowNum". This creates a Group On Expression "row.__rownum". The resulting report design cannot be run. It produces error: Column binding "row.__rownum" does not exist. To workaround this, one must create another binding on the table and set its expression to "row.__rownum", then use the new binding as group key. This should not have been necessary. The "__rownum" binding should be implicitly available in all contexts that have a data set. E.g., it should be usable directly as group key, sort key, and in conditional format expressions, etc. Attached is a sample report that produces the error.
data/org.eclipse.birt.data.tests/test/org/eclipse/birt/data/engine/binding/GroupOnRowTest.java
*/
	public void testGroupOnRowPosition2( ) throws Exception
	{
		String[] bindingNameGroup = new String[3];
		bindingNameGroup[0] = "GROUP_ID";
		bindingNameGroup[1] = "GROUP_0";
		bindingNameGroup[2] = "GROUP_AMOUNT1";
		IBaseExpression[] bindingExprGroup = new IBaseExpression[3];
		bindingExprGroup[0] = new ScriptExpression( "dataSetRow.ID" );
		bindingExprGroup[1] = new ScriptExpression( "row[\"__rownum\"]" );
		bindingExprGroup[2] = new ScriptExpression( "dataSetRow.AMOUNT1" );
		GroupDefinition[] groupDefn = new GroupDefinition[]{
				new GroupDefinition( "group1" ),
				new GroupDefinition( "group2" ),
				new GroupDefinition( "group3" )
		};
		groupDefn[0].setKeyExpression( "row.GROUP_ID" );
		groupDefn[0].setInterval( IGroupDefinition.NUMERIC_INTERVAL );
		groupDefn[0].setIntervalRange( 5 );
		groupDefn[0].setIntervalStart( new Integer(8) );
		groupDefn[1].setKeyExpression( "row.GROUP_0" );
		groupDefn[1].setInterval( IGroupDefinition.NUMERIC_INTERVAL );
		groupDefn[1].setIntervalRange( 3 );
		groupDefn[1].setIntervalStart( new Integer(0) );
		groupDefn[2].setKeyExpression( "row.GROUP_AMOUNT1" );
		groupDefn[2].setInterval( IGroupDefinition.NUMERIC_INTERVAL );
		groupDefn[2].setIntervalRange( 11 );		
		groupDefn[2].setIntervalStart( new Integer(80) );
		String[] bindingNameRow = new String[4];
		bindingNameRow[0] = "ROW_ID";