You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "wjones127 (via GitHub)" <gi...@apache.org> on 2023/03/27 15:53:12 UTC
[GitHub] [arrow] wjones127 commented on a diff in pull request #34697: GH-34696: [C++] Check REE arrays have no null buffer in Validate()
wjones127 commented on code in PR #34697:
URL: https://github.com/apache/arrow/pull/34697#discussion_r1149460638
##########
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:
Added a check again, but also moved it up since we index into `child_data` in earlier checks.
--
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-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org