diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2019-02-21 23:50:16 +0100 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2019-02-21 23:50:16 +0100 |
commit | f63dcdb790232e95433f0b747fa3634e1ad4fe57 (patch) | |
tree | 903690aff8eed2793537f777ed636ba3667595f7 /src/mod_mam_sql.erl | |
parent | mod_mam_mnesia: Fix check for empty archive (diff) |
mod_mam_sql: Improve check for empty archive
Avoid counting the messages of an archive to check whether it's empty.
Diffstat (limited to 'src/mod_mam_sql.erl')
-rw-r--r-- | src/mod_mam_sql.erl | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/mod_mam_sql.erl b/src/mod_mam_sql.erl index 48112842..dee2cd7c 100644 --- a/src/mod_mam_sql.erl +++ b/src/mod_mam_sql.erl @@ -268,15 +268,13 @@ export(_Server) -> is_empty_for_user(LUser, LServer) -> case ejabberd_sql:sql_query( LServer, - ?SQL("select @(count(*))d from archive" - " where username=%(LUser)s and %(LServer)H")) of - {selected, [{Res}]} -> - case Res of - 0 -> true; - _ -> false - end; - _ -> false - end. + ?SQL("select @(1)d from archive" + " where username=%(LUser)s and %(LServer)H limit 1")) of + {selected, [{1}]} -> + false; + _ -> + true + end. is_empty_for_room(LServer, LName, LHost) -> LUser = jid:encode({LName, LHost, <<>>}), |