jorisvandenbossche commented on code in PR #15210:
URL: https://github.com/apache/arrow/pull/15210#discussion_r1062807133


##########
cpp/src/arrow/array/array_list_test.cc:
##########
@@ -509,6 +509,18 @@ class TestListArray : public ::testing::Test {
     ASSERT_RAISES(Invalid, ValidateOffsets(2, {0, 7, 4}, values));
   }
 
+  void TestSliced() {
+    auto arr = ArrayFromJSON(list(int16()), "[[1, 2], [3, 4, 5], [6], [7, 
8]]");
+
+    auto arr_sliced = arr->Slice(0, 2);
+    auto expected_sliced = ArrayFromJSON(list(int16()), "[[1, 2], [3, 4, 5]]");
+    AssertArraysEqual(*expected_sliced, *arr_sliced);
+
+    auto values = checked_cast<ListArray*>(arr_sliced.get())->values();
+    auto expected_values = ArrayFromJSON(int16(), "[1, 2, 3, 4, 5]");
+    AssertArraysEqual(*expected_values, *values);

Review Comment:
   I just commented on the JIRA as well, but so in the current design, we 
shouldn't change that. It is `Flatten()` that already implements this, and the 
`values` being unsliced ensures that they still match the `offsets` of a sliced 
ListArray.
   
   It is certainly confusing, though. I wonder if we should give it a more 
scary name like "raw_values"



-- 
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