public Cursor query(SQLiteDatabase db,String[] projectionIn,String selection,String[] selectionArgs,String groupBy,String having,String sortOrder,String limit){
  if (mTables == null) {
    return null;
  }
  if (mStrict && selection != null && selection.length() > 0) {
    String sqlForValidation=buildQuery(projectionIn,"(" + selection + ")",groupBy,having,sortOrder,limit);
    validateSql(db,sqlForValidation);
  }
  String sql=buildQuery(projectionIn,selection,groupBy,having,sortOrder,limit);
  return db.rawQueryWithFactory(mFactory,sql,selectionArgs,SQLiteDatabase.findEditTable(mTables));
}

public Cursor query ( SQLiteDatabase db , String [ ] projectionIn , String selection , String [ ] selectionArgs , String groupBy , String having , String sortOrder , String limit ) { if ( mTables == null ) { return null ; } if ( mStrict && selection != null && selection . length ( ) > 0 ) { String sqlForValidation = buildQuery ( projectionIn , "(" + selection + ")" , groupBy , having , sortOrder , limit ) ; validateSql ( db , sqlForValidation ) ; } String sql = buildQuery ( projectionIn , selection , groupBy , having , sortOrder , limit ) ; return db . rawQueryWithFactory ( mFactory , sql , selectionArgs , SQLiteDatabase . findEditTable ( mTables ) ) ; }
perform a query by combining all current settings and the information passed into this method .
