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/ExprManagerUtil.java
* @param exprManager
	 * @return
	 * @throws DataException
	 */
	private void checkColumnBindingExpression( IBaseQueryDefinition baseQueryDefn ) throws DataException
	{
		List list = this.getColumnNames( );
		for ( int i = 0; i < list.size( ); i++ )
		{
			String name = list.get( i ).toString( );
			IBaseExpression expr = exprManager.getExpr( name );
			if ( expr != null )
			{
				if ( !( expr instanceof IScriptExpression || expr instanceof IConditionalExpression ) )
				{
					throw new DataException( ResourceConstants.BAD_DATA_EXPRESSION );
				}
				List l = null;
				try
				{
					if ( expr instanceof IScriptExpression )
						l = ExpressionCompilerUtil.extractColumnExpression( (IScriptExpression) expr );
					else if ( expr instanceof IConditionalExpression )
						l = ExpressionCompilerUtil.extractColumnExpression( (IConditionalExpression) expr );
				}
				catch ( DataException e )
				{