IResultSet mdRs = executeQuery( );
IResultSet mdRs = null; try { mdRs = executeQuery( ); } catch ( OdaException e ) { mdRs = null; }
	public IResultSetMetaData getMetaData( ) throws OdaException	{		logger.logp( java.util.logging.Level.FINE,				CallStatement.class.getName( ),				"getMetaData",				"CallableStatement.getMetaData( )" );		java.sql.ResultSetMetaData resultmd = null;		try		{			assertNotNull( callStat );			resultmd = callStat.getMetaData( );		}		catch ( NullPointerException e )		{			resultmd = null;		}		catch ( SQLException e )		{			// For some database, meta data of table can not be obtained			// in prepared time. To solve this problem, query execution is			// required to be executed first.		}		IResultSetMetaData pstmtResultMetaData = null;		if ( resultmd != null )		{			pstmtResultMetaData = new ResultSetMetaData( resultmd );		}		else		{			// If Jdbc driver throw an SQLexception or return null, when we get			// MetaData from ResultSet			IResultSet mdRs = executeQuery( );			try			{				if ( mdRs != null )					pstmtResultMetaData = mdRs.getMetaData( );			}			catch ( OdaException e )			{				//					throw new JDBCException(				// ResourceConstants.DRIVER_NO_RESULTSET,				//							ResourceConstants.ERROR_NO_RESULTSET );			}		}		return pstmtResultMetaData;	}