From aa96686be0990c3310c139d8c690a810ae0f53e5 Mon Sep 17 00:00:00 2001 From: Sorunome Date: Sat, 9 May 2020 13:13:50 +0200 Subject: [PATCH] improve initial loading performance by reducing amoung of sql queries --- lib/utils/famedlysdk_store.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/utils/famedlysdk_store.dart b/lib/utils/famedlysdk_store.dart index c3f8d2a..87238fb 100644 --- a/lib/utils/famedlysdk_store.dart +++ b/lib/utils/famedlysdk_store.dart @@ -465,13 +465,15 @@ class ExtendedStore extends Store implements ExtendedStoreAPI { (onlyLeft ? "=" : "!=") + "'leave' " + " GROUP BY room_id "); + List> resStates = await _db.rawQuery("SELECT * FROM RoomStates WHERE type IS NOT NULL"); + List> resAccountData = await _db.rawQuery("SELECT * FROM RoomAccountData"); List roomList = []; for (num i = 0; i < res.length; i++) { Room room = await Room.getRoomFromTableRow( res[i], client, - states: getStatesFromRoomId(res[i]["room_id"]), - roomAccountData: getAccountDataFromRoomId(res[i]["room_id"]), + states: Future.value(resStates.where((r) => r["room_id"] == res[i]["room_id"]).toList()), + roomAccountData: Future.value(resAccountData.where((r) => r["room_id"] == res[i]["room_id"]).toList()), ); roomList.add(room); }