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
import org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator;
import org.eclipse.birt.data.engine.i18n.ResourceConstants;
import org.eclipse.birt.data.engine.impl.aggregation.AggregateTable;
import org.eclipse.birt.data.engine.odi.IQuery.GroupSpec;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Node;
import org.mozilla.javascript.ScriptOrFnNode;
import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.Token;
/**
 * This class handles the compilation of ROM JavaScript expressions of the
 * multiple pass level Each expression is compiled to generate a handle, which
 * is an instance of CompiledExpression or its derived class. The expression
 * handle is used by the factory to evaluate the expression after the report
 * query is executed. <br>
 * ExpressionProcessor compiles the expression into Rhino byte code for faster
 * evaluation at runtime.
 *  
 */
class MultiPassExpressionCompiler extends AbstractExpressionCompiler
{
	
	private int totalPassLevel = 0;
	
	private int passLevel = 0;
	
	private ArrayList aggrObjList = null;
	
	private List availableCmpList;