Software /
code /
prosody-modules
Changeset
3587:c24d43ababc6
mod_storage_xmlarchive: Try harder to limit range of time to check
Fixes read of entire index in case where the time range is outside the
range present in the archive.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 07 May 2019 17:10:07 +0200 |
parents | 3586:796b29911747 |
children | 3588:85057c4e7b66 |
files | mod_storage_xmlarchive/mod_storage_xmlarchive.lua |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_storage_xmlarchive/mod_storage_xmlarchive.lua Mon May 06 16:05:00 2019 +0200 +++ b/mod_storage_xmlarchive/mod_storage_xmlarchive.lua Tue May 07 17:10:07 2019 +0200 @@ -109,16 +109,20 @@ local rev = query.reverse; if query.start then local d = dt.date(query.start); - for i = 1, #dates do - if dates[i] >= d then + for i = start_day, last_day, step do + if dates[i] < d then + start_day = i + 1; + elseif dates[i] >= d then start_day = i; break; end end end if query["end"] then local d = dt.date(query["end"]); - for i = #dates, 1, -1 do - if dates[i] <= d then + for i = last_day, start_day, -step do + if dates[i] > d then + last_day = i - 1; + elseif dates[i] <= d then last_day = i; break; end end