1//===----------------------------------------------------------------------===//
2// DuckDB
3//
4// duckdb/planner/expression/bound_conjunction_expression.hpp
5//
6//
7//===----------------------------------------------------------------------===//
8
9#pragma once
10
11#include "duckdb/planner/expression.hpp"
12
13namespace duckdb {
14
15class BoundConjunctionExpression : public Expression {
16public:
17 static constexpr const ExpressionClass TYPE = ExpressionClass::BOUND_CONJUNCTION;
18
19public:
20 explicit BoundConjunctionExpression(ExpressionType type);
21 BoundConjunctionExpression(ExpressionType type, unique_ptr<Expression> left, unique_ptr<Expression> right);
22
23 vector<unique_ptr<Expression>> children;
24
25public:
26 string ToString() const override;
27
28 bool Equals(const BaseExpression &other) const override;
29
30 bool PropagatesNullValues() const override;
31
32 unique_ptr<Expression> Copy() override;
33
34 void Serialize(FieldWriter &writer) const override;
35 static unique_ptr<Expression> Deserialize(ExpressionDeserializationState &state, FieldReader &reader);
36};
37} // namespace duckdb
38