public Cursor rawQueryWithFactory(CursorFactory cursorFactory,String sql,String[] selectionArgs,String editTable){
  verifyDbIsOpen();
  Cursor cursor=null;
  PreparedStatement statement=null;
  ResultSet resultSet=null;
  try {
synchronized (connection) {
      statement=prepareStatement(connection,sql,(Object[])selectionArgs);
      resultSet=statement.executeQuery();
      return new Cursor(statement,resultSet);
    }
  }
 catch (  Throwable e) {
    LOG.warn("Error performing SQL statement: " + sql,e);
  }
  return cursor;
}

public Cursor rawQueryWithFactory ( CursorFactory cursorFactory , String sql , String [ ] selectionArgs , String editTable ) { verifyDbIsOpen ( ) ; Cursor cursor = null ; PreparedStatement statement = null ; ResultSet resultSet = null ; try { synchronized ( connection ) { statement = prepareStatement ( connection , sql , ( Object [ ] ) selectionArgs ) ; resultSet = statement . executeQuery ( ) ; return new Cursor ( statement , resultSet ) ; } } catch ( Throwable e ) { LOG . warn ( "Error performing SQL statement: " + sql , e ) ; } return cursor ; }
runs the provided sql and returns a cursor over the result set .
