zzk167 opened a new issue #5957:
URL: https://github.com/apache/incubator-doris/issues/5957
Status ScalarColumnWriter::append_data(const uint8_t** ptr, size_t num_rows)
{
size_t remaining = num_rows;
while (remaining > 0) {
size_t num_written = remaining;
RETURN_IF_ERROR(_page_builder->add(*ptr, &num_written));
if (_opts.need_zone_map) {
_zone_map_index_builder->add_values(*ptr, num_written);
}
if (_opts.need_bitmap_index) {
_bitmap_index_builder->add_values(*ptr, num_written);
}
if (_opts.need_bloom_filter) {
_bloom_filter_index_builder->add_values(*ptr, num_written);
}
bool is_page_full = (num_written < remaining);
remaining -= num_written;
_next_rowid += num_written;
*ptr += get_field()->size() * num_written;
// we must write null bits after write data, because we don't
// know how many rows can be written into current page
if (is_nullable()) {
_null_bitmap_builder->add_run(false, num_written);
}
**//FIXME: is_page_full is inaccuracy, when page builder is rle page
builder**
if (is_page_full) {
RETURN_IF_ERROR(finish_current_page());
}
}
return Status::OK();
}
--
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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]