adds flatzone lookup by TzName to both db implementations
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
-export([
|
||||
zones/1
|
||||
, rules/1
|
||||
, flatzones/1
|
||||
, flatzone/2
|
||||
%, insert/2
|
||||
, get_all/1
|
||||
@@ -43,6 +44,10 @@ rules(TzName) ->
|
||||
gen_server:call(?MODULE, {rules, TzName}).
|
||||
|
||||
|
||||
flatzones(TzName) ->
|
||||
gen_server:call(?MODULE, {flatzones, TzName}).
|
||||
|
||||
|
||||
flatzone(Date, TzName) ->
|
||||
gen_server:call(?MODULE, {flatzone, Date, TzName}).
|
||||
|
||||
@@ -103,6 +108,10 @@ handle_call({all, Tab}, _, State) ->
|
||||
Mod= State#state.mod,
|
||||
Matches= Mod:get_all(Tab),
|
||||
{reply, Matches, State};
|
||||
handle_call({flatzones, Name}, _, State) ->
|
||||
Mod= State#state.mod,
|
||||
Result= Mod:flatzones(Name),
|
||||
{reply, Result, State};
|
||||
handle_call({flatzone, Date, Name}, _, State) ->
|
||||
Mod= State#state.mod,
|
||||
Result= Mod:flatzone(Date, Name),
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
init/0
|
||||
, zones/1
|
||||
, rules/1
|
||||
, flatzones/1
|
||||
, flatzone/2
|
||||
%, insert/2
|
||||
, get_all/1
|
||||
@@ -27,10 +28,12 @@ implementation() -> ?MODULE.
|
||||
zones(TzName) ->
|
||||
ets:select(zone, [{#zone{name=TzName, _='_'}, [], ['$_']}]).
|
||||
|
||||
|
||||
rules(TzName) ->
|
||||
ets:select(rule, [{#rule{name=TzName, _='_'}, [], ['$_']}]).
|
||||
|
||||
flatzones(TzName) ->
|
||||
ets:select(flatzone, [{#flatzone{tzname=TzName, _='_'}, [], ['$_']}]).
|
||||
|
||||
|
||||
flatzone(Date, TzName) ->
|
||||
FlatZones= ets:select(flatzone, ezic_flatten:ms(Date, TzName)),
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
init/0
|
||||
, zones/1
|
||||
, rules/1
|
||||
, flatzones/1
|
||||
, flatzone/2
|
||||
%, insert/2
|
||||
, get_all/1
|
||||
@@ -50,6 +51,15 @@ rules(Name) ->
|
||||
{atomic, Rules}= mnesia:transaction(F),
|
||||
Rules.
|
||||
|
||||
% retrieve all flatzones by tz name
|
||||
flatzones(Name) ->
|
||||
F = fun()->
|
||||
Q = qlc:q([Z || Z=#flatzone{tzname=N} <- mnesia:table(flatzone), N=:=Name]),
|
||||
qlc:e(Q)
|
||||
end,
|
||||
{atomic, FlatZones}= mnesia:transaction(F),
|
||||
FlatZones.
|
||||
|
||||
% get all records from table
|
||||
get_all(Tab) when is_atom(Tab) ->
|
||||
F = fun() ->
|
||||
|
||||
Reference in New Issue
Block a user