code: private boolean isDataDirectExp(SQLException e) {
          /*
           * example of exception message
           * msft = "[Microsoft][SQLServer JDBC Driver][SQLServer]Invalid column name 'something'.";
           */
          String message = e.getMessage();
          int ind = message.indexOf('[', 2); // find the position of the second [
          ind = message.indexOf("][", ind + 10); // look for [] starting after the length of [SQLServer JDBC Driver], 10 is a good number.
  
          if (ind != -1) { // if none found ===> it is a datadirect one
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) 
                  Tr.debug(this, tc, "The exception is NOT a DataDirect exception ");
              return false;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) 
              Tr.debug(this, tc, "the exception is a DataDirect exception  ");
          return true;
      }
docs: <p>This method checks if the specified exception is a DataDirect JDBC driver-created
  exception or a database vendor-created (such as MS SQL Server) exception.
  The result of this method is used to determine how SQLException mapping is performed.
  If the SQLException was created by the JDBC driver, the default findMappingClass
  implementation will search through the DataDirect SQLException mappings only.</p>
  
  <p>This method is provided for internal use only. It cannot be overriden.</p>
  
  @param e the SQLException to check.
  
  @return true if the SQLException occurred in a DataDirect JDBC driver.
  false if the SQLException originated in the database.