Bug 191421 [SPM]UnsupportedOperationException when use reportrunner to render report.[0600]
Description: UnsupportedOperationException when use reportrunner to render report. Build number:2.2.0.v20070606 Steps to reproduce: 1. Using engine API reportrunner to run attached report. Expected result: Report is generated without exception. Actual result: Report is generated but exception is written in log. Error log: SEVERE: Cannot find out parameter. java.lang.UnsupportedOperationException: No named Parameter supported. at org.eclipse.birt.report.data.oda.jdbc.CallStatement.findOutParameter(Ljava.lang.String;)I(CallStatement.java:1404) at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaAdvancedQuery.findOutParameter(Ljava.lang.String;)I(OdaAdvancedQuery.java:1524) at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.findOutParameter(Ljava.lang.String;)I(PreparedStatement.java:711) at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getRuntimeParameterIndexFromName(Ljava.lang.String;Z)I(PreparedStatement.java:1588) at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.updateWithParameterHints(Ljava.util.List;Ljava.util.List;)V(PreparedStatement.java:1529) at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.mergeParamHintsWithMetaData(Lorg.eclipse.datatools.connectivity.oda.IParameterMetaData;)Ljava.util.Collection;(PreparedStatement.java:1460) at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getParameterMetaData()Ljava.util.Collection;(PreparedStatement.java:1336) at org.eclipse.birt.data.engine.executor.DataSourceQuery.getParameterMetaData()Ljava.util.Collection;(DataSourceQuery.java:453) at org.eclipse.birt.data.engine.executor.DataSourceQuery.checkOutputParamNameValid(Ljava.lang.String;)V(DataSourceQuery.java:659) at org.eclipse.birt.data.engine.executor.DataSourceQuery.getOutputParameterValue(Ljava.lang.String;)Ljava.lang.Object;(DataSourceQuery.java:598) at org.eclipse.birt.data.engine.impl.DataSetRuntime.getOutputParameterValue(Ljava.lang.String;)Ljava.lang.Object;(DataSetRuntime.java:783) at org.eclipse.birt.data.engine.script.JSOutputParams.get(Ljava.lang.String;Lorg.mozilla.javascript.Scriptable;)Ljava.lang.Object;(JSOutputParams.java:63) at org.mozilla.javascript.ScriptableObject.getProperty(Lorg.mozilla.javascript.Scriptable;Ljava.lang.String;)Ljava.lang.Object;(ScriptableObject.java:1263) at org.mozilla.javascript.ScriptRuntime.getObjectElem(Lorg.mozilla.javascript.Scriptable;Ljava.lang.Object;Lorg.mozilla.javascript.Context;)Ljava.lang.Object;(ScriptRuntime.java:1301) at org.mozilla.javascript.ScriptRuntime.getObjectElem(Ljava.lang.Object;Ljava.lang.Object;Lorg.mozilla.javascript.Context;)Ljava.lang.Object;(ScriptRuntime.java:1283) at org.mozilla.javascript.Interpreter.interpret(Lorg.mozilla.javascript.Context;Lorg.mozilla.javascript.Interpreter$CallFrame;Ljava.lang.Object;)Ljava.lang.Object;(Interpreter.java:2774) at org.mozilla.javascript.Interpreter.interpret(Lorg.mozilla.javascript.InterpretedFunction;Lorg.mozilla.javascript.Context;Lorg.mozilla.javascript.Scriptable;Lorg.mozilla.javascript.Scriptable;[Ljava.lang.Object;)Ljava.lang.Object;(Interpreter.java:2164) at org.mozilla.javascript.InterpretedFunction.call(Lorg.mozilla.javascript.Context;Lorg.mozilla.javascript.Scriptable;Lorg.mozilla.javascript.Scriptable;[Ljava.lang.Object;)Ljava.lang.Object;(InterpretedFunction.java:140) at org.mozilla.javascript.ContextFactory.doTopCall(Lorg.mozilla.javascript.Callable;Lorg.mozilla.javascript.Context;Lorg.mozilla.javascript.Scriptable;Lorg.mozilla.javascript.Scriptable;[Ljava.lang.Object;)Ljava.lang.Object;(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(Lorg.mozilla.javascript.Callable;Lorg.mozilla.javascript.Context;Lorg.mozilla.javascript.Scriptable;Lorg.mozilla.javascript.Scriptable;[Ljava.lang.Object;)Ljava.lang.Object;(ScriptRuntime.java:2769) at org.mozilla.javascript.Interpreter.interpret(Lorg.mozilla.javascript.InterpretedFunction;Lorg.mozilla.javascript.Context;Lorg.mozilla.javascript.Scriptable;Lorg.mozilla.javascript.Scriptable;[Ljava.lang.Object;)Ljava.lang.Object;(Interpreter.java:2145) at org.mozilla.javascript.InterpretedFunction.call(Lorg.mozilla.javascript.Context;Lorg.mozilla.javascript.Scriptable;Lorg.mozilla.javascript.Scriptable;[Ljava.lang.Object;)Ljava.lang.Object;(InterpretedFunction.java:140) at org.mozilla.javascript.InterpretedFunction.exec(Lorg.mozilla.javascript.Context;Lorg.mozilla.javascript.Scriptable;)Ljava.lang.Object;(InterpretedFunction.java:149) at org.eclipse.birt.data.engine.expression.BytecodeExpression.evaluate(Lorg.mozilla.javascript.Context;Lorg.mozilla.javascript.Scriptable;)Ljava.lang.Object;(BytecodeExpression.java:48) at org.eclipse.birt.data.engine.expression.ExprEvaluateUtil.evaluateCompiledExpression(Lorg.eclipse.birt.data.engine.expression.CompiledExpression;Lorg.eclipse.birt.data.engine.odi.IResultObject;ILorg.mozilla.javascript.Scriptable;)Ljava.lang.Object;(ExprEvaluateUtil.java:170) at org.eclipse.birt.data.engine.expression.ExprEvaluateUtil.evaluateCompiledExpression(Lorg.eclipse.birt.data.engine.expression.CompiledExpression;Lorg.eclipse.birt.data.engine.odi.IResultIterator;Lorg.mozilla.javascript.Scriptable;)Ljava.lang.Object;(ExprEvaluateUtil.java:189) at org.eclipse.birt.data.engine.expression.ExprEvaluateUtil.evaluateExpression(Lorg.eclipse.birt.data.engine.api.IBaseExpression;Lorg.eclipse.birt.data.engine.odi.IResultIterator;Lorg.mozilla.javascript.Scriptable;)Ljava.lang.Object;(ExprEvaluateUtil.java:63) at org.eclipse.birt.data.engine.impl.BindingColumnsEvalUtil.evaluateValue(Lorg.eclipse.birt.data.engine.impl.BindingColumnsEvalUtil$BindingColumn;I)Ljava.lang.Object;(BindingColumnsEvalUtil.java:217) at org.eclipse.birt.data.engine.impl.BindingColumnsEvalUtil.getColumnsValue()Ljava.util.Map;(BindingColumnsEvalUtil.java:169) at org.eclipse.birt.data.engine.impl.ResultIterator.prepareCurrentRow()V(ResultIterator.java:577) at org.eclipse.birt.data.engine.impl.ResultIterator.next()Z(ResultIterator.java:390) at org.eclipse.birt.report.engine.data.dte.QueryResultSet.next()Z(QueryResultSet.java:155)
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/odaconsumer/PreparedStatement.java
{
		String methodName = "supportsNamedParameter";	 
		sm_logger.entering( sm_className, methodName );
		
		if( m_supportsNamedParameters != UNKNOWN )
		{
			boolean ret = ( m_supportsNamedParameters == TRUE );
			
			if( sm_logger.isLoggingEnterExitLevel() )
				sm_logger.exiting( sm_className, methodName, Boolean.valueOf( ret ) );
			
			return ret;
		}
		
		
		boolean b =
			m_connection.getMetaData( m_dataSetType ).supportsNamedParameters();
		m_supportsNamedParameters = b ? TRUE : FALSE;
		
		if( sm_logger.isLoggingEnterExitLevel() )
			sm_logger.exiting( sm_className, methodName, Boolean.valueOf( b ) );	
		return b;
	}
	
	private void checkNamedResultsSupport( ) 
		throws DataException
	{
		String methodName = "checkNamedResultsSupport";