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¶
-