Kùzu C++ API
Loading...
Searching...
No Matches
column_predicate.h
Go to the documentation of this file.
1#pragma once
2
3#include "expression.h"
4#include "cast.h"
6
7namespace kuzu {
8namespace storage {
9
10struct CompressionMetadata;
11
12class ColumnPredicate;
14public:
15 ColumnPredicateSet() = default;
17
18 void addPredicate(std::unique_ptr<ColumnPredicate> predicate) {
19 predicates.push_back(std::move(predicate));
20 }
21
23
24private:
26
27private:
28 std::vector<std::unique_ptr<ColumnPredicate>> predicates;
29};
30
32public:
33 virtual ~ColumnPredicate() = default;
34
36
37 virtual std::unique_ptr<ColumnPredicate> copy() const = 0;
38
39 template<class TARGET>
40 const TARGET& constCast() const {
42 }
43};
44
46 static std::unique_ptr<ColumnPredicate> tryConvert(const binder::Expression& property,
47 const binder::Expression& predicate);
48};
49
50} // namespace storage
51} // namespace kuzu
Definition expression.h:30
Definition column_predicate.h:31
virtual common::ZoneMapCheckResult checkZoneMap(const CompressionMetadata &metadata) const =0
virtual ~ColumnPredicate()=default
const TARGET & constCast() const
Definition column_predicate.h:40
virtual std::unique_ptr< ColumnPredicate > copy() const =0
Definition column_predicate.h:13
EXPLICIT_COPY_DEFAULT_MOVE(ColumnPredicateSet)
common::ZoneMapCheckResult checkZoneMap(const CompressionMetadata &metadata)
void addPredicate(std::unique_ptr< ColumnPredicate > predicate)
Definition column_predicate.h:18
ZoneMapCheckResult
Definition zone_map_check_result.h:8
TO ku_dynamic_cast(FROM old)
Definition cast.h:11
Definition alter_type.h:5
Definition column_predicate.h:45
static std::unique_ptr< ColumnPredicate > tryConvert(const binder::Expression &property, const binder::Expression &predicate)
Definition compression.h:111