24 namespace spatial_type {
38 virtual std::unique_ptr<CodeGenerator::NullCheckCodegen>
42 virtual size_t size()
const = 0;
52 virtual std::tuple<std::vector<llvm::Value*>, llvm::Value*>
codegenLoads(
53 const std::vector<llvm::Value*>& arg_lvs,
54 const std::vector<llvm::Value*>& pos_lvs,
58 virtual std::vector<llvm::Value*>
codegen(
59 const std::vector<llvm::Value*>&
args,
Defines data structures for the semantic analysis phase of query processing.
virtual 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)=0
virtual size_t size() const =0
Constants for Builtin SQL Types supported by HEAVY.AI.
static char const * pointIsNullFunctionName(SQLTypeInfo const &)
std::string suffix(SQLTypes type)
This file contains the class specification and related data structures for Catalog.
virtual std::vector< llvm::Value * > codegen(const std::vector< llvm::Value * > &args, CodeGenerator::NullCheckCodegen *nullcheck_codegen, CgenState *cgen_state, const CompilationOptions &co)=0
const std::string & getName() const
const SQLTypeInfo & get_type_info() const
virtual SQLTypeInfo getNullType() const =0
virtual std::unique_ptr< CodeGenerator::NullCheckCodegen > getNullCheckCodegen(llvm::Value *null_lv, CgenState *cgen_state, Executor *executor)
const Analyzer::GeoOperator * operator_
virtual const Analyzer::Expr * getOperand(const size_t index)
std::string getName() const
static std::unique_ptr< Codegen > init(const Analyzer::GeoOperator *geo_operator)
Codegen(const Analyzer::GeoOperator *geo_operator)