Packages

An Elixir DuckDB library

Current section

Files

Jump to
exduckdb c_src duckdb src planner binder statement bind_call.cpp
Raw

c_src/duckdb/src/planner/binder/statement/bind_call.cpp

#include "duckdb/planner/binder.hpp"
#include "duckdb/parser/statement/call_statement.hpp"
#include "duckdb/parser/tableref/table_function_ref.hpp"
#include "duckdb/planner/tableref/bound_table_function.hpp"
#include "duckdb/planner/operator/logical_get.hpp"
namespace duckdb {
BoundStatement Binder::Bind(CallStatement &stmt) {
BoundStatement result;
TableFunctionRef ref;
ref.function = move(stmt.function);
auto bound_func = Bind(ref);
auto &bound_table_func = (BoundTableFunction &)*bound_func;
auto &get = (LogicalGet &)*bound_table_func.get;
D_ASSERT(get.returned_types.size() > 0);
for (idx_t i = 0; i < get.returned_types.size(); i++) {
get.column_ids.push_back(i);
}
result.types = get.returned_types;
result.names = get.names;
result.plan = CreatePlan(*bound_func);
return result;
}
} // namespace duckdb