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 ( columnBindingName != null
							&& !columnBindingName.equals( "_outer" )
							&& !columnBindingName.equals( "__rownum" )
							&& !columnBindingName.equals( "0" ) )
					{
						ScriptExpression expression = (ScriptExpression) this.rsPopulator.getEventHandler( )
								.getBaseExpr( columnBindingName );
						if ( expression == null )
							throw new DataException( ResourceConstants.BAD_DATA_EXPRESSION );
						currentGroupLevelList.add( expression.getGroupName( ) );
						ScriptOrFnNode tree = parse( expression.getText( ),
								context );
						CompiledExpression expr = null;
						if ( grandfather != null )
						{
							if ( tree.getFirstChild( ) == tree.getLastChild( ) )
							{
								grandfather.replaceChild( parent,
										tree.getFirstChild( ) );
								expr = processChild( context,
										false,
										tree.getFirstChild( ),
										tree.getFirstChild( ).getFirstChild( ),
										grandfather );
							}
							else
							{
								grandfather.replaceChild( grandfather.getFirstChild( ),
										tree.getFirstChild( ) );
								grandfather.replaceChild( grandfather.getLastChild( ),