1//===----------------------------------------------------------------------===//
2// DuckDB
3//
4// duckdb/main/relation/value_relation.hpp
5//
6//
7//===----------------------------------------------------------------------===//
8
9#pragma once
10
11#include "duckdb/main/relation.hpp"
12#include "duckdb/parser/parsed_expression.hpp"
13
14namespace duckdb {
15
16class ValueRelation : public Relation {
17public:
18 ValueRelation(ClientContext &context, vector<vector<Value>> values, vector<string> names, string alias = "values");
19 ValueRelation(ClientContext &context, string values, vector<string> names, string alias = "values");
20
21 vector<vector<unique_ptr<ParsedExpression>>> expressions;
22 vector<string> names;
23 vector<ColumnDefinition> columns;
24 string alias;
25
26public:
27 unique_ptr<QueryNode> GetQueryNode() override;
28
29 const vector<ColumnDefinition> &Columns() override;
30 string ToString(idx_t depth) override;
31 string GetAlias() override;
32
33 unique_ptr<TableRef> GetTableRef() override;
34};
35
36} // namespace duckdb
37