if( sm_logger.isLoggable( Level.FINER ) )
if( sm_logger.isLoggingEnterExitLevel() )
	public boolean execute( ) throws DataException	{		String methodName = "execute";		sm_logger.entering( sm_className, methodName );				// when the statement is re-executed, then the previous result set(s)		// needs to be invalidated.		resetCurrentResultSets();				// this will get the result set metadata for the ResultSet in a subsequent		// getResultSet() call.  Getting the underlying metadata after the statement 		// has been executed may reset its state which will cause the result set not 		// to have any data		doGetMetaData();				try		{		    boolean ret= false;			if ( isAdvancedQuery() )		        ret = getAdvancedStatement().execute();			else // simple statement			{			    // hold onto its returned result set			    // for subsequent call to getResultSet()			    m_driverResultSet = m_statement.executeQuery( );			    ret = true;			}			if( sm_logger.isLoggable( Level.FINER ) )				sm_logger.exiting( sm_className, methodName, Boolean.valueOf( ret ) );		    return ret;		}		catch( OdaException ex )		{			sm_logger.logp( Level.SEVERE, sm_className, methodName, 							"Cannot execute statement.", ex );						throw new DataException( ResourceConstants.CANNOT_EXECUTE_STATEMENT, ex );		}		catch( UnsupportedOperationException ex )		{			sm_logger.logp( Level.SEVERE, sm_className, methodName, 							"Cannot execute statement.", ex );						throw new DataException( ResourceConstants.CANNOT_EXECUTE_STATEMENT, ex );		}	}