]> granicus.if.org Git - ejabberd/commitdiff
Get rid of p1_mnesia file
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>
Thu, 17 Jul 2014 04:31:54 +0000 (08:31 +0400)
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>
Thu, 17 Jul 2014 04:32:13 +0000 (08:32 +0400)
src/mod_offline.erl
src/p1_mnesia.erl [deleted file]

index d81022fdd27e1aa991bdf70ca7eb457b070d96df..f6870adc068a63f9a8b2208ba5108a94e92ddee4 100644 (file)
@@ -123,10 +123,7 @@ store_offline_msg(_Host, US, Msgs, Len, MaxOfflineMsgs,
                  mnesia) ->
     F = fun () ->
                Count = if MaxOfflineMsgs =/= infinity ->
-                              Len +
-                                p1_mnesia:count_records(offline_msg,
-                                                        #offline_msg{us = US,
-                                                                     _ = '_'});
+                              Len + count_mnesia_records(US);
                           true -> 0
                        end,
                if Count > MaxOfflineMsgs -> discard_warn_sender(Msgs);
@@ -986,8 +983,7 @@ count_offline_messages(User, Server) ->
 count_offline_messages(LUser, LServer, mnesia) ->
     US = {LUser, LServer},
     F = fun () ->
-               p1_mnesia:count_records(offline_msg,
-                                       #offline_msg{us = US, _ = '_'})
+               count_mnesia_records(US)
        end,
     case catch mnesia:async_dirty(F) of
       I when is_integer(I) -> I;
@@ -1016,6 +1012,32 @@ count_offline_messages(_Acc, User, Server) ->
     N = count_offline_messages(User, Server),
     {stop, N}.
 
+%% Return the number of records matching a given match expression.
+%% This function is intended to be used inside a Mnesia transaction.
+%% The count has been written to use the fewest possible memory by
+%% getting the record by small increment and by using continuation.
+-define(BATCHSIZE, 100).
+
+count_mnesia_records(US) ->
+    MatchExpression = #offline_msg{us = US,  _ = '_'},
+    case mnesia:select(offline_msg, [{MatchExpression, [], [[]]}],
+                      ?BATCHSIZE, read) of
+       {Result, Cont} ->
+           Count = length(Result),
+           count_records_cont(Cont, Count);
+       '$end_of_table' ->
+           0
+    end.
+
+count_records_cont(Cont, Count) ->
+    case mnesia:select(Cont) of
+       {Result, Cont} ->
+           NewCount = Count + length(Result),
+           count_records_cont(Cont, NewCount);
+       '$end_of_table' ->
+           Count
+    end.
+
 offline_msg_schema() ->
     {record_info(fields, offline_msg), #offline_msg{}}.
 
diff --git a/src/p1_mnesia.erl b/src/p1_mnesia.erl
deleted file mode 100644 (file)
index b792472..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-%%% ====================================================================
-%%% ``The contents of this file are subject to the Erlang Public License,
-%%% Version 1.1, (the "License"); you may not use this file except in
-%%% compliance with the License. You should have received a copy of the
-%%% Erlang Public License along with this software. If not, it can be
-%%% retrieved via the world wide web at http://www.erlang.org/.
-%%%
-%%%
-%%% Software distributed under the License is distributed on an "AS IS"
-%%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%%% the License for the specific language governing rights and limitations
-%%% under the License.
-%%%
-%%%
-%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
-%%% All Rights Reserved.''
-%%%
-%%% This software is copyright 2006-2014, ProcessOne.
-
--module(p1_mnesia).
-
--author('mickael.remond@process-one.net').
-
--export([count_records/2]).
-
-%% Return the number of records matching a given match expression.
-%% This function is intended to be used inside a Mnesia transaction.
-%% The count has been written to use the fewest possible memory by
-%% getting the record by small increment and by using continuation.
--define(BATCHSIZE, 100).
-
-count_records(Tab, MatchExpression) ->
-    case mnesia:select(Tab, [{MatchExpression, [], [[]]}],
-                      ?BATCHSIZE, read)
-       of
-      {Result, Cont} ->
-         Count = length(Result),
-         count_records_cont(Cont, Count);
-      '$end_of_table' -> 0
-    end.
-
-count_records_cont(Cont, Count) ->
-    case mnesia:select(Cont) of
-      {Result, Cont} ->
-         NewCount = Count + length(Result),
-         count_records_cont(Cont, NewCount);
-      '$end_of_table' -> Count
-    end.