OmniSciDB
a5dc49c757
|
#include <PointConstructor.h>
Public Member Functions | |
PointConstructor (const Analyzer::GeoOperator *geo_operator) | |
std::unique_ptr < CodeGenerator::NullCheckCodegen > | getNullCheckCodegen (llvm::Value *null_lv, CgenState *cgen_state, Executor *executor) final |
size_t | size () const final |
SQLTypeInfo | getNullType () const final |
std::tuple< std::vector < llvm::Value * >, llvm::Value * > | codegenLoads (const std::vector< llvm::Value * > &arg_lvs, const std::vector< llvm::Value * > &pos_lvs, CgenState *cgen_state) final |
std::vector< llvm::Value * > | codegen (const std::vector< llvm::Value * > &args, CodeGenerator::NullCheckCodegen *nullcheck_codegen, CgenState *cgen_state, const CompilationOptions &co) final |
Public Member Functions inherited from spatial_type::Codegen | |
Codegen (const Analyzer::GeoOperator *geo_operator) | |
auto | isNullable () const |
auto | getTypeInfo () const |
std::string | getName () const |
virtual const Analyzer::Expr * | getOperand (const size_t index) |
virtual | ~Codegen () |
Private Member Functions | |
llvm::Value * | codegenOperandIsNull (size_t idx, llvm::Value *value, CgenState *cgen_state) |
Private Attributes | |
llvm::AllocaInst * | pt_local_storage_lv_ {nullptr} |
Additional Inherited Members | |
Static Public Member Functions inherited from spatial_type::Codegen | |
static std::unique_ptr< Codegen > | init (const Analyzer::GeoOperator *geo_operator) |
static char const * | pointIsNullFunctionName (SQLTypeInfo const &) |
Protected Attributes inherited from spatial_type::Codegen | |
const Analyzer::GeoOperator * | operator_ |
bool | is_nullable_ {true} |
Definition at line 26 of file PointConstructor.h.
|
inline |
Definition at line 28 of file PointConstructor.h.
References CHECK_EQ, Analyzer::Expr::get_type_info(), spatial_type::Codegen::is_nullable_, spatial_type::Codegen::operator_, and Analyzer::GeoOperator::size().
|
inlinefinalvirtual |
Implements spatial_type::Codegen.
Definition at line 127 of file PointConstructor.h.
References run_benchmark_import::args, CHECK, CHECK_EQ, Analyzer::Expr::get_type_info(), kENCODING_GEOINT, kPOINT, spatial_type::Codegen::operator_, and pt_local_storage_lv_.
|
inlinefinalvirtual |
Implements spatial_type::Codegen.
Definition at line 85 of file PointConstructor.h.
References CHECK, CHECK_EQ, codegenOperandIsNull(), Analyzer::Expr::get_type_info(), Analyzer::GeoOperator::getName(), is_null(), spatial_type::Codegen::is_nullable_, kENCODING_GEOINT, kENCODING_NONE, kPOINT, spatial_type::Codegen::operator_, pt_local_storage_lv_, and size().
|
inlineprivate |
Definition at line 187 of file PointConstructor.h.
References inline_fp_null_val(), inline_int_null_val(), CgenState::ir_builder_, CgenState::llFp(), CgenState::llInt(), and UNREACHABLE.
Referenced by codegenLoads().
|
inlinefinalvirtual |
Reimplemented from spatial_type::Codegen.
Definition at line 38 of file PointConstructor.h.
References CHECK, CHECK_EQ, Analyzer::Expr::get_type_info(), spatial_type::Codegen::getName(), getNullType(), inline_int_null_val(), spatial_type::Codegen::isNullable(), kENCODING_GEOINT, kINT, NULL_ARRAY_DOUBLE, spatial_type::Codegen::operator_, and pt_local_storage_lv_.
|
inlinefinalvirtual |
Implements spatial_type::Codegen.
Definition at line 82 of file PointConstructor.h.
References kBOOLEAN.
Referenced by getNullCheckCodegen().
|
inlinefinalvirtual |
Implements spatial_type::Codegen.
Definition at line 80 of file PointConstructor.h.
Referenced by codegenLoads().
|
private |
Definition at line 205 of file PointConstructor.h.
Referenced by codegen(), codegenLoads(), and getNullCheckCodegen().