Runtime Filter Optimization

This commit is contained in:
obdev
2023-08-18 12:11:53 +08:00
committed by ob-robot
parent 3c3b68a7f1
commit 3bd00fdbb4
19 changed files with 502 additions and 115 deletions

View File

@ -206,7 +206,7 @@ int DfoTreeNormalizer<T>::normalize(T &root)
int ret = OB_SUCCESS;
int64_t non_leaf_cnt = 0;
int64_t non_leaf_pos = -1;
bool need_force_bushy = false;
bool need_force_bushy = root.force_bushy();
ARRAY_FOREACH_X(root.child_dfos_, idx, cnt, OB_SUCC(ret)) {
T *dfo = root.child_dfos_.at(idx);
if (0 < dfo->get_child_count()) {
@ -215,9 +215,6 @@ int DfoTreeNormalizer<T>::normalize(T &root)
non_leaf_pos = idx;
}
}
if (dfo->force_bushy() && !need_force_bushy) {
need_force_bushy = true;
}
}
if (non_leaf_cnt > 1 || need_force_bushy) {
// UPDATE: