feat(ds): mix safe cutoff into keymapper filter during iteration
This commit is contained in:
parent
7a94db25c3
commit
54951c273f
|
@ -154,7 +154,8 @@
|
||||||
|
|
||||||
-opaque keymapper() :: #keymapper{}.
|
-opaque keymapper() :: #keymapper{}.
|
||||||
|
|
||||||
-type scalar_range() :: any | {'=', scalar() | infinity} | {'>=', scalar()}.
|
-type scalar_range() ::
|
||||||
|
any | {'=', scalar() | infinity} | {'>=', scalar()} | {scalar(), '..', scalar()}.
|
||||||
|
|
||||||
-include("emqx_ds_bitmask.hrl").
|
-include("emqx_ds_bitmask.hrl").
|
||||||
|
|
||||||
|
@ -523,7 +524,9 @@ constraints_to_ranges(#keymapper{dim_sizeof = DimSizeof}, Filter) ->
|
||||||
({'=', Val}, _Bitsize) ->
|
({'=', Val}, _Bitsize) ->
|
||||||
{Val, Val};
|
{Val, Val};
|
||||||
({'>=', Val}, Bitsize) ->
|
({'>=', Val}, Bitsize) ->
|
||||||
{Val, ones(Bitsize)}
|
{Val, ones(Bitsize)};
|
||||||
|
({Min, '..', Max}, _Bitsize) ->
|
||||||
|
{Min, Max}
|
||||||
end,
|
end,
|
||||||
Filter,
|
Filter,
|
||||||
DimSizeof
|
DimSizeof
|
||||||
|
|
|
@ -206,7 +206,7 @@ next_until(#s{db = DB, data = CF, keymappers = Keymappers}, It, SafeCutoffTime,
|
||||||
%% Make filter:
|
%% Make filter:
|
||||||
Inequations = [
|
Inequations = [
|
||||||
{'=', TopicIndex},
|
{'=', TopicIndex},
|
||||||
{'>=', StartTime}
|
{StartTime, '..', SafeCutoffTime - 1}
|
||||||
| lists:map(
|
| lists:map(
|
||||||
fun
|
fun
|
||||||
('+') ->
|
('+') ->
|
||||||
|
|
Loading…
Reference in New Issue