@@ -756,9 +756,9 @@ impl DataValue {
756756 nulls_first : bool ,
757757 ) -> Result < ( ) , DatabaseError > {
758758 let ( null_tag, not_null_tag) = if nulls_first {
759- ( NULL_TAG , NOTNULL_TAG )
760- } else {
761759 ( NOTNULL_TAG , NULL_TAG )
760+ } else {
761+ ( NULL_TAG , NOTNULL_TAG )
762762 } ;
763763 if let DataValue :: Null = self {
764764 b. push ( null_tag) ;
@@ -822,7 +822,7 @@ impl DataValue {
822822
823823 #[ inline]
824824 pub fn memcomparable_encode ( & self , b : & mut BumpBytes ) -> Result < ( ) , DatabaseError > {
825- self . memcomparable_encode_with_null_order ( b, true )
825+ self . memcomparable_encode_with_null_order ( b, false )
826826 }
827827
828828 pub fn memcomparable_decode < R : Read > (
@@ -839,7 +839,7 @@ impl DataValue {
839839 // for index cover mapping reduce one layer of conversion
840840 tuple_mapping : Option < TupleMappingRef < ' _ > > ,
841841 ) -> Result < DataValue , DatabaseError > {
842- if reader. read_u8 ( ) ? == 0u8 {
842+ if reader. read_u8 ( ) ? == NULL_TAG {
843843 return Ok ( DataValue :: Null ) ;
844844 }
845845 match ty {
@@ -2273,9 +2273,9 @@ mod test {
22732273 println ! ( "{key_i8_0:?} < {key_i8_1:?}" ) ;
22742274 println ! ( "{key_i8_1:?} < {key_i8_2:?}" ) ;
22752275 println ! ( "{key_i8_2:?} < {key_i8_3:?}" ) ;
2276- assert ! ( key_i8_0 < key_i8_1) ;
22772276 assert ! ( key_i8_1 < key_i8_2) ;
22782277 assert ! ( key_i8_2 < key_i8_3) ;
2278+ assert ! ( key_i8_3 < key_i8_0) ;
22792279
22802280 assert_eq ! (
22812281 value_0,
@@ -2329,9 +2329,9 @@ mod test {
23292329 v_i8_2. memcomparable_encode ( & mut key_i8_2) ?;
23302330 v_i8_3. memcomparable_encode ( & mut key_i8_3) ?;
23312331
2332- assert ! ( key_i8_0 < key_i8_1) ;
23332332 assert ! ( key_i8_1 < key_i8_2) ;
23342333 assert ! ( key_i8_2 < key_i8_3) ;
2334+ assert ! ( key_i8_3 < key_i8_0) ;
23352335
23362336 assert_eq ! (
23372337 v_i8_0,
@@ -2378,9 +2378,9 @@ mod test {
23782378 v_i16_2. memcomparable_encode ( & mut key_i16_2) ?;
23792379 v_i16_3. memcomparable_encode ( & mut key_i16_3) ?;
23802380
2381- assert ! ( key_i16_0 < key_i16_1) ;
23822381 assert ! ( key_i16_1 < key_i16_2) ;
23832382 assert ! ( key_i16_2 < key_i16_3) ;
2383+ assert ! ( key_i16_3 < key_i16_0) ;
23842384
23852385 assert_eq ! (
23862386 v_i16_0,
@@ -2427,9 +2427,9 @@ mod test {
24272427 v_i32_2. memcomparable_encode ( & mut key_i32_2) ?;
24282428 v_i32_3. memcomparable_encode ( & mut key_i32_3) ?;
24292429
2430- assert ! ( key_i32_0 < key_i32_1) ;
24312430 assert ! ( key_i32_1 < key_i32_2) ;
24322431 assert ! ( key_i32_2 < key_i32_3) ;
2432+ assert ! ( key_i32_3 < key_i32_0) ;
24332433
24342434 assert_eq ! (
24352435 v_i32_0,
@@ -2476,9 +2476,9 @@ mod test {
24762476 v_i64_2. memcomparable_encode ( & mut key_i64_2) ?;
24772477 v_i64_3. memcomparable_encode ( & mut key_i64_3) ?;
24782478
2479- assert ! ( key_i64_0 < key_i64_1) ;
24802479 assert ! ( key_i64_1 < key_i64_2) ;
24812480 assert ! ( key_i64_2 < key_i64_3) ;
2481+ assert ! ( key_i64_3 < key_i64_0) ;
24822482
24832483 assert_eq ! (
24842484 v_i64_0,
@@ -2532,9 +2532,9 @@ mod test {
25322532 v_f32_2. memcomparable_encode ( & mut key_f32_2) ?;
25332533 v_f32_3. memcomparable_encode ( & mut key_f32_3) ?;
25342534
2535- assert ! ( key_f32_0 < key_f32_1) ;
25362535 assert ! ( key_f32_1 < key_f32_2) ;
25372536 assert ! ( key_f32_2 < key_f32_3) ;
2537+ assert ! ( key_f32_3 < key_f32_0) ;
25382538
25392539 assert_eq ! (
25402540 v_f32_0,
@@ -2569,9 +2569,9 @@ mod test {
25692569 v_f64_2. memcomparable_encode ( & mut key_f64_2) ?;
25702570 v_f64_3. memcomparable_encode ( & mut key_f64_3) ?;
25712571
2572- assert ! ( key_f64_0 < key_f64_1) ;
25732572 assert ! ( key_f64_1 < key_f64_2) ;
25742573 assert ! ( key_f64_2 < key_f64_3) ;
2574+ assert ! ( key_f64_3 < key_f64_0) ;
25752575
25762576 assert_eq ! (
25772577 v_f64_0,
@@ -2628,9 +2628,9 @@ mod test {
26282628 println ! ( "{key_decimal_1:?} < {key_decimal_2:?}" ) ;
26292629 println ! ( "{key_decimal_2:?} < {key_decimal_3:?}" ) ;
26302630
2631- assert ! ( key_decimal_0 < key_decimal_1) ;
26322631 assert ! ( key_decimal_1 < key_decimal_2) ;
26332632 assert ! ( key_decimal_2 < key_decimal_3) ;
2633+ assert ! ( key_decimal_3 < key_decimal_0) ;
26342634
26352635 assert_eq ! (
26362636 v_decimal_0,
@@ -2694,8 +2694,8 @@ mod test {
26942694 println ! ( "{key_tuple_1:?} < {key_tuple_2:?}" ) ;
26952695 println ! ( "{key_tuple_2:?} < {key_tuple_3:?}" ) ;
26962696
2697- assert ! ( key_tuple_1 < key_tuple_2) ;
26982697 assert ! ( key_tuple_2 < key_tuple_3) ;
2698+ assert ! ( key_tuple_3 < key_tuple_1) ;
26992699
27002700 assert_eq ! (
27012701 v_tuple_1,
@@ -2766,8 +2766,8 @@ mod test {
27662766 v_tuple_2. memcomparable_encode ( & mut key_tuple_2) ?;
27672767 v_tuple_3. memcomparable_encode ( & mut key_tuple_3) ?;
27682768
2769- assert ! ( key_tuple_1 < key_tuple_2) ;
27702769 assert ! ( key_tuple_2 < key_tuple_3) ;
2770+ assert ! ( key_tuple_3 < key_tuple_1) ;
27712771
27722772 let ty = LogicalType :: Tuple ( vec ! [
27732773 LogicalType :: Tinyint ,
@@ -2865,10 +2865,10 @@ mod test {
28652865 v_zh. memcomparable_encode ( & mut key_zh) ?;
28662866
28672867 // ordering
2868- assert ! ( key_null < key_a) ;
28692868 assert ! ( key_a < key_ab) ;
28702869 assert ! ( key_ab < key_b) ;
28712870 assert ! ( key_b < key_zh) ;
2871+ assert ! ( key_zh < key_null) ;
28722872
28732873 // decode check
28742874 assert_eq ! (
0 commit comments