Skip to content

Commit

Permalink
Add eager query for cluster query function.
Browse files Browse the repository at this point in the history
  • Loading branch information
sinyu890807 committed May 22, 2014
1 parent b6880cc commit 4bb3883
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 14 deletions.
23 changes: 15 additions & 8 deletions library/src/org/litepal/crud/ClusterQuery.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,6 @@ public class ClusterQuery {
*/
String mOffset;

boolean mEager = false;

/**
* Do not allow to create instance by developers.
*/
Expand Down Expand Up @@ -160,11 +158,6 @@ public ClusterQuery offset(int value) {
return this;
}

public ClusterQuery eager(boolean isEager) {
mEager = isEager;
return this;
}

/**
* Finds multiple records by the cluster parameters. You can use the below
* way to finish a complicated query:
Expand Down Expand Up @@ -197,7 +190,21 @@ public <T> List<T> find(Class<T> modelClass) {
}
limit = mOffset + "," + mLimit;
}
return queryHandler.onFind(modelClass, mColumns, mConditions, mOrderBy, limit, mEager);
return queryHandler.onFind(modelClass, mColumns, mConditions, mOrderBy, limit, false);
}

public <T> List<T> find(Class<T> modelClass, boolean isEager) {
QueryHandler queryHandler = new QueryHandler(Connector.getDatabase());
String limit;
if (mOffset == null) {
limit = mLimit;
} else {
if (mLimit == null) {
mLimit = "0";
}
limit = mOffset + "," + mLimit;
}
return queryHandler.onFind(modelClass, mColumns, mConditions, mOrderBy, limit, isEager);
}

}
10 changes: 4 additions & 6 deletions library/src/org/litepal/crud/QueryHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -141,12 +141,10 @@ <T> List<T> onFindAll(Class<T> modelClass, boolean isEager, long... ids) {
<T> List<T> onFind(Class<T> modelClass, String[] columns, String[] conditions, String orderBy,
String limit, boolean isEager) {
BaseUtility.checkConditionsCorrect(conditions);
if (!isEager) {
List<T> dataList = query(modelClass, columns, getWhereClause(conditions),
getWhereArgs(conditions), null, null, orderBy, limit, null);
return dataList;
}
return null;
List<T> dataList = query(modelClass, columns, getWhereClause(conditions),
getWhereArgs(conditions), null, null, orderBy, limit,
getForeignKeyAssociations(modelClass.getName(), isEager));
return dataList;
}

}

0 comments on commit 4bb3883

Please sign in to comment.