Bug 183591 ResultSets opened during querying metadata are not closed - it can cause exception on Oracle
Build ID: 2.2.0.v20070329 Steps To Reproduce: 1.Create report with multiple stored procedures and oracle connection. 2.Generate report and check number of opened cursors on Oracle side. 3.If number of opened cursor exceeds Oracle limit, exception is thrown. More information: ResultSets opened in org.eclipse.birt.report.data.oda.jdbc.CallStatement - methods createSchemaList and getCallableParamMetaData are not closed.
data/org.eclipse.birt.report.data.oda.jdbc/src/org/eclipse/birt/report/data/oda/jdbc/CallStatement.java
private SPParameterPositionUtil paramUtil;
	
	
	private final static String ERRMSG_SET_PARAMETER = "Error setting value for SQL parameter #";
	private static Logger logger = Logger.getLogger( CallStatement.class.getName( ) );
	
	private IParameterMetaData parameterDefn; 
	
	private IResultSetMetaData cachedResultMetaData;
	private IResultSet cachedResultSet;
	protected String procedureName;
	protected String[] resultSetNames;
	
	
	private static final String ORACLE_FLOAT_NAME = "FLOAT";
	private static final String ORACLE_CURSOR_NAME = "REF CURSOR";
	private static final int ORACLE_CURSOR_TYPE = -10;
	/**
	 * assertNull(Object o)
	 * 
	 * @param o
	 *            the object that need to be tested null or not. if null, throw
	 *            exception
	 */
	private void assertNotNull( Object o ) throws OdaException
	{
		if ( o == null )
		{
			throw new JDBCException( ResourceConstants.DRIVER_NO_STATEMENT,
					ResourceConstants.ERROR_NO_STATEMENT );