HappenLee commented on code in PR #10792:
URL: https://github.com/apache/doris/pull/10792#discussion_r931746836
##########
be/src/olap/schema_change.cpp:
##########
@@ -650,7 +650,7 @@ Status RowBlockChanger::change_row_block(const RowBlock*
ref_block, int32_t data
_do_materialized_transform = to_bitmap;
} else if (_schema_mapping[i].materialized_function ==
"hll_hash") {
_do_materialized_transform = hll_hash;
- } else if (_schema_mapping[i].materialized_function ==
"count_field") {
+ } else if (_schema_mapping[i].materialized_function ==
"is_not_null_pred") {
Review Comment:
if we update `count_field` name will cause update BE the function can not
process the logic. keep it and remove after next version
##########
be/src/runtime/descriptors.cpp:
##########
@@ -319,17 +319,28 @@ std::string TupleDescriptor::debug_string() const {
}
RowDescriptor::RowDescriptor(const DescriptorTbl& desc_tbl, const
std::vector<TTupleId>& row_tuples,
- const std::vector<bool>& nullable_tuples)
+ const std::vector<bool>& nullable_tuples, bool
skip_delete)
: _tuple_idx_nullable_map(nullable_tuples) {
- DCHECK(nullable_tuples.size() == row_tuples.size())
- << "nullable_tuples size " << nullable_tuples.size() << " !=
row_tuples size "
- << row_tuples.size();
DCHECK_GT(row_tuples.size(), 0);
_num_materialized_slots = 0;
_num_null_slots = 0;
for (int i = 0; i < row_tuples.size(); ++i) {
TupleDescriptor* tupleDesc =
desc_tbl.get_tuple_descriptor(row_tuples[i]);
+
+ if (skip_delete) {
Review Comment:
do not treat each slot as a tuple
##########
fe/fe-core/src/main/java/org/apache/doris/analysis/CreateMaterializedViewStmt.java:
##########
@@ -399,6 +400,9 @@ private MVColumnItem buildMVColumnItem(FunctionCallExpr
functionCallExpr) throws
mvColumnName = baseColumnName;
} else {
mvColumnName = mvColumnBuilder(functionName,
baseColumnName);
+ if (!functionChild0.getType().isStringType()) {
Review Comment:
why the origin do not have the logic
##########
be/src/vec/functions/is_not_null.cpp:
##########
@@ -56,7 +56,7 @@ class FunctionIsNotNull : public IFunction {
auto* __restrict res_data =
assert_cast<ColumnUInt8&>(*res_column).get_data().data();
for (size_t i = 0; i < input_rows_count; ++i) {
- res_data[i] = !src_data[i];
+ res_data[i] = src_data[i] == 0;
Review Comment:
why is better ?
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]