22 #ifndef QUERYENGINE_SQLTYPESLAYOUT_H
23 #define QUERYENGINE_SQLTYPESLAYOUT_H
40 const auto agg_type = target.
agg_kind;
53 auto modified_target_type = target.
sql_type;
55 return modified_target_type;
61 const auto agg_type = target.
agg_kind;
80 return inline_int_null_value<int8_t>();
82 return inline_int_null_value<int8_t>();
84 return inline_int_null_value<int16_t>();
86 return inline_int_null_value<int32_t>();
88 return inline_int_null_value<int64_t>();
94 return inline_int_null_value<int64_t>();
97 return inline_int_null_value<int64_t>();
111 return inline_int_null_value<int32_t>();
113 return inline_int_null_value<int16_t>();
116 CHECK(
false) <<
"Unknown encoding width for date in days: "
127 return inline_int_null_value<uint8_t>();
129 return inline_int_null_value<uint16_t>();
131 return inline_int_null_value<int32_t>();
134 CHECK(
false) <<
"Unknown size for dictionary encoded type: " << ti.
get_size();
161 for (
unsigned i = 0; i < exp; ++i) {
171 throw std::runtime_error(
172 "Untyped NULL values are not supported. Please CAST any NULL "
173 "constants to a type.");
193 return sizeof(time_t) * 8;
200 throw std::runtime_error(
"Projecting on unsized array column not supported.");
212 LOG(
FATAL) <<
"Unhandled int_type: " << int_type;
221 #endif // QUERYENGINE_SQLTYPESLAYOUT_H
void set_compact_type(TargetInfo &target, const SQLTypeInfo &new_type)
const Analyzer::Expr * agg_arg(const Analyzer::Expr *expr)
HOST DEVICE int get_size() const
HOST DEVICE SQLTypes get_type() const
double inline_fp_null_val(const SQL_TYPE_INFO &ti)
const SQLTypeInfo get_compact_type(const TargetInfo &target)
size_t get_bit_width(const SQLTypeInfo &ti)
int get_logical_size() const
HOST DEVICE EncodingType get_compression() const
constexpr float inline_fp_null_value< float >()
constexpr double inline_fp_null_value< double >()
HOST DEVICE int get_comp_param() const
uint64_t exp_to_scale(const unsigned exp)
int64_t inline_int_null_val(const SQL_TYPE_INFO &ti)
int64_t inline_fixed_encoding_null_val(const SQL_TYPE_INFO &ti)
SQLTypeInfo get_elem_type() const
bool is_unsigned_type(const SQLTypeInfo &ti)
bool is_agg_domain_range_equivalent(const SQLAgg &agg_kind)