Skip to content

Commit 20192c3

Browse files
committed
Clarify comment
Signed-off-by: Ana Hobden <[email protected]>
1 parent cf65b26 commit 20192c3

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

src/lib.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,16 @@ pub type KvFuture<Resp> = Box<dyn Future<Item = Resp, Error = Error>>;
599599
/// which means all of the above types can be passed directly to those functions.
600600
pub trait KeyRange: Sized {
601601
fn into_bounds(self) -> (Bound<Key>, Bound<Key>);
602+
/// Return the keys that match the given bounds, inclusively.
603+
///
604+
/// ```rust
605+
/// use tikv_client::{KeyRange, Key};
606+
/// let range = vec![0]..vec![100];
607+
/// assert_eq!(
608+
/// range.into_keys().unwrap(),
609+
/// (Key::from(vec![0]), Some(Key::from(vec![99])))
610+
/// );
611+
// ```
602612
fn into_keys(self) -> Result<(Key, Option<Key>)> {
603613
range_to_keys(self.into_bounds())
604614
}

src/rpc/tikv/client.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -558,12 +558,14 @@ impl KvClient {
558558
.unwrap();
559559
end_key
560560
.map(|k| {
561-
// Scan in TiKV has a weird particularity to it.
562-
// The **start** of a scan is inclusive, unless appended with an '\0', then it is exclusive.
563-
// The **end** of a scan is exclusive, unless appended with an '\0', then it is inclusive.
561+
// Scan in TiKV has a particularity to it.
564562
//
565-
// We work around this behavior in this client by making all our scans (Inclusive, Inclusive),
566-
// if we have exclusive bounds our own bounds calculation adjusts it.
563+
// The **start** of a scan is inclusive, unless appended with an '\0', then it is
564+
// exclusive. The **end** of a scan is exclusive, unless appended with an '\0',
565+
// then it is inclusive.
566+
//
567+
// Because of `KeyRange::into_keys()` we *know* the keys we have are inclusive
568+
// (KeyRange calculates it).
567569
let mut end_key = k.into_inner();
568570
end_key.append(&mut vec![0]);
569571
req.set_end_key(end_key);

0 commit comments

Comments
 (0)