summaryrefslogtreecommitdiff
path: root/src/cells/heavy_keeper.c
diff options
context:
space:
mode:
authorchenzizhan <[email protected]>2024-08-12 17:02:25 +0800
committerchenzizhan <[email protected]>2024-08-12 17:02:25 +0800
commit1f1dbd6510812caacbb9eb81af8db59a1b23a718 (patch)
tree90a0d1999e0129e93c06c3b65ea10ebff9a145e4 /src/cells/heavy_keeper.c
parent7ccaafd2c6b2527ac9b98c4c376ce29a8c5e5cb9 (diff)
fix ci
Diffstat (limited to 'src/cells/heavy_keeper.c')
-rw-r--r--src/cells/heavy_keeper.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cells/heavy_keeper.c b/src/cells/heavy_keeper.c
index c62e550..82fe4be 100644
--- a/src/cells/heavy_keeper.c
+++ b/src/cells/heavy_keeper.c
@@ -812,14 +812,15 @@ struct heavy_keeper *heavy_keeper_copy(const struct heavy_keeper *src) {
return ret;
}
-void heavy_keeper_one_point_query(const struct heavy_keeper *hk, const char *key, size_t key_len, long long *count_out, void **exdata_out) {
+int heavy_keeper_one_point_query(const struct heavy_keeper *hk, const char *key, size_t key_len, long long *count_out, void **exdata_out) {
*count_out = 0;
*exdata_out = NULL;
const heap_entry *entry = sorted_set_find_entry(hk->top_K_heap, key, key_len);
- if (entry == NULL) {
- return;
+ if (entry == NULL || sorted_set_entry_dying(entry)) {
+ return -1;
}
*count_out = sorted_set_entry_get_score(entry);
*exdata_out = sorted_set_entry_get_data(entry)->exdata;
+ return 0;
} \ No newline at end of file