Bug 165897 [Salesforce Project]Table column lost its data when insert a new column to the right
Reproduce steps: 1. Get and install BIRT Salesforce ODA driver. 2. Download the attached BIRT report design. 3. Insert a new column to the right of Negotiation/Review. 4. Input name as "Month Grand Total" and expression as following: row["Prospecting"]+row["Qualification"]+row["NeedsAnalysis"]+row["ValueProposition"]+row["IdDecisionMakers"]+row["PerceptionAnalysis"]+row["ProposalPriceQuote"]+row["NegotiationReview"] 5. Run the report and Negotiation/Review column lost its data.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/expression/MultiPassExpressionCompiler.java
setTotalPassLevel( passLevel );
		this.visitedList.clear( );
		return aggregateExpression;
	}
	/**
	 * Check the aggregate object on group,if the aggregate object's type is
	 * GROUP_COLUMN_EXPR, its group level must be less than current group level.
	 * if type is FILTER_ON_GROUP_EXPR, its group level must be equals to
	 * current group level. if type is SORT_ON_GROUP_EXPR, its group level must
	 * be less or equal with current group level.
	 * 
	 * @param aggregateObj
	 */
	private int getCurrentGroupLevel( AggregateObject aggregateObj,
			Context context ) throws DataException
	{
		AggregateExpression expr = aggregateObj.getAggregateExpr( );
		IAggregation aggr = expr.getAggregation( );
		List argList = expr.getArguments( );
		int nFixedArgs = aggr.getParameterDefn( ).length;
		int groupLevel = currentGroupLevel;
		
		int nArgs = argList.size( );
		CompiledExpression groupExpr = null;
		if ( nArgs > nFixedArgs + 2 || nArgs < nFixedArgs )
		{
			DataException e = new DataException( ResourceConstants.INVALID_AGGR_PARAMETER,
					expr.getAggregation( ).getName( ) );
			throw e;
		}