jacktengg commented on code in PR #55633:
URL: https://github.com/apache/doris/pull/55633#discussion_r2318690820
##########
be/src/exec/olap_common.h:
##########
@@ -459,7 +459,8 @@ class OlapScanKeys {
using ColumnValueRangeType = std::variant<
ColumnValueRange<TYPE_TINYINT>, ColumnValueRange<TYPE_SMALLINT>,
ColumnValueRange<TYPE_INT>,
- ColumnValueRange<TYPE_BIGINT>, ColumnValueRange<TYPE_LARGEINT>,
ColumnValueRange<TYPE_IPV4>,
Review Comment:
从代码来看
`ScanLocalState<Derived>::_normalize_predicate`函数里面是用`_is_key_column`来判断的,DUP_KEYS模型下非key列应该也是适用的:
```
bool OlapScanLocalState::_is_key_column(const std::string& key_name) {
// all column in dup_keys table or unique_keys with merge on write table
olap scan node threat
// as key column
if (_storage_no_merge()) {
return true;
}
auto& p = _parent->cast<OlapScanOperatorX>();
auto res = std::find(p._olap_scan_node.key_column_name.begin(),
p._olap_scan_node.key_column_name.end(), key_name);
return res != p._olap_scan_node.key_column_name.end();
}
bool OlapScanLocalState::_storage_no_merge() {
auto& p = _parent->cast<OlapScanOperatorX>();
return (p._olap_scan_node.keyType == TKeysType::DUP_KEYS ||
(p._olap_scan_node.keyType == TKeysType::UNIQUE_KEYS &&
p._olap_scan_node.__isset.enable_unique_key_merge_on_write &&
p._olap_scan_node.enable_unique_key_merge_on_write));
}
```
--
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]