aboutsummaryrefslogtreecommitdiffstats
path: root/ydb/core/tx/columnshard/testlib/controller.cpp
blob: 2ed500cae7f0997c4365d4aa0eb543f7650e5ad8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "controller.h"
#include <ydb/core/tx/columnshard/engines/reader/order_control/pk_with_limit.h>
#include <ydb/core/tx/columnshard/engines/reader/order_control/default.h>

namespace NKikimr::NYDBTest::NColumnShard {

bool TController::DoOnSortingPolicy(std::shared_ptr<NOlap::NIndexedReader::IOrderPolicy> policy) {
    if (dynamic_cast<const NOlap::NIndexedReader::TPKSortingWithLimit*>(policy.get())) {
        SortingWithLimit.Inc();
    } else if (dynamic_cast<const NOlap::NIndexedReader::TAnySorting*>(policy.get())) {
        AnySorting.Inc();
    } else {
        Y_VERIFY(false);
    }
    return true;
}

bool TController::HasPKSortingOnly() const {
    return SortingWithLimit.Val() && !AnySorting.Val();
}

}