17 #ifndef QUERYENGINE_CODEC_H
18 #define QUERYENGINE_CODEC_H
20 #include <llvm/IR/IRBuilder.h>
21 #include <llvm/IR/Module.h>
22 #include <llvm/IR/Value.h>
24 #include "../Shared/sqltypes.h"
28 virtual llvm::Instruction*
codegenDecode(llvm::Value* byte_stream,
30 llvm::Module* llvm_module)
const = 0;
39 llvm::Module* llvm_module)
const override;
50 llvm::Module* llvm_module)
const override;
61 llvm::Module* llvm_module)
const override;
73 llvm::Module* llvm_module)
const override;
84 llvm::Module* llvm_module)
const override;
92 #endif // QUERYENGINE_CODEC_H
FixedWidthUnsigned(const size_t byte_width)
llvm::Instruction * codegenDecode(llvm::Value *byte_stream, llvm::Value *pos, llvm::Module *llvm_module) const override
llvm::Instruction * codegenDecode(llvm::Value *byte_stream, llvm::Value *pos, llvm::Module *llvm_module) const override
FixedWidthSmallDate(const size_t byte_width)
FixedWidthReal(const bool is_double)
DiffFixedWidthInt(const size_t byte_width, const int64_t baseline)
llvm::Instruction * codegenDecode(llvm::Value *byte_stream, llvm::Value *pos, llvm::Module *llvm_module) const override
FixedWidthInt(const size_t byte_width)
llvm::Instruction * codegenDecode(llvm::Value *byte_stream, llvm::Value *pos, llvm::Module *llvm_module) const override
llvm::Instruction * codegenDecode(llvm::Value *byte_stream, llvm::Value *pos, llvm::Module *llvm_module) const override
virtual llvm::Instruction * codegenDecode(llvm::Value *byte_stream, llvm::Value *pos, llvm::Module *llvm_module) const =0
static constexpr int64_t ret_null_val_