Packages

An Elixir DuckDB library

Current section

Files

Jump to
exduckdb c_src duckdb src main relation distinct_relation.cpp
Raw

c_src/duckdb/src/main/relation/distinct_relation.cpp

#include "duckdb/main/relation/distinct_relation.hpp"
#include "duckdb/main/client_context.hpp"
#include "duckdb/parser/query_node.hpp"
namespace duckdb {
DistinctRelation::DistinctRelation(shared_ptr<Relation> child_p)
: Relation(child_p->context, RelationType::DISTINCT_RELATION), child(move(child_p)) {
vector<ColumnDefinition> dummy_columns;
context.TryBindRelation(*this, dummy_columns);
}
unique_ptr<QueryNode> DistinctRelation::GetQueryNode() {
auto child_node = child->GetQueryNode();
child_node->modifiers.push_back(make_unique<DistinctModifier>());
return child_node;
}
string DistinctRelation::GetAlias() {
return child->GetAlias();
}
const vector<ColumnDefinition> &DistinctRelation::Columns() {
return child->Columns();
}
string DistinctRelation::ToString(idx_t depth) {
string str = RenderWhitespace(depth) + "Distinct\n";
return str + child->ToString(depth + 1);
;
}
} // namespace duckdb