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/ResultIterator.java
* 
	 * @throws FileNotFoundException
	 */
	private void createCacheOutputStream( ) throws FileNotFoundException
	{
		metaOutputStream = new BufferedOutputStream( new FileOutputStream( ResultSetCacheUtil.getMetaFile( context.getTmpdir( ),
				resultService.getQueryResults( ).getID( ) ) ),
				1024 );
		rowOutputStream = new DataOutputStream( new BufferedOutputStream( new FileOutputStream( ResultSetCacheUtil.getDataFile( context.getTmpdir( ),
				resultService.getQueryResults( ).getID( ) ) ),
				1024 ) );
		File file = ResultSetCacheUtil.getDataFile( context.getTmpdir( ),
				resultService.getQueryResults( ).getID( ) );
		file.deleteOnExit( );
		file = ResultSetCacheUtil.getMetaFile( context.getTmpdir( ),
				resultService.getQueryResults( ).getID( ) );
		file.deleteOnExit( );
	}
	
	/**
	 * @throws DataException 
	 * @throws IOException 
	 * 
	 */
	private void closeCacheOutputStream( ) throws DataException
	{
		try
		{
			if(rowOutputStream!=null)
			{