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/document/RowSaveUtil.java
}
	
	/**
	 * @param currIndex
	 * @param exprID
	 * @param exprValue
	 * @throws DataException
	 */
	private int saveExprValue( Map valueMap ) throws DataException
	{
		ByteArrayOutputStream tempBaos = new ByteArrayOutputStream( );
		BufferedOutputStream tempBos = new BufferedOutputStream( tempBaos );
		DataOutputStream tempDos = new DataOutputStream( tempBos );
		try
		{
			IOUtil.writeInt( tempDos, valueMap.size( ) );
			Iterator it = exprNameSet.iterator( );
			while ( it.hasNext( ) )
			{
				Object key = it.next( );
				Object value = valueMap.get( key );
				if( value instanceof DataException )
					value = EXCEPTION_INDICATOR;
				IOUtil.writeObject( tempDos, value );
			}
			tempDos.flush( );
			tempBos.flush( );
			tempBaos.flush( );
			byte[] bytes = tempBaos.toByteArray( );
			int rowBytes = bytes.length;