diff options
-rw-r--r-- | rebar.config.script | 8 | ||||
-rw-r--r-- | src/node_flat.erl | 15 | ||||
-rw-r--r-- | src/node_flat_odbc.erl | 30 |
3 files changed, 23 insertions, 30 deletions
diff --git a/rebar.config.script b/rebar.config.script index 43bb8f0ef..7ec52722b 100644 --- a/rebar.config.script +++ b/rebar.config.script @@ -167,6 +167,12 @@ TestConfig = case file:read_file_info(TestConfigFile) of "" end, +AllDeps0 = Deps ++ CfgDeps, +AllDeps = case lists:keytake(lager, 1, AllDeps0) of + {value, Tuple, Rest} -> [Tuple|Rest]; + false -> AllDeps0 + end, + Config = [{erl_opts, Macros ++ HiPE ++ DebugInfo ++ [{src_dirs, [asn1, src | SrcDirs]}]}, {sub_dirs, ["rel"]}, @@ -180,7 +186,7 @@ Config = [{erl_opts, Macros ++ HiPE ++ DebugInfo ++ [{"(XC - UC) || (XU - X - B - " ++ string:join(CfgXrefs, " - ") ++ ")", []}]}, {post_hooks, PostHooks ++ CfgPostHooks}, - {deps, Deps ++ CfgDeps}] ++ ElixirConfig, + {deps, AllDeps}] ++ ElixirConfig, %%io:format("ejabberd configuration:~n ~p~n", [Config]), Config. diff --git a/src/node_flat.erl b/src/node_flat.erl index 736bbdfe1..6388dfc5a 100644 --- a/src/node_flat.erl +++ b/src/node_flat.erl @@ -46,8 +46,7 @@ get_entity_subscriptions/2, get_node_subscriptions/1, get_subscriptions/2, set_subscriptions/4, get_pending_nodes/2, get_states/1, get_state/2, - set_state/1, get_items/6, get_items/2, - get_items/7, get_items/3, get_item/7, + set_state/1, get_items/7, get_items/3, get_item/7, get_item/2, set_item/1, get_item_name/3, node_to_path/1, path_to_node/1, can_fetch_item/2, is_subscribed/1]). @@ -698,19 +697,11 @@ del_state(Nidx, Key) -> %% mod_pubsub module.</p> %% <p>PubSub plugins can store the items where they wants (for example in a %% relational database), or they can even decide not to persist any items.</p> -%% <p>If a PubSub plugin wants to delegate the item storage to the default node, -%% they can implement this function like this: -%% ```get_items(Nidx, From) -> -%% node_default:get_items(Nidx, From).'''</p> -get_items(Nidx, From) -> - get_items(Nidx, From, none). get_items(Nidx, _From, _RSM) -> Items = mnesia:match_object(#pubsub_item{itemid = {'_', Nidx}, _ = '_'}), {result, {lists:reverse(lists:keysort(#pubsub_item.modification, Items)), none}}. -get_items(Nidx, JID, AccessModel, PresenceSubscription, RosterGroup, SubId) -> - get_items(Nidx, JID, AccessModel, PresenceSubscription, RosterGroup, SubId, none). -get_items(Nidx, JID, AccessModel, PresenceSubscription, RosterGroup, _SubId, _RSM) -> +get_items(Nidx, JID, AccessModel, PresenceSubscription, RosterGroup, _SubId, RSM) -> SubKey = jlib:jid_tolower(JID), GenKey = jlib:jid_remove_resource(SubKey), GenState = get_state(Nidx, GenKey), @@ -743,7 +734,7 @@ get_items(Nidx, JID, AccessModel, PresenceSubscription, RosterGroup, _SubId, _RS %% % Payment is required for a subscription %% {error, ?ERR_PAYMENT_REQUIRED}; true -> - get_items(Nidx, JID) + get_items(Nidx, JID, RSM) end. %% @doc <p>Returns an item (one item list), given its reference.</p> diff --git a/src/node_flat_odbc.erl b/src/node_flat_odbc.erl index c3f9c7e26..68492cdc4 100644 --- a/src/node_flat_odbc.erl +++ b/src/node_flat_odbc.erl @@ -46,8 +46,7 @@ get_entity_subscriptions/2, get_node_subscriptions/1, get_subscriptions/2, set_subscriptions/4, get_pending_nodes/2, get_states/1, get_state/2, - set_state/1, get_items/6, get_items/2, - get_items/7, get_items/3, get_item/7, + set_state/1, get_items/7, get_items/3, get_item/7, get_item/2, set_item/1, get_item_name/3, node_to_path/1, path_to_node/1, get_entity_subscriptions_for_send_last/2, get_last_items/3]). @@ -623,18 +622,18 @@ del_state(Nidx, JID) -> J, <<"' and nodeid='">>, Nidx, <<"';">>]), ok. -get_items(Nidx, _From) -> - case catch - ejabberd_odbc:sql_query_t([<<"select itemid, publisher, creation, modification, payload " - "from pubsub_item where nodeid='">>, Nidx, - <<"' order by modification desc;">>]) - of - {selected, - [<<"itemid">>, <<"publisher">>, <<"creation">>, <<"modification">>, <<"payload">>], RItems} -> - {result, [raw_to_item(Nidx, RItem) || RItem <- RItems]}; - _ -> - {result, []} - end. +%get_items(Nidx, _From) -> +% case catch +% ejabberd_odbc:sql_query_t([<<"select itemid, publisher, creation, modification, payload " +% "from pubsub_item where nodeid='">>, Nidx, +% <<"' order by modification desc;">>]) +% of +% {selected, +% [<<"itemid">>, <<"publisher">>, <<"creation">>, <<"modification">>, <<"payload">>], RItems} -> +% {result, [raw_to_item(Nidx, RItem) || RItem <- RItems]}; +% _ -> +% {result, []} +% end. get_items(Nidx, From, none) -> MaxItems = case catch @@ -719,9 +718,6 @@ get_items(Nidx, _From, {result, {[], none}} end. -get_items(Nidx, JID, AccessModel, PresenceSubscription, RosterGroup, SubId) -> - get_items(Nidx, JID, AccessModel, PresenceSubscription, RosterGroup, SubId, none). - get_items(Nidx, JID, AccessModel, PresenceSubscription, RosterGroup, _SubId, RSM) -> SubKey = jlib:jid_tolower(JID), GenKey = jlib:jid_remove_resource(SubKey), |