From b54969953fc39547e1387e3dff6b965a342d0fbc Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 8 Sep 2023 03:43:07 +0000 Subject: [PATCH] zcash_client_sqlite: Simplify range query in `replace_queue_entries` Co-authored-by: Kris Nuttycombe --- zcash_client_sqlite/src/wallet/scanning.rs | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/zcash_client_sqlite/src/wallet/scanning.rs b/zcash_client_sqlite/src/wallet/scanning.rs index b96c842df..17868e00c 100644 --- a/zcash_client_sqlite/src/wallet/scanning.rs +++ b/zcash_client_sqlite/src/wallet/scanning.rs @@ -546,21 +546,8 @@ pub(crate) fn replace_queue_entries( .prepare_cached( "SELECT block_range_start, block_range_end, priority FROM scan_queue - WHERE ( - -- the start is contained within or adjacent to the range - :start >= block_range_start - AND :start <= block_range_end - ) - OR ( - -- the end is contained within or adjacent to the range - :end >= block_range_start - AND :end <= block_range_end - ) - OR ( - -- start..end contains the entire range - block_range_start >= :start - AND block_range_end <= :end - ) + -- Ignore ranges that do not overlap and are not adjacent to the query range. + WHERE NOT (block_range_start > :end OR :start > block_range_end) ORDER BY block_range_end", ) .map_err(E::db_error)?;