diff options
Diffstat (limited to 'src/third_party/wiredtiger/src/cursor/cur_join.c')
-rw-r--r-- | src/third_party/wiredtiger/src/cursor/cur_join.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/third_party/wiredtiger/src/cursor/cur_join.c b/src/third_party/wiredtiger/src/cursor/cur_join.c index 0760a07a3aa..f6cd5d90f62 100644 --- a/src/third_party/wiredtiger/src/cursor/cur_join.c +++ b/src/third_party/wiredtiger/src/cursor/cur_join.c @@ -612,19 +612,17 @@ __curjoin_entry_member(WT_SESSION_IMPL *session, WT_CURSOR_JOIN_ENTRY *entry, if (entry->bloom != NULL) { /* + * If the item is not in the Bloom filter, we return + * immediately, otherwise, we still need to check the long + * way, since it may be a false positive. + * * If we don't own the Bloom filter, we must be sharing one * in a previous entry. So the shared filter has already - * been checked and passed. - */ - if (!F_ISSET(entry, WT_CURJOIN_ENTRY_OWN_BLOOM)) - return (0); - - /* - * If the item is not in the Bloom filter, we return - * immediately, otherwise, we still need to check the - * long way. + * been checked and passed, we don't need to check it again. + * We'll still need to check the long way. */ - WT_ERR(__wt_bloom_inmem_get(entry->bloom, key)); + if (F_ISSET(entry, WT_CURJOIN_ENTRY_OWN_BLOOM)) + WT_ERR(__wt_bloom_inmem_get(entry->bloom, key)); bloom_found = true; } if (entry->subjoin != NULL) { |