Bug 145925 exception thrown out when create attached report using engine API
the following exception was thrown out in Java console when run, render, and runandrender attached reports respectively using engine API. SEVERE: Cannot find input parameter. java.lang.UnsupportedOperationException: No named Parameter supported. at org.eclipse.birt.report.data.oda.jdbc.Statement.findInParameter(Statement.java:661) at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.findInParameter(OdaQuery.java:985) at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.findInParameter(PreparedStatement.java:2649) at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getRuntimeParameterIndexFromName(PreparedStatement.java:1549) at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.updateWithParameterHints(PreparedStatement.java:1513) at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.mergeParamHintsWithMetaData(PreparedStatement.java:1455) at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getParameterMetaData(PreparedStatement.java:1336) at org.eclipse.birt.data.engine.executor.DataSourceQuery.getParameterMetaData(DataSourceQuery.java:433) at org.eclipse.birt.data.engine.executor.DataSourceQuery.hasOutputParams(DataSourceQuery.java:518) at org.eclipse.birt.data.engine.executor.DataSourceQuery.execute(DataSourceQuery.java:487) at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQuery.java:257) at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:677) at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:147) at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:159) at org.eclipse.birt.report.engine.data.dte.DteResultSet.<init>(DteResultSet.java:100) at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:121) at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:214) at org.eclipse.birt.report.engine.presentation.LocalizedEmitter.executeQueries(LocalizedEmitter.java:864) at org.eclipse.birt.report.engine.presentation.LocalizedEmitter.startExtendedContent(LocalizedEmitter.java:676) at org.eclipse.birt.report.engine.presentation.LocalizedEmitter.startForeign(LocalizedEmitter.java:448) at org.eclipse.birt.report.engine.presentation.WrappedEmitter.startForeign(WrappedEmitter.java:209) at org.eclipse.birt.report.engine.presentation.DefaultPaginationEmitter.startForeign(DefaultPaginationEmitter.java:488) at org.eclipse.birt.report.engine.executor.ExtendedItemExecutor.execute(ExtendedItemExecutor.java:103) at org.eclipse.birt.report.engine.executor.ReportExecutorVisitor.visitExtendedItem(ReportExecutorVisitor.java:83) at org.eclipse.birt.report.engine.ir.ExtendedItemDesign.accept(ExtendedItemDesign.java:30) at org.eclipse.birt.report.engine.executor.TableItemExecutor.accessRow(TableItemExecutor.java:644) at org.eclipse.birt.report.engine.executor.TableItemExecutor.accessTableBand(TableItemExecutor.java:521) at org.eclipse.birt.report.engine.executor.TableItemExecutor.accessGroupHeader(TableItemExecutor.java:462) at org.eclipse.birt.report.engine.executor.ListingElementExecutor.accessQuery(ListingElementExecutor.java:185) at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:158) at org.eclipse.birt.report.engine.executor.ReportExecutorVisitor.visitTableItem(ReportExecutorVisitor.java:205) at org.eclipse.birt.report.engine.ir.TableItemDesign.accept(TableItemDesign.java:69) at org.eclipse.birt.report.engine.executor.ReportExecutor.execute(ReportExecutor.java:129) at org.eclipse.birt.report.engine.executor.ReportExecutor.execute(ReportExecutor.java:89) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:171) at org.eclipse.birt.test.performance.RunRenderThread.run(RunRenderThread.java:105)
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/odaconsumer/PreparedStatement.java
{
		String methodName = "getOdaDriverParamMetaData";	
		sm_logger.entering( sm_className, methodName );
			    
		IParameterMetaData odaParamMetaData = null;
	    try
	    {
	        odaParamMetaData = m_statement.getParameterMetaData();
	    }
		catch( OdaException ex )
		{
			sm_logger.logp( Level.SEVERE, sm_className, methodName, 
							"Cannot get driver's parameter metadata.", ex );
			throw new DataException( ResourceConstants.CANNOT_GET_PARAMETER_METADATA, ex );
		}
		catch( UnsupportedOperationException ex )
		{
			sm_logger.logp( Level.WARNING, sm_className, methodName, 
							"The ODA driver is not capable of providing parameter metadata.", ex );
			
		}
		sm_logger.exiting( sm_className, methodName, odaParamMetaData );
		return odaParamMetaData;
	}
	
	private Collection mergeParamHints() throws DataException
	{
		String methodName = "mergeParamHints";	
		sm_logger.entering( sm_className, methodName );