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
if ( expr instanceof AggregateExpression )
			{
				int registry = getRegisterId( new AggregateObject( (AggregateExpression) expr ) );
				if ( registry >= 0 )
					replaceAggregateNode( registry, exprNode, arg );
			}
			
			compileForBytecodeExpr( context, tree, expr );
			aggregateExpression.addArgument( expr );
			arg = nextArg;
		}
	}
	
		
	/**
	 * get the register id form aggregate object list
	 * 
	 * @param obj1
	 * @return
	 */
	private int getRegisterId( AggregateObject obj1 )
	{
		if ( this.aggrObjList == null )
			return -1;
		else
			for ( int i = 0; i < this.aggrObjList.size( ); i++ )
			{
				AggregateObject obj2 = (AggregateObject) this.aggrObjList.get( i );
				if ( obj1.equals( obj2 ) )
					return obj2.getRegisterId( );