This is an automated email from the ASF dual-hosted git repository.
panxiaolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new f5a20378181 [Chore](function) check nested function on
AggregateFunctionNullBaseInline (#40748)
f5a20378181 is described below
commit f5a20378181f74c9df55ff906ef3f7c4c162d1d1
Author: Pxl <[email protected]>
AuthorDate: Fri Sep 13 21:08:07 2024 +0800
[Chore](function) check nested function on AggregateFunctionNullBaseInline
(#40748)
## Proposed changes
check nested function on AggregateFunctionNullBaseInline
---
be/src/olap/rowset/segment_v2/segment_iterator.cpp | 8 +++-----
be/src/pipeline/exec/olap_scan_operator.cpp | 6 ++----
be/src/vec/aggregate_functions/aggregate_function_null.h | 1 +
3 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp
b/be/src/olap/rowset/segment_v2/segment_iterator.cpp
index 91c6fe3a704..2a7da619c7a 100644
--- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp
+++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp
@@ -915,9 +915,9 @@ bool SegmentIterator::_need_read_data(ColumnId cid) {
// If any of the above conditions are met, log a debug message indicating
that there's no need to read data for the indexed column.
// Then, return false.
int32_t unique_id = _opts.tablet_schema->column(cid).unique_id();
- if ((_need_read_data_indices.count(cid) > 0 &&
!_need_read_data_indices[cid] &&
- _output_columns.count(unique_id) < 1) ||
- (_need_read_data_indices.count(cid) > 0 &&
!_need_read_data_indices[cid] &&
+ if ((_need_read_data_indices.contains(cid) &&
!_need_read_data_indices[cid] &&
+ !_output_columns.contains(unique_id)) ||
+ (_need_read_data_indices.contains(cid) &&
!_need_read_data_indices[cid] &&
_output_columns.count(unique_id) == 1 &&
_opts.push_down_agg_type_opt == TPushAggOp::COUNT_ON_INDEX)) {
VLOG_DEBUG << "SegmentIterator no need read data for column: "
@@ -1428,8 +1428,6 @@ Status SegmentIterator::_vec_init_lazy_materialization() {
pred_id_set.insert(_short_cir_pred_column_ids.begin(),
_short_cir_pred_column_ids.end());
pred_id_set.insert(_vec_pred_column_ids.begin(),
_vec_pred_column_ids.end());
- std::set<ColumnId> non_pred_set(_non_predicate_columns.begin(),
- _non_predicate_columns.end());
DCHECK(_second_read_column_ids.empty());
// _second_read_column_ids must be empty. Otherwise
_lazy_materialization_read must not false.
diff --git a/be/src/pipeline/exec/olap_scan_operator.cpp
b/be/src/pipeline/exec/olap_scan_operator.cpp
index 172aa7a9c87..b335e2309a3 100644
--- a/be/src/pipeline/exec/olap_scan_operator.cpp
+++ b/be/src/pipeline/exec/olap_scan_operator.cpp
@@ -257,10 +257,8 @@ Status
OlapScanLocalState::_init_scanners(std::list<vectorized::VScannerSPtr>* s
}
auto& p = _parent->cast<OlapScanOperatorX>();
- if (!p._olap_scan_node.output_column_unique_ids.empty()) {
- for (auto uid : p._olap_scan_node.output_column_unique_ids) {
- _maybe_read_column_ids.emplace(uid);
- }
+ for (auto uid : p._olap_scan_node.output_column_unique_ids) {
+ _maybe_read_column_ids.emplace(uid);
}
// ranges constructed from scan keys
diff --git a/be/src/vec/aggregate_functions/aggregate_function_null.h
b/be/src/vec/aggregate_functions/aggregate_function_null.h
index 382fb8f7a53..9888dd1da1c 100644
--- a/be/src/vec/aggregate_functions/aggregate_function_null.h
+++ b/be/src/vec/aggregate_functions/aggregate_function_null.h
@@ -74,6 +74,7 @@ public:
const DataTypes& arguments)
: IAggregateFunctionHelper<Derived>(arguments),
nested_function {assert_cast<NestFunction*>(nested_function_)} {
+ DCHECK(nested_function_ != nullptr);
if (result_is_nullable) {
prefix_size = nested_function->align_of_data();
} else {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]