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
|| startNode.equals( nodes[i] ) )
			{
				throw new DataException( ResourceConstants.COLUMN_BINDING_CYCLE,((Node)nodes[i]).getValue( ));
			}
			else
			{
				isValidNode( (Node) nodes[i], candidateNode );
			}
		}
	}
	/**
	 * 
	 * @param source
	 * @return
	 */
	private Node[] populateNodeList( Node[] source )
	{
		Node[] result = new Node[source.length];
		for ( int i = 0; i < result.length; i++ )
		{
			result[i] = new Node( source[i].getValue( ) );
		}
		for ( int i = 0; i < result.length; i++ )
		{
			List l = source[i].getChildren( );
			for ( int j = 0; j < l.size( ); j++ )
			{
				Node n = getMatchedNode( (Node) l.get( j ), result );
				
				if( n!= null )