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/PreparedQuery.java
Context cx ) throws DataException
	{
		IBaseTransform trans = baseQuery;
		String groupName = IBaseExpression.GROUP_OVERALL;
			
		
		if ( groupLevel != 0 )
		{	
			IGroupDefinition igd = (IGroupDefinition) ( (IBaseQueryDefinition) trans ).getGroups( )
					.get( groupLevel - 1 );
			trans = igd;
			groupName = igd.getName();
		}		
		
		Collection exprCol = new ArrayList( );
		Map resultSetExpressions = new HashMap();
		
		 
		Map map = baseQuery.getBindings( );
		if (map != null) 
		{
			Iterator it = map.keySet().iterator();
			while (it.hasNext()) {
				Object key = it.next();
				IBinding icbe = ((IBinding)map.get(key));
				if ( icbe.getExpression( ) != null && icbe.getExpression( )
								.getGroupName( )
								.equals( groupName ) && groupLevel!= 0 )
				{
					exprCol.add( icbe.getExpression( ) );