alamb commented on code in PR #8979:
URL: https://github.com/apache/arrow-rs/pull/8979#discussion_r2607655284


##########
arrow-ipc/src/writer.rs:
##########
@@ -3074,6 +3138,52 @@ mod tests {
         roundtrip_ensure_sliced_smaller(in_batch, 1000);
     }
 
+    #[test]
+    fn encode_large_lists_non_zero_offset() {
+        let val_inner = Field::new_list_field(DataType::UInt32, true);
+        let val_list_field = Field::new("val", 
DataType::LargeList(Arc::new(val_inner)), false);
+        let schema = Arc::new(Schema::new(vec![val_list_field]));
+
+        let values = Arc::new(generate_list_data::<i64>());
+
+        let in_batch = RecordBatch::try_new(schema, vec![values])
+            .unwrap()
+            .slice(999, 1);
+        let out_batch = deserialize_file(serialize_file(&in_batch));
+        assert_eq!(in_batch, out_batch);
+    }
+
+    #[test]
+    fn encode_large_lists_string_non_zero_offset() {
+        let val_inner = Field::new_list_field(DataType::Utf8, true);
+        let val_list_field = Field::new("val", 
DataType::LargeList(Arc::new(val_inner)), false);
+        let schema = Arc::new(Schema::new(vec![val_list_field]));
+
+        let values = Arc::new(generate_string_list_data::<i64>());
+
+        let in_batch = RecordBatch::try_new(schema, vec![values])
+            .unwrap()
+            .slice(999, 1);
+        let out_batch = deserialize_file(serialize_file(&in_batch));
+        assert_eq!(in_batch, out_batch);
+    }
+
+    #[test]
+    fn encode_large_list_string_view_non_zero_offset() {

Review Comment:
   I verified that this test covers the change by running it without the code 
changes, and it fails as expected:
   
   ```
   ---- writer::tests::encode_large_list_string_view_non_zero_offset stdout ----
   [arrow-ipc/src/writer.rs:3153:9] &in_batch = RecordBatch {
       schema: Schema {
           fields: [
               Field {
                   name: "val",
                   data_type: LargeList(
                       Field {
                           data_type: Utf8View,
                           nullable: true,
                       },
                   ),
               },
           ],
           metadata: {},
       },
       columns: [
           LargeListArray
           [
             StringViewArray
           [
             "value999",
             "value999",
             "value999",
           ],
           ],
       ],
       row_count: 1,
   }
   
   thread 'writer::tests::encode_large_list_string_view_non_zero_offset' 
(15168275) panicked at arrow-ipc/src/writer.rs:3155:9:
   assertion `left == right` failed
     left: RecordBatch { schema: Schema { fields: [Field { name: "val", 
data_type: LargeList(Field { data_type: Utf8View, nullable: true }) }], 
metadata: {} }, columns: [LargeListArray
   [
     StringViewArray
   [
     "value999",
     "value999",
     "value999",
   ],
   ]], row_count: 1 }
    right: RecordBatch { schema: Schema { fields: [Field { name: "val", 
data_type: LargeList(Field { data_type: Utf8View, nullable: true }) }], 
metadata: {} }, columns: [LargeListArray
   [
     StringViewArray
   [
     "value0",
     "value0",
     "value0",
   ],
   ]], row_count: 1 }
   note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
   
   
   failures:
       writer::tests::encode_large_list_string_view_non_zero_offset
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to