felipecrv commented on code in PR #34697:
URL: https://github.com/apache/arrow/pull/34697#discussion_r1147630352


##########
cpp/src/arrow/array/array_run_end.cc:
##########
@@ -74,19 +74,6 @@ void RunEndEncodedArray::SetData(const 
std::shared_ptr<ArrayData>& data) {
   ARROW_CHECK_EQ(ree_type->run_end_type()->id(), 
data->child_data[0]->type->id());
   ARROW_CHECK_EQ(ree_type->value_type()->id(), 
data->child_data[1]->type->id());
 
-  DCHECK_EQ(data->child_data.size(), 2);
-
-  // A non-zero number of logical values in this array (offset + length) 
implies
-  // a non-zero number of runs and values.
-  DCHECK(data->offset + data->length == 0 || data->child_data[0]->length > 0);
-  DCHECK(data->offset + data->length == 0 || data->child_data[1]->length > 0);
-  // At least as many values as run_ends
-  DCHECK_GE(data->child_data[1]->length, data->child_data[0]->length);
-
-  // The null count for run-end encoded arrays is always 0. Actual number of
-  // nulls needs to be calculated through other means.
-  DCHECK_EQ(data->null_count, 0);
-
   Array::SetData(data);
   run_ends_array_ = MakeArray(this->data()->child_data[0]);
   values_array_ = MakeArray(this->data()->child_data[1]);

Review Comment:
   This will segfault if `child_data.size() < 2`, so maybe we should wrap this 
in size checks to allow invalid invalid data to go through until `Validate` 
checks it.



-- 
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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to