From 54ac5b5c69e89474c4c862bdd180d1e932bf24dd Mon Sep 17 00:00:00 2001 From: Pedram Nimreezi Date: Fri, 8 Nov 2013 01:57:51 -0500 Subject: [PATCH] Reset counters by default --- src/glc.erl | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/glc.erl b/src/glc.erl index e99c861..456113f 100644 --- a/src/glc.erl +++ b/src/glc.erl @@ -63,6 +63,7 @@ -export([ compile/2, + compile/3, handle/2, delete/1, reset_counters/1, @@ -167,14 +168,23 @@ union(Queries) -> %% On success the module representing the query is returned. The module and %% data associated with the query must be released using the {@link delete/1} %% function. The name of the query module is expected to be unique. +%% The counters are reset by default, unless Reset is set to false -spec compile(atom(), list()) -> {ok, atom()}. compile(Module, Query) -> + compile(Module, Query, true). + +-spec compile(atom(), list(), boolean()) -> {ok, atom()}. +compile(Module, Query, Reset) -> {ok, ModuleData} = module_data(Module, Query), case glc_code:compile(Module, ModuleData) of + {ok, Module} when Reset -> + reset_counters(Module), + {ok, Module}; {ok, Module} -> {ok, Module} end. + %% @doc Handle an event using a compiled query. %% %% The input event is expected to have been returned from {@link gre:make/2}.