Class SQLTypeInfo

class SQLTypeInfo

Public Functions

SQLTypeInfo(SQLTypes t, int d, int s, bool n, EncodingType c, int p, SQLTypes st)
SQLTypeInfo(SQLTypes t, int d, int s, bool n)
SQLTypeInfo(SQLTypes t, EncodingType c, int p, SQLTypes st)
SQLTypeInfo(SQLTypes t, int d, int s)
SQLTypeInfo(SQLTypes t, bool n)
SQLTypeInfo(SQLTypes t)
SQLTypeInfo(SQLTypes t, bool n, EncodingType c)
SQLTypeInfo()
HOST DEVICE SQLTypes SQLTypeInfo::get_type() const
HOST DEVICE SQLTypes SQLTypeInfo::get_subtype() const
HOST DEVICE int SQLTypeInfo::get_dimension() const
int get_precision() const
HOST DEVICE int SQLTypeInfo::get_input_srid() const
HOST DEVICE int SQLTypeInfo::get_scale() const
HOST DEVICE int SQLTypeInfo::get_output_srid() const
HOST DEVICE bool SQLTypeInfo::get_notnull() const
HOST DEVICE EncodingType SQLTypeInfo::get_compression() const
HOST DEVICE int SQLTypeInfo::get_comp_param() const
HOST DEVICE int SQLTypeInfo::get_size() const
int is_logical_geo_type() const
int get_logical_size() const
int get_physical_cols() const
int get_physical_coord_cols() const
bool has_bounds() const
bool has_render_group() const
HOST DEVICE void SQLTypeInfo::set_type(SQLTypes t)
HOST DEVICE void SQLTypeInfo::set_subtype(SQLTypes st)
void set_dimension(int d)
void set_precision(int d)
void set_input_srid(int d)
void set_scale(int s)
void set_output_srid(int s)
void set_notnull(bool n)
void set_size(int s)
void set_fixed_size()
void set_dict_intersection()
void set_compression(EncodingType c)
void set_comp_param(int p)
std::string get_type_name() const
std::string get_compression_name() const
std::string toString() const
std::string to_string() const
std::string get_buffer_name() const
bool is_string() const
bool is_string_array() const
bool is_integer() const
bool is_decimal() const
bool is_fp() const
bool is_number() const
bool is_time() const
bool is_boolean() const
bool is_array() const
bool is_varlen_array() const
bool is_fixlen_array() const
bool is_timeinterval() const
bool is_geometry() const
bool is_column() const
bool is_column_list() const
bool is_bytes() const
bool is_buffer() const
bool transforms() const
bool is_varlen() const
bool is_varlen_indeed() const
bool is_dict_encoded_string() const
bool is_none_encoded_string() const
bool is_subtype_dict_encoded_string() const
bool is_dict_encoded_type() const
bool is_dict_intersection() const
HOST DEVICE bool SQLTypeInfo::operator!=(const SQLTypeInfo & rhs) const
HOST DEVICE bool SQLTypeInfo::operator==(const SQLTypeInfo & rhs) const
int get_array_context_logical_size() const
HOST DEVICE void SQLTypeInfo::operator=(const SQLTypeInfo & rhs)
bool is_castable(const SQLTypeInfo &new_type_info) const
bool is_numeric_scalar_auto_castable(const SQLTypeInfo &new_type_info) const

returns true if the sql_type can be cast to the type specified by new_type_info with no loss of precision. Currently only used in ExtensionFunctionsBindings to determine legal function matches, but we should consider whether we need to rationalize implicit casting behavior more broadly in QueryEngine.

int32_t get_numeric_scalar_scale() const

returns integer between 1 and 8 indicating what is roughly equivalent to the logical byte size of a scalar numeric type (including boolean + time types), but with decimals and numerics mapped to the byte size of their dimension (which may vary from the type width), and timestamps, dates and times handled in a relative fashion. Note: this function only takes the scalar numeric types above, and will throw a check for other types.

HOST DEVICE bool SQLTypeInfo::is_null(const Datum & d) const
HOST DEVICE bool SQLTypeInfo::is_null(const int8_t * val) const
HOST DEVICE bool SQLTypeInfo::is_null_fixlen_array(const int8_t * val, int array_size) const
HOST DEVICE bool SQLTypeInfo::is_null_point_coord_array(const int8_t * val, int array_size) const
SQLTypeInfo get_elem_type() const
SQLTypeInfo get_array_type() const
bool is_date_in_days() const
bool is_date() const
bool is_high_precision_timestamp() const
bool is_timestamp() const

Private Functions

HOST DEVICE int SQLTypeInfo::get_storage_size() const

Private Members

SQLTypes type
SQLTypes subtype
int dimension
int scale
bool notnull
EncodingType compression
int comp_param
int size
bool dict_intersection = {false}

Private Static Attributes

std::string type_name = {"NULL", , , , , , , , , , , , , , , , , , , , , , , , , , , , , }
std::string comp_name = {"NONE", , , , , , , }