Time queries

gtask_related_email
Alex Baker 6 years ago
parent 94f9309c0b
commit f027836c0c

@ -17,6 +17,7 @@ import androidx.room.Transaction;
import androidx.room.Update; import androidx.room.Update;
import androidx.sqlite.db.SimpleSQLiteQuery; import androidx.sqlite.db.SimpleSQLiteQuery;
import androidx.sqlite.db.SupportSQLiteDatabase; import androidx.sqlite.db.SupportSQLiteDatabase;
import com.google.common.base.Joiner;
import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Functions; import com.todoroo.andlib.sql.Functions;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
@ -130,12 +131,15 @@ public abstract class TaskDao {
@Transaction @Transaction
public List<TaskContainer> fetchTasks(List<String> queries) { public List<TaskContainer> fetchTasks(List<String> queries) {
long start = BuildConfig.DEBUG ? now() : 0;
SupportSQLiteDatabase db = database.getOpenHelper().getWritableDatabase(); SupportSQLiteDatabase db = database.getOpenHelper().getWritableDatabase();
int last = queries.size() - 1; int last = queries.size() - 1;
for (int i = 0 ; i < last ; i++) { for (int i = 0 ; i < last ; i++) {
db.execSQL(queries.get(i)); db.execSQL(queries.get(i));
} }
return fetchTasks(new SimpleSQLiteQuery(queries.get(last))); List<TaskContainer> result = fetchTasks(new SimpleSQLiteQuery(queries.get(last)));
Timber.v("%sms: %s", now() - start, Joiner.on(";").join(queries));
return result;
} }
@RawQuery @RawQuery

@ -13,7 +13,6 @@ import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Observer; import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModel;
import com.google.common.base.Joiner;
import com.todoroo.andlib.data.Property.StringProperty; import com.todoroo.andlib.data.Property.StringProperty;
import com.todoroo.andlib.data.Table; import com.todoroo.andlib.data.Table;
import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Criterion;
@ -257,7 +256,6 @@ public class TaskListViewModel extends ViewModel {
assertMainThread(); assertMainThread();
List<String> queries = getQuery(preferences, filter); List<String> queries = getQuery(preferences, filter);
Timber.v(Joiner.on(";").join(queries));
disposable.add( disposable.add(
Single.fromCallable(() -> taskDao.fetchTasks(queries)) Single.fromCallable(() -> taskDao.fetchTasks(queries))
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())

Loading…
Cancel
Save