|
|
@ -250,7 +250,7 @@ impl<'a> ByteArrayParser<'a> {
|
|
|
|
#[inline]
|
|
|
|
#[inline]
|
|
|
|
pub fn compare_string(&mut self, other: &mut Self) -> Ordering {
|
|
|
|
pub fn compare_string(&mut self, other: &mut Self) -> Ordering {
|
|
|
|
let len_a = self.parse_varint().expect("Failed to get String length when comparing");
|
|
|
|
let len_a = self.parse_varint().expect("Failed to get String length when comparing");
|
|
|
|
let len_b = self.parse_varint().expect("Failed to get String length when comparing");
|
|
|
|
let len_b = other.parse_varint().expect("Failed to get String length when comparing");
|
|
|
|
for _ in 0..min(len_a, len_b) {
|
|
|
|
for _ in 0..min(len_a, len_b) {
|
|
|
|
let byte_a = self.advance(1).expect("Unexpected end of String when comparing")[0];
|
|
|
|
let byte_a = self.advance(1).expect("Unexpected end of String when comparing")[0];
|
|
|
|
let byte_b = other.advance(1).expect("Unexpected end of String when comparing")[0];
|
|
|
|
let byte_b = other.advance(1).expect("Unexpected end of String when comparing")[0];
|
|
|
@ -472,6 +472,7 @@ impl<T: Write> ByteArrayBuilder<T> {
|
|
|
|
pub fn cozo_comparator_v1(a: &[u8], b: &[u8]) -> Ordering {
|
|
|
|
pub fn cozo_comparator_v1(a: &[u8], b: &[u8]) -> Ordering {
|
|
|
|
cmp_data(&mut ByteArrayParser { bytes: a, current: 0 },
|
|
|
|
cmp_data(&mut ByteArrayParser { bytes: a, current: 0 },
|
|
|
|
&mut ByteArrayParser { bytes: b, current: 0 })
|
|
|
|
&mut ByteArrayParser { bytes: b, current: 0 })
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
pub fn cmp_data<'a>(pa: &mut ByteArrayParser<'a>, pb: &mut ByteArrayParser<'a>) -> Ordering {
|
|
|
|
pub fn cmp_data<'a>(pa: &mut ByteArrayParser<'a>, pb: &mut ByteArrayParser<'a>) -> Ordering {
|
|
|
|