1//===----------------------------------------------------------------------===//
2// DuckDB
3//
4// duckdb/planner/operator/logical_delim_join.hpp
5//
6//
7//===----------------------------------------------------------------------===//
8
9#pragma once
10
11#include "duckdb/planner/operator/logical_comparison_join.hpp"
12
13namespace duckdb {
14
15//! LogicalDelimJoin represents a special "duplicate eliminated" join. This join type is only used for subquery
16//! flattening, and involves performing duplicate elimination on the LEFT side which is then pushed into the RIGHT side.
17class LogicalDelimJoin : public LogicalComparisonJoin {
18public:
19 LogicalDelimJoin(JoinType type) : LogicalComparisonJoin(type, LogicalOperatorType::DELIM_JOIN) {
20 }
21
22 //! The set of columns that will be duplicate eliminated from the LHS and pushed into the RHS
23 vector<unique_ptr<Expression>> duplicate_eliminated_columns;
24};
25
26} // namespace duckdb
27