1#include "duckdb/planner/operator/logical_any_join.hpp"
2#include "duckdb/common/field_writer.hpp"
3
4namespace duckdb {
5
6LogicalAnyJoin::LogicalAnyJoin(JoinType type) : LogicalJoin(type, LogicalOperatorType::LOGICAL_ANY_JOIN) {
7}
8
9string LogicalAnyJoin::ParamsToString() const {
10 return condition->ToString();
11}
12
13void LogicalAnyJoin::Serialize(FieldWriter &writer) const {
14 writer.WriteField(element: join_type);
15 writer.WriteOptional(element: condition);
16}
17
18unique_ptr<LogicalOperator> LogicalAnyJoin::Deserialize(LogicalDeserializationState &state, FieldReader &reader) {
19 auto join_type = reader.ReadRequired<JoinType>();
20 auto condition = reader.ReadOptional<Expression>(default_value: nullptr, args&: state.gstate);
21 auto result = make_uniq<LogicalAnyJoin>(args&: join_type);
22 result->condition = std::move(condition);
23 return std::move(result);
24}
25
26} // namespace duckdb
27