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
{
			saveNullRowsBetween( lastRowIndex, currIndex );
			rowExprsDos.close( );
			rowLenDos.close( );
		}
		catch ( IOException e )
		{
			throw new DataException( ResourceConstants.RD_SAVE_ERROR,
					e,
					"Result Data" );
		}
	}
	/**
	 * init save environment
	 */
	private void initSave( boolean finish ) throws DataException
	{
		if ( inited == true )
			return;
		inited = true;
		try
		{
			
			IOUtil.writeInt( this.rowExprsDos, rowCount );
			
			Map map = new HashMap();
			Iterator it = exprNameSet.iterator( );
			while(it.hasNext( ))
			{
				Object value = it.next( );