From fb3b8a273e2ed67c49ba89ceb57c2f6ab3052d6b Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 24 Mar 2024 09:45:04 +0800 Subject: [PATCH] 1 --- server/imserver_new/friend/friendmgr.go | 32 ++++++++++++++++++++++++- third_party/f5 | 2 +- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/server/imserver_new/friend/friendmgr.go b/server/imserver_new/friend/friendmgr.go index b9718c6f..2f718798 100644 --- a/server/imserver_new/friend/friendmgr.go +++ b/server/imserver_new/friend/friendmgr.go @@ -2,6 +2,9 @@ package friend import ( "q5" + "f5" + "fmt" + "main/constant" ) type friendMgr struct { @@ -26,7 +29,34 @@ func (this *friendMgr) loadFromDB() { } func (this *friendMgr) loadFriendships() { - + var lastIdx int64 + f5.GetSysLog().Info("friendMgr.loadFriendships begin") + var done = false + for !done { + f5.GetJsStyleDb().SyncSelectCustomQuery( + constant.FRIEND_DB, + fmt.Sprintf("SELECT * FROM t_friend_relationship WHERE idx > %d AND deleted = 0", lastIdx), + func (err error, ds *f5.DataSet) { + if err != nil { + panic(fmt.Sprintf("friendMgr.loadFriendships dberror:%s", err)) + } + for ds.Next() { + idx := q5.ToInt64(ds.GetByName("idx")) + if idx > lastIdx { + lastIdx = idx + } else { + panic(fmt.Sprintf("friendMgr.loadFriendships idxerror:%s %s", idx, lastIdx)) + } + } + if ds.NumOfReaded() <= 0 { + done = true + } + }) + } + f5.GetSysLog().Info("friendMgr.loadFriendships end lastIdx:%s friendNum:%d blackNum:%d", + lastIdx, + len(this.friendHash), + len(this.blackHash)) } func (this *friendMgr) loadBlacklist() { diff --git a/third_party/f5 b/third_party/f5 index a149beea..35f839e5 160000 --- a/third_party/f5 +++ b/third_party/f5 @@ -1 +1 @@ -Subproject commit a149beea0673c64907f3d9e64153137aad52f790 +Subproject commit 35f839e5d4f3ef46a050c1968c16554ddb41c25e