12class BoundReadingClause;
16class ParsedExpression;
26struct ExecutionContext;
33struct TableFuncBindData;
52 template<
class TARGET>
62 template<
class TARGET>
142 const binder::BoundReadingClause&, std::vector<std::shared_ptr<binder::Expression>>,
143 std::vector<std::unique_ptr<planner::LogicalPlan>>&)>;
145 processor::PlanMapper*,
const planner::LogicalOperator*)>;
175 std::unique_ptr<TableFunction>
copy()
const {
return std::make_unique<TableFunction>(*
this); }
188 const std::vector<parser::YieldVariable>& yieldVariables);
192 std::vector<std::unique_ptr<planner::LogicalPlan>>& plans);
195 processor::PlanMapper* planMapper,
const planner::LogicalOperator* logicalOp);
#define KUZU_API
Definition api.h:25
Definition data_chunk.h:20
Contain client side configuration. We make profiler associated per query, so profiler is not maintain...
Definition client_context.h:68
Definition result_set.h:12
Definition bind_input.h:12
std::vector< std::shared_ptr< Expression > > expression_vector
Definition expression.h:20
std::unordered_map< table_id_t, T > table_id_map_t
Definition types.h:76
uint64_t offset_t
Definition types.h:79
uint64_t row_idx_t
Definition types.h:52
TO ku_dynamic_cast(FROM *old)
Definition cast.h:11
Definition binary_function_executor.h:6
std::function< std::vector< common::LogicalType >(const binder::expression_vector &)> table_func_infer_input_types
Definition table_function.h:146
std::function< bool()> table_func_can_parallel_t
Definition table_function.h:135
std::function< void(const processor::ExecutionContext *, TableFuncSharedState *)> table_func_finalize_t
Definition table_function.h:137
std::function< std::unique_ptr< TableFuncOutput >(const TableFuncInitOutputInput &)> table_func_init_output_t
Definition table_function.h:133
std::function< void(planner::Planner *, const binder::BoundReadingClause &, std::vector< std::shared_ptr< binder::Expression > >, std::vector< std::unique_ptr< planner::LogicalPlan > > &)> table_func_get_logical_plan_t
Definition table_function.h:141
std::function< double(TableFuncSharedState *sharedState)> table_func_progress_t
Definition table_function.h:136
std::function< std::unique_ptr< TableFuncBindData >(main::ClientContext *, const TableFuncBindInput *)> table_func_bind_t
Definition table_function.h:125
std::function< common::offset_t(const TableFuncInput &, TableFuncOutput &output)> table_func_t
Definition table_function.h:127
std::function< std::unique_ptr< processor::PhysicalOperator >( processor::PlanMapper *, const planner::LogicalOperator *)> table_func_get_physical_plan_t
Definition table_function.h:144
std::function< std::string(main::ClientContext &, const TableFuncBindData &bindData)> table_func_rewrite_t
Definition table_function.h:139
std::function< std::shared_ptr< TableFuncSharedState >(const TableFuncInitSharedStateInput &)> table_func_init_shared_t
Definition table_function.h:129
std::function< std::unique_ptr< TableFuncLocalState >(const TableFuncInitLocalStateInput &)> table_func_init_local_t
Definition table_function.h:131
Definition client_context.h:19
Definition client_context.h:38
Definition array_utils.h:7
static std::string toString(LogicalTypeID dataTypeID)
Function()
Definition function.h:71
std::string name
Definition function.h:62
std::vector< common::LogicalTypeID > parameterTypeIDs
Definition function.h:63
Definition table_function.h:59
virtual ~TableFuncLocalState()=default
TARGET * ptrCast()
Definition table_function.h:63
Definition table_function.h:86
common::DataChunk dataChunk
Definition table_function.h:87
virtual ~TableFuncOutput()=default
TableFuncOutput(common::DataChunk dataChunk)
Definition table_function.h:89
void setOutputSize(common::offset_t size) const
Definition table_function.h:36
common::row_idx_t numRows
Definition table_function.h:37
TableFuncSharedState(common::row_idx_t numRows)
Definition table_function.h:46
TARGET * ptrCast()
Definition table_function.h:53
virtual uint64_t getNumRows() const
Definition table_function.h:48
common::NodeOffsetMaskMap semiMasks
Definition table_function.h:42
common::table_id_map_t< common::SemiMask * > getSemiMasks() const
Definition table_function.h:50
TableFuncSharedState()=default
virtual ~TableFuncSharedState()=default
std::mutex mtx
Definition table_function.h:43
TableFunction(const TableFunction &)=default
table_func_bind_t bindFunc
Definition table_function.h:151
static std::unique_ptr< TableFuncSharedState > initEmptySharedState(const TableFuncInitSharedStateInput &input)
TableFunction()
Definition table_function.h:163
table_func_rewrite_t rewriteFunc
Definition table_function.h:158
table_func_get_logical_plan_t getLogicalPlanFunc
Definition table_function.h:159
TableFunction & operator=(const TableFunction &other)=default
static common::offset_t emptyTableFunc(const TableFuncInput &input, TableFuncOutput &output)
table_func_init_local_t initLocalStateFunc
Definition table_function.h:153
static void getLogicalPlan(planner::Planner *planner, const binder::BoundReadingClause &boundReadingClause, binder::expression_vector predicates, std::vector< std::unique_ptr< planner::LogicalPlan > > &plans)
table_func_t tableFunc
Definition table_function.h:150
static std::unique_ptr< TableFuncLocalState > initEmptyLocalState(const TableFuncInitLocalStateInput &input)
static std::unique_ptr< TableFuncOutput > initSingleDataChunkScanOutput(const TableFuncInitOutputInput &input)
table_func_progress_t progressFunc
Definition table_function.h:156
table_func_finalize_t finalizeFunc
Definition table_function.h:157
DEFAULT_BOTH_MOVE(TableFunction)
TableFunction(std::string name, std::vector< common::LogicalTypeID > inputTypes)
Definition table_function.h:164
table_func_infer_input_types inferInputTypes
Definition table_function.h:161
static std::vector< std::string > extractYieldVariables(const std::vector< std::string > &names, const std::vector< parser::YieldVariable > &yieldVariables)
table_func_can_parallel_t canParallelFunc
Definition table_function.h:155
static std::unique_ptr< processor::PhysicalOperator > getPhysicalPlan(processor::PlanMapper *planMapper, const planner::LogicalOperator *logicalOp)
std::string signatureToString() const override
Definition table_function.h:171
table_func_init_output_t initOutputFunc
Definition table_function.h:154
table_func_get_physical_plan_t getPhysicalPlanFunc
Definition table_function.h:160
table_func_init_shared_t initSharedStateFunc
Definition table_function.h:152
~TableFunction() override
std::unique_ptr< TableFunction > copy() const
Definition table_function.h:175
Definition yield_variable.h:7