diff options
author | Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com> | 2020-09-24 13:05:15 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-24 13:05:15 +0300 |
commit | 80676423617d2587632eb69c9ea5a0ef0cb49d0c (patch) | |
tree | 960b8a1b7583801e13887d21ed456f46cbb851bd /database/engine | |
parent | b2ac03cf4bf6bf19783ff726585dc5b62bb55520 (diff) |
Improved the data query when using the context parameter (#9978)
Diffstat (limited to 'database/engine')
-rwxr-xr-x | database/engine/rrdengineapi.c | 3 | ||||
-rw-r--r-- | database/engine/rrdengineapi.h | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/database/engine/rrdengineapi.c b/database/engine/rrdengineapi.c index a8649a2238..4646e4e4af 100755 --- a/database/engine/rrdengineapi.c +++ b/database/engine/rrdengineapi.c @@ -376,7 +376,7 @@ static inline uint32_t *pginfo_to_points(struct rrdeng_page_info *page_info) * @return number of regions with different data collection intervals. */ unsigned rrdeng_variable_step_boundaries(RRDSET *st, time_t start_time, time_t end_time, - struct rrdeng_region_info **region_info_arrayp, unsigned *max_intervalp, RRDDIM *temp_rd) + struct rrdeng_region_info **region_info_arrayp, unsigned *max_intervalp, struct context_param *context_param_list) { struct pg_cache_page_index *page_index; struct rrdengine_instance *ctx; @@ -396,6 +396,7 @@ unsigned rrdeng_variable_step_boundaries(RRDSET *st, time_t start_time, time_t e *region_info_arrayp = NULL; page_info_array = NULL; + RRDDIM *temp_rd = context_param_list ? context_param_list->rd : NULL; rrdset_rdlock(st); for(rd_iter = temp_rd?temp_rd:st->dimensions, rd = NULL, min_time = (usec_t)-1 ; rd_iter ; rd_iter = rd_iter->next) { /* diff --git a/database/engine/rrdengineapi.h b/database/engine/rrdengineapi.h index 8d4398c56b..41375b980c 100644 --- a/database/engine/rrdengineapi.h +++ b/database/engine/rrdengineapi.h @@ -43,7 +43,7 @@ extern void rrdeng_store_metric_next(RRDDIM *rd, usec_t point_in_time, storage_n extern int rrdeng_store_metric_finalize(RRDDIM *rd); extern unsigned rrdeng_variable_step_boundaries(RRDSET *st, time_t start_time, time_t end_time, - struct rrdeng_region_info **region_info_arrayp, unsigned *max_intervalp, RRDDIM *temp_rd); + struct rrdeng_region_info **region_info_arrayp, unsigned *max_intervalp, struct context_param *context_param_list); extern void rrdeng_load_metric_init(RRDDIM *rd, struct rrddim_query_handle *rrdimm_handle, time_t start_time, time_t end_time); extern storage_number rrdeng_load_metric_next(struct rrddim_query_handle *rrdimm_handle, time_t *current_time); |