Bug 195970 Two issues when evaluate a query inlcuding a subquery[07]
Description: Currently, when evaluating a query which includes a subquery, the query will be evaluated twice. The binding of query will pass to subquery twice. If user write a java script such as new Date() and i++. The result of query will be incorrect. Another issue: when write the report document, the binding of query will be written twice and the performance is not good to evalulate it twice.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/impl/ResultIterator.java
{
	
	private DataEngineContext 		context;
	private RDSaveHelper 			rdSaveHelper;
	private Scriptable 				scope;
	
	protected org.eclipse.birt.data.engine.odi.IResultIterator odiResult;
	
	
	private IServiceForResultSet 	resultService;
	
	
	private GroupUtil 				groupUtil;
	
	
	protected RowIDUtil 				rowIDUtil;
	
	
	private int 					lastRowIndex = -1;
	private Map 					boundColumnValueMap = new HashMap( );
	private BindingColumnsEvalUtil 	bindingColumnsEvalUtil;
	
	private int state = NOT_STARTED;
	
	private static final int NOT_STARTED = 0;
	private static final int BEFORE_FIRST_ROW = 1;
	private static final int ON_ROW = 2;
	private static final int AFTER_LAST_ROW = 3;
	private static final int CLOSED = -1;