Coverage Report

Created: 2025-12-16 09:45

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp
Line
Count
Source
1
#include "duckdb/planner/expression/bound_conjunction_expression.hpp"
2
#include "duckdb/parser/expression/conjunction_expression.hpp"
3
#include "duckdb/parser/expression_util.hpp"
4
5
namespace duckdb {
6
7
BoundConjunctionExpression::BoundConjunctionExpression(ExpressionType type)
8
11.3k
    : Expression(type, ExpressionClass::BOUND_CONJUNCTION, LogicalType::BOOLEAN) {
9
11.3k
}
10
11
BoundConjunctionExpression::BoundConjunctionExpression(ExpressionType type, unique_ptr<Expression> left,
12
                                                       unique_ptr<Expression> right)
13
0
    : BoundConjunctionExpression(type) {
14
0
  children.push_back(std::move(left));
15
0
  children.push_back(std::move(right));
16
0
}
17
18
884
string BoundConjunctionExpression::ToString() const {
19
884
  return ConjunctionExpression::ToString<BoundConjunctionExpression, Expression>(*this);
20
884
}
21
22
35
bool BoundConjunctionExpression::Equals(const BaseExpression &other_p) const {
23
35
  if (!Expression::Equals(other_p)) {
24
0
    return false;
25
0
  }
26
35
  auto &other = other_p.Cast<BoundConjunctionExpression>();
27
35
  return ExpressionUtil::SetEquals(children, other.children);
28
35
}
29
30
0
bool BoundConjunctionExpression::PropagatesNullValues() const {
31
0
  return false;
32
0
}
33
34
0
unique_ptr<Expression> BoundConjunctionExpression::Copy() const {
35
0
  auto copy = make_uniq<BoundConjunctionExpression>(type);
36
0
  for (auto &expr : children) {
37
0
    copy->children.push_back(expr->Copy());
38
0
  }
39
0
  copy->CopyProperties(*this);
40
0
  return std::move(copy);
41
0
}
42
43
} // namespace duckdb