Struct TargetExprCodegenBuilder¶
-
struct
TargetExprCodegenBuilder
¶ Public Functions
-
TargetExprCodegenBuilder
(const RelAlgExecutionUnit &ra_exe_unit, const bool is_group_by)¶
-
void
operator()
(const Analyzer::Expr *target_expr, const Executor *executor, QueryMemoryDescriptor &query_mem_desc, const CompilationOptions &co)¶
-
void
codegenSampleExpressions
(GroupByAndAggregate *group_by_and_agg, Executor *executor, const QueryMemoryDescriptor &query_mem_desc, const CompilationOptions &co, const std::tuple<llvm::Value *, llvm::Value *> &agg_out_ptr_w_idx, const std::vector<llvm::Value *> &agg_out_vec, llvm::Value *output_buffer_byte_stream, llvm::Value *out_row_idx, DiamondCodegen &diamond_codegen) const¶
-
void
codegenSingleSlotSampleExpression
(GroupByAndAggregate *group_by_and_agg, Executor *executor, const QueryMemoryDescriptor &query_mem_desc, const CompilationOptions &co, const std::tuple<llvm::Value *, llvm::Value *> &agg_out_ptr_w_idx, const std::vector<llvm::Value *> &agg_out_vec, llvm::Value *output_buffer_byte_stream, llvm::Value *out_row_idx, DiamondCodegen &diamond_codegen) const¶
-
void
codegenMultiSlotSampleExpressions
(GroupByAndAggregate *group_by_and_agg, Executor *executor, const QueryMemoryDescriptor &query_mem_desc, const CompilationOptions &co, const std::tuple<llvm::Value *, llvm::Value *> &agg_out_ptr_w_idx, const std::vector<llvm::Value *> &agg_out_vec, llvm::Value *output_buffer_byte_stream, llvm::Value *out_row_idx, DiamondCodegen &diamond_codegen) const¶
-
llvm::Value *
codegenSlotEmptyKey
(llvm::Value *agg_col_ptr, std::vector<llvm::Value *> &target_lvs, Executor *executor, const QueryMemoryDescriptor &query_mem_desc, const int64_t init_val) const¶
Public Members
-
size_t
target_index_counter
= {0}¶
-
size_t
slot_index_counter
= {0}¶
-
const RelAlgExecutionUnit &
ra_exe_unit
¶
-
std::vector<TargetExprCodegen>
target_exprs_to_codegen
¶
-
std::vector<TargetExprCodegen>
sample_exprs_to_codegen
¶
-
bool
is_group_by
¶
-