diff options
author | Alexey Shchepin <alexey@process-one.net> | 2016-02-18 18:49:14 +0300 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2016-03-02 00:12:49 +0300 |
commit | 6d7ce0237af67a0e3f143a19bb0b313661ee116b (patch) | |
tree | 854477d68c5a18dbce05b4c90de58fb8a30c0adf /src/mod_last.erl | |
parent | New parse transform for ?SQL_UPSERT and ?SQL_UPSERT_T (diff) |
Update mod_last SQL queries to the new API
Diffstat (limited to 'src/mod_last.erl')
-rw-r--r-- | src/mod_last.erl | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/src/mod_last.erl b/src/mod_last.erl index d76b6049..33f88e02 100644 --- a/src/mod_last.erl +++ b/src/mod_last.erl @@ -185,18 +185,12 @@ get_last(LUser, LServer, riak) -> Err end; get_last(LUser, LServer, odbc) -> - Username = ejabberd_odbc:escape(LUser), - case catch odbc_queries:get_last(LServer, Username) of - {selected, [<<"seconds">>, <<"state">>], []} -> - not_found; - {selected, [<<"seconds">>, <<"state">>], - [[STimeStamp, Status]]} -> - case catch jlib:binary_to_integer(STimeStamp) of - TimeStamp when is_integer(TimeStamp) -> - {ok, TimeStamp, Status}; - Reason -> {error, {invalid_timestamp, Reason}} - end; - Reason -> {error, {invalid_result, Reason}} + case catch odbc_queries:get_last(LServer, LUser) of + {selected, []} -> + not_found; + {selected, [{TimeStamp, Status}]} -> + {ok, TimeStamp, Status}; + Reason -> {error, {invalid_result, Reason}} end. get_last_iq(IQ, SubEl, LUser, LServer) -> @@ -260,12 +254,7 @@ store_last_info(LUser, LServer, TimeStamp, Status, last_activity_schema())}; store_last_info(LUser, LServer, TimeStamp, Status, odbc) -> - Username = ejabberd_odbc:escape(LUser), - Seconds = - ejabberd_odbc:escape(iolist_to_binary(integer_to_list(TimeStamp))), - State = ejabberd_odbc:escape(Status), - odbc_queries:set_last_t(LServer, Username, Seconds, - State). + odbc_queries:set_last_t(LServer, LUser, TimeStamp, Status). %% @spec (LUser::string(), LServer::string()) -> %% {ok, TimeStamp::integer(), Status::string()} | not_found @@ -286,8 +275,7 @@ remove_user(LUser, LServer, mnesia) -> F = fun () -> mnesia:delete({last_activity, US}) end, mnesia:transaction(F); remove_user(LUser, LServer, odbc) -> - Username = ejabberd_odbc:escape(LUser), - odbc_queries:del_last(LServer, Username); + odbc_queries:del_last(LServer, LUser); remove_user(LUser, LServer, riak) -> {atomic, ejabberd_riak:delete(last_activity, {LUser, LServer})}. |